次の方法で共有


ドキュメント分析: 構造化コンテンツを抽出する

概要

Azure Content Understanding 分析機能は、非構造化データを、機械で読み取り可能な構造化された情報に変換するのに役立ちます。 構造上の関係を維持しながら要素を正確に識別して抽出することで、幅広いアプリケーションに対して強力な処理ワークフローを構築できます。

contents の種類を持つ document オブジェクトは、ドキュメント、画像、テキスト、構造化ファイルなど、さまざまな入力ファイルの出力をサポートします。 これらの出力を使用して、ファイルから意味のあるコンテンツを抽出し、ドキュメント構造を保持し、データの可能性を最大限に引き出すことができます。

ドキュメント コンテンツの種類には、次のような入力ファイルの出力が含まれます:

  • ドキュメント: PDF、Word 文書、PowerPoint プレゼンテーション、Excel スプレッドシート
  • : 写真、スキャンされたドキュメント、グラフ、および図
  • テキスト ファイル: プレーン テキスト、HTML、Markdown、RTF
  • 構造化コンテンツ: XML、JSON、CSV、TSV ファイル
  • 電子メール: EML および MSG メッセージ形式

サポートされているファイルの種類、ファイル サイズの制限、およびその他の制約の詳細については、「サービスのクォータと制限」を参照してください。

JSON 応答構造

Content Understanding API は、構造化された JSON 形式で分析結果を返します。 コンテナーの全体的な構造を次に示します。

{
  "id": "10a01d32-e21e-46e3-bb5c-361375f184de",
  "status": "Succeeded",
  "result": {
    "analyzerId": "my-analyzer",
    "apiVersion": "2025-05-01-preview",
    "createdAt": "2025-06-18T22:50:34Z",
    "warnings": [],
    "contents": [
      {
        "markdown": "# Example Document\n\n...",
        "fields": { /* extracted field values */ },
        "kind": "document",
        "startPageNumber": 1,
        "endPageNumber": 2,
        "unit": "inch",
        "pages": [ /* page-level elements */ ],
        "paragraphs": [ /* paragraph elements */ ],
        "sections": [ /* section elements */ ],
        "tables": [ /* table elements */ ],
        "figures": [ /* figure elements */ ],
        "hyperlinks": [ /* hyperlink elements */ ],
        "annotations": [ /* annotation elements */ ]
      }
    ]
  }
}

ドキュメント要素

ドキュメント分析を使用して、次のドキュメント要素を抽出できます。

すべてのコンテンツ要素とレイアウト要素が、すべてのドキュメント ファイルの種類で適用または現在サポートされているわけではありません。

Markdown コンテンツ要素

Content Understanding では、元のドキュメントの構造を保持する、豊富な形式の Markdown が生成されます。 このため、大規模言語モデルでは、AI を利用した分析および生成タスクのドキュメント コンテキストと階層関係を理解しやすくなります。 Markdown には、コンテンツとしての単語、選択マーク、バーコード、数式、画像に加えて、ビジュアル レンダリングとマシン処理の両方のセクション、テーブル、ページ メタデータも含まれています。 Content Understanding が Markdown のコンテンツ要素とレイアウト要素を表す方法に関する詳細をご確認ください。

単語

単語は、一連の文字で構成されるコンテンツ要素です。 Unicode 標準付属書 #29 では、単語の境界が定義されています。 ラテン語の場合、単語はスペースを介在さなくても句読点から分割される場合があります。 中国語などの一部の言語では、セマンティック境界で単語区切りを有効にするために補助語辞書が使用されます。 詳細については、「境界解析」を参照してください。

JSON の使用例:

{
  "words": [
    {
      "content": "Example",
      "span": {
        "length": 7
      },
      "confidence": 0.992,
      "source": "D(1,1.265,1.0836,2.4972,1.0816,2.4964,1.4117,1.2645,1.4117)"
    }
  ]
}

検出された単語を示すスクリーンショット。

選択マーク

選択マークは、選択の状態を示すビジュアル グリフを表すコンテンツ要素です。 選択マークは、チェック ボックス、チェック マーク、またはボタンとして文書に表示される場合があります。 状態を示すさまざまな視覚的表現を使用して、選択マークを選択またはクリアできます。 選択マークは、Unicode 文字 (選択) と (クリア) を使用して、ドキュメント分析結果で単語としてエンコードされます。

Content Understanding は、テーブル セル内のチェック マークを、選択した状態の選択マークとして検出します。 空のテーブル セルは、クリアされた状態の選択マークとして検出されません。

JSON の使用例:

{
  "words": [
    {
      "content": "☒",
      "span": {
        "length": 1
      },
      "confidence": 0.983,
      "source": "D(1,1.258,2.7952,1.3705,2.7949,1.371,2.9098,1.2575,2.9089)"
    }
  ]
}

検出された選択マークを示すスクリーンショット。

バーコード

バーコードは、線形 (UPC や EAN など) バーコードと 2 次元 (QR や MaxiCode など) バーコードの両方を記述するコンテンツ要素です。 Content Understanding は、検出された種類と抽出された値を使用してバーコードを表します。 現在、次のバーコード形式がサポートされています。

バーコードの種類 説明
QRCode ISO/IEC 18004:2015 で定義されている QR コード
PDF417 ISO 15438 で定義されている PDF417
UPCA GS1 12 桁のユニバーサル製品コード
UPCE GS1 6 桁のユニバーサル製品コード
Code39 ISO/IEC 16388:2007 で定義されているコード 39 バーコード
Code128 ISO/IEC 15417:2007 で定義されているコード 128 バーコード
EAN8 GS1 8 桁の国際商品番号 (ヨーロッパの記事番号)
EAN13 GS1 13 桁の国際商品番号 (ヨーロッパの記事番号)
DataBar GS1 DataBar バーコード
Code93 ANSI/AIM BC5-1995 で定義されているコード 93 バーコード
Codabar ANSI/AIM BC3-1995 で定義されている Codabar バーコード
DataBarExpanded GS1 DataBar 拡張バーコード
ITF ANSI/AIM BC2-1995 で定義されている "インターリーブ 2 オブ 5 バーコード (ITF)"
MicroQRCode ISO/IEC 23941:2022 で定義されているマイクロ QR コード
Aztec ISO/IEC 24778:2008 で定義されている Aztec コード
DataMatrix ISO/IEC 16022:2006 で定義されているデータ マトリックス コード
MaxiCode ISO/IEC 16023:2000 で定義されている MaxiCode

JSON の使用例:

{
  "barcodes": [
    {
      "kind": "Code39",
      "value": "Hello World",
      "source": "D(1,2.5738,4.8186,3.8617,4.8153,3.8621,4.9894,2.5743,4.9928)",
      "span": {"offset": 192, "length": 10 },
      "confidence": 0.977
    }
  ]
}

数式

数式は、ドキュメント内の数式を表すコンテンツ要素です。 他のテキストと一緒に埋め込まれたインライン式や、行全体を占めた表示数式である可能性があります。 複数行の数式は、数学的リレーションシップを保持するために段落にグループ化された複数の表示数式要素として表されます。

数式は、ドキュメント内の数式の配置に応じて inline または display できます。

JSON の使用例:

{
  "formulas": [
    {
      "kind": "inline",
      "value": "x = \\frac { - b \\pm \\sqrt { b ^ { 2 } - 4 a c } } { 2 a }",
      "confidence": 0.708,
      "source": "D(1,3.4282,7.0195,4.0452,7.0307,4.0425,7.1803,3.4255,7.1691)",
      "span": {
        "offset": 394,
        "length": 51
      }
    }
  ]
}

図形

は、ドキュメント内の埋め込み画像、図、またはグラフを表すコンテンツ要素です。 Content Understanding は、検出された図形の概要を生成し、選択した画像を chart.js 表現に変換し、画像と関連するキャプションと脚注から埋め込まれたテキストを抽出します。 グラフは chart.js 構文を使用して図のコンテンツで表され、図は人魚構文の文字列を使用して図の内容で表されます。 これは、enableFigureAnalysisとしてenableFigureDescriptiontrueを設定することで、アナライザー構成で有効にできるオプションの機能です。

現在、次の図の種類がサポートされています。

図の種類 [表記]
Bar chart Chart.js
Line chart Chart.js
Pie chart Chart.js
Radar chart Chart.js
Scatter chart Chart.js
Bubble chart Chart.js
Quadrant chart Chart.js
Mixed chart (e.g. combined bar and line chart) Mermaid.js
Flow chart Mermaid.js
Sequence diagrams Mermaid.js
Gantt chart Mermaid.js

JSON の使用例:

{
  "figures": [
     {
      // enableFigureDescription = True
      "description": "This figure illustrates the sales revenue over the year 2023.",

      // enableFigureAnalysis = True
      "kind": "chart",
      "content": {
        "type": "line",
        "data": {
          "labels": ["January", "February", "March", "April", "May", "June", "July"],
          "datasets": [
            {
              "label": "A",
              "data": [93, -29, -17, -8, 73, 98, 40]
            },
            {
              "label": "B",
              "data": [20, 85, -79, 93, 27, -81, -22]
            }
          ]
        },
        "options": {
          "title": { "text": "Title" }
        }
      }
    },
    {
      "kind": "mermaid",
      "content": "xychart-beta\n    title \"Sales Revenue\"\n    x-axis [jan, feb, mar, apr]..."
    },
  ]
}

ハイパーリンクは、ドキュメント内の Web ページなどの別のリソースに接続する埋め込みリンクを表すコンテンツ要素です。 Content Understanding は、埋め込みリンクを使用してハイパーリンクを表します。

JSON の使用例:

{
  "hyperlinks": [
        {
          "content": "Microsoft",
          "url": "https://www.microsoft.com",
          "span": {...},
          "source": "..."
        }
  ]
}

Annotations

注釈 は、メイン コンテンツ自体を変更することなく、追加情報、明確化、またはフィードバックを提供するための、ドキュメント上の追加のメタデータです。 コンテンツの特定のスパンを指定したり、特定の境界ボックスを参照したりできる注釈には、多くの種類があります。 サポートされている注釈の種類の一覧を次に示します。

注釈は現在、デジタル PDF 入力でのみサポートされていることに注意してください。

注釈の種類
highlight
underline
strikethrough
rectangle
circle
drawing
comments
other

JSON の使用例:

{
  "annotations": [
    {
      "id": "underline-1",
      "kind": "underline",
      "spans": [...],
      "source": "D(pageNumber,l,t,w,h)",
      "comments": [
        {
          "message": "Hi",
          "author": "johndoe",
          "createdAt": "2023-10-01T12:00:00Z",
          "tags": ["approved"]
        }
      ]
      "author": "paulhsu",
      "createdAt": "2023-10-01T12:00:00Z",
      "lastModifiedAt": "2023-10-02T12:00:00Z",
      "tags": [ ... ],
    }
  ]
}

レイアウト要素

ドキュメント レイアウト要素は、コンテンツの解釈に役立つ、ページ、テーブル、段落、線、テーブル、セクション、全体的な構造などの視覚的および構造コンポーネントです。 これらの要素を抽出すると、ツールは、情報の取得、セマンティック理解、データ構造化などのタスクに対してドキュメントを効率的に分析できます。

ページ

ページは、コンテンツのグループ化であり、通常、紙の片面に対応します。 レンダリングされたページは、指定した単位の幅と高さによって特徴付けられます。 一般に、画像ではピクセルが使用され、PDF ではインチが使用されます。 angle プロパティは、回転するページの全体的なテキスト角度を度単位で表します。

Excel などのスプレッドシートの場合、各シートはページにマップされます。 PowerPoint などのプレゼンテーションの場合、各スライドはページにマップされます。 レンダリングなしのネイティブ ページの概念がない HTML や Word 文書などのファイル形式の場合、メイン コンテンツ全体が 1 ページとして扱われます。

JSON の使用例:

{
  "pages": [
    {
      "pageNumber": 1,
      "angle": 0.0739153,
      "width": 8.5,
      "height": 11,
      "spans": [
        {
          "offset": 0,
          "length": 620
        }
      ],
      "words": [ /* array of word objects */ ],
      "barcodes": [ /* details of barcodes */ ],
      "lines": [ /* array of line objects */ ],
      "formulas": [ /* array of formula objects */ ]
    }
  ]
}

段落

段落は、論理単位を形成する行の順序付けされたシーケンスです。 通常、行の配置と間隔は、行間で共通しています。 多くの場合、段落はインデント、追加された間隔、箇条書きまたは行番号で区切られます。 一部の段落には、ドキュメント内に特別な機能ロールがあります。 現在サポートされているロールには、ページ ヘッダー、ページ フッター、ページ番号、タイトル、セクション見出し、脚注、および数式ブロックが含まれます。

JSON の使用例:

{
  "paragraphs": [
    {
      "role": "title",
      "content": "Example Document",
      "source": "D(1,1.264,1.0836,4.1584,1.0795,4.1589,1.4083,1.2644,1.4124)",
      "span": {
        "offset": 0,
        "length": 18
      }
    }
  ]
}

路線

とは、連続するコンテンツ要素の順序付き列であり、視覚的なスペースで区切られることがよくあります。 同じ水平平面 (行) 内のコンテンツ要素が、1 つ以上の視覚空間で区切られているコンテンツ要素は、多くの場合、複数の行に分割されます。 この機能は、セマンティックに連続するコンテンツを別々の行に分割することがあります。 また、複数の列またはセルに分割されたテキスト コンテンツの表現も可能になります。 縦書きの行は、縦方向に検出されます。

JSON の使用例:

{
  "lines": [
    {
      "content": "Example Document",
      "source": "D(1,1.264,1.0836,4.1583,1.0795,4.1589,1.4083,1.2645,1.4117)",
      "span": {
        "offset": 0,
        "length": 16
      }
    }
  ]
}

テーブルは、コンテンツをグリッド レイアウト内のセルのグループに編成します。 行と列は、グリッド線、色の縞模様、または大きな間隔で視覚的に区切られる場合があります。 テーブルのセルの位置は、行と列のインデックスによって指定されます。 セルは複数の行と列にまたがることができます。

セルは、その位置とスタイルに基づいて、一般的なコンテンツ、行ヘッダー、列ヘッダー、スタブ ヘッド、または説明として分類できます:

  • 行ヘッダー セルは通常、行の最初のセルであり、行内の他のセルの説明です。
  • 列ヘッダー セルは通常、列の最初のセルであり、列内の他のセルの説明です。
  • 1 つの行または列に複数のヘッダー セルを含め、階層コンテンツを記述できます。
  • スタブ ヘッド セルは通常、最初の行と最初の列の位置にあるセルです。 セルが空であるか、同じ行/列のヘッダー セルの値を記述します。
  • 説明セルは、通常、テーブルの上端または最下部に表示され、テーブル全体の内容を説明します。 ただし、テーブルをセクションに分割するために、テーブルの中央に表示される場合があります。 通常、説明セルは 1 つの行の複数のセルにまたがって表示されます。

テーブル キャプションは、テーブルを説明するコンテンツを指定します。 テーブルには脚注のセットを含めることもできます。 説明セルとは異なり、キャプションは通常、グリッド レイアウトの外にあります。 テーブル脚注は、テーブル内のコンテンツに注釈を付け、脚注記号でマークされることがよくあります。 多くの場合、テーブル グリッドの下にあります。

テーブルは、ドキュメントの連続するページにまたがることがあります。 このような状況では、後続のページのテーブルの継続は、通常、同じ列数、幅、およびスタイル設定を維持します。 列ヘッダーが繰り返されることがよくあります。 通常、ページ ヘッダー、フッター、ページ番号を除き、最初のテーブルとその継続の間に介在するコンテンツはありません。

テーブルは、ドキュメントの連続するページにまたがることがあります。 このような状況では、後続のページのテーブルの継続は、通常、同じ列数、幅、およびスタイル設定を維持します。 列ヘッダーが繰り返されることがよくあります。 ページ ヘッダー、フッター、ページ番号以外に、通常、最初のテーブルとその継続の間に介在するコンテンツはありません。

テーブルのスパンは、コア コンテンツとそれに関連付けられているキャプションと脚注の両方をカバーします。

JSON の使用例:

{
  "tables": [
    {
      "rowCount": 6,
      "columnCount": 2,
      "cells": [
        {
          "kind": "columnHeader",
          "rowIndex": 0,
          "columnIndex": 0,
          "rowSpan": 1,
          "columnSpan": 1,
          "content": "Category",
          "source": "D(2,1.1674,5.0483,4.1733,5.0546,4.1733,5.2358,1.1674,5.2358)",
          "span": {
            "offset": 798,
            "length": 8
          },
          "elements": [
            "/paragraphs/7"
          ]
        }
      ],
      "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
      "span": {
        "offset": 781,
        "length": 280
      },
      "caption": {
        "content": "Table 1: This is a table",
        "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
        "span": {
          "offset": 335,
          "length": 30
        }
      }
    }
  ]
}

レイアウト機能を使用するテーブルを示すスクリーンショット。

セクション

セクションは、ドキュメント内の階層構造を形成する関連コンテンツ要素の論理的なグループです。 多くの場合、最初の段落としてセクション見出しから始まります。 セクションには、セマンティック リレーションシップを保持する入れ子になったドキュメント構造を作成するためのサブセクションが含まれている場合があります。

JSON の使用例:

{
  "sections": [
    {
      "span": {
        "offset": 113,
        "length": 77
      },
      "elements": [
        "/paragraphs/3",
        "/paragraphs/4"
      ]
    }
  ]
}

要素のプロパティ

ドキュメントは、構造、テキスト、およびフォーム関連の要素に分類されるさまざまなコンポーネントで構成されます。 これらの要素は、ドキュメントの組織とプレゼンテーションを定義します。 詳細な分析やアプリケーションのために、要素を体系的に識別して抽出できます。

スパン

span プロパティは、最上位レベルの文字列プロパティへの文字オフセットと長さを使用して、ドキュメント内の要素の論理位置markdown指定します。 既定では、文字オフセットと長さは、Python 3 で使用される Unicode コード ポイントで返されます。 異なる文字単位を使用するさまざまな開発環境に対応するために、stringEncoding クエリ パラメーターを指定して、UTF16 コード 単位 (Java、JavaScript、または .NET) または UTF8 バイト (Go、Rust、Ruby、PHP) でスパン オフセットと長さを返すことができます。

情報源

source プロパティは、エンコードされた文字列を使用して、ファイル内の要素の視覚的な位置を記述します。 ドキュメントの場合、ソース文字列は次のいずれかの形式になります:

  • 境界ポリゴン: D({pageNumber},{x1},{y1},{x2},{y2},{x3},{y3},{x4},{y4})
  • 軸平行境界ボックス: D({pageNumber},{left},{top},{width},{height})

ページ番号にはインデックスが 1 つ付けられます。 境界ポリゴンは、要素の自然な向きに対して左から時計回りに、ポイントの順番を示します。 四角形の場合、ポイントは左上、右上、右下、左下の角を表します。 各ポイントは、unit プロパティで指定された長さ単位の x、y 座標を表します。 一般に、画像の測定単位はピクセルです。 PDF ではインチが使用されます。

検出された境界リージョンを示すスクリーンショット。

現在、Content Understanding は境界ポリゴンとして 4 点の四辺形のみを返します。 将来のバージョンでは、曲線や四角形以外の画像など、より複雑な図形を表すために異なる数のポイントが返される可能性があります。 現在、ソースはレンダリングされたファイル (PDF/イメージ) の要素に対してのみ返されます。

完全な JSON の例

次の例は、ドキュメントの分析による完全な JSON 応答構造を示しています。 この JSON は、複数の要素の種類を持つ PDF ドキュメントを処理するときの Content Understanding からの完全な出力を表します:

チェック ボックス、バーコード、数式、画像、テーブルなどのサンプル コンテンツを示すデモ PDF ドキュメントを示すスクリーンショット。

{
  "id": "10a01d32-e21e-46e3-bb5c-361375f184de",
  "status": "Succeeded",
  "result": {
    "analyzerId": "auto-labeling-model-1750287025291-104",
    "apiVersion": "2025-05-01-preview",
    "createdAt": "2025-06-18T22:50:34Z",
    "warnings": [],
    "contents": [
      {
        "markdown": "# Example Document\n\n\n## 1. Selection Marks (Checkboxes)\n\nEmployee Preferences Form\n☐\nRemote\n☒\nHybrid\n☐\nOn-site\n\n\n## 2. Barcodes\n\nGo check out Azure Content Understanding at the below link\n\n\n## 3. Formulas\n\nBayesian Inference (Posterior Probability):\n\n$$P \\left( \\theta \\mid D \\right) = \\frac { P \\left( D \\mid \\theta \\right) \\cdot P \\left( \\theta \\right) } { P \\left( D \\right) }$$\n\nWhere:\n\n$$P \\left( \\theta \\mid D \\right)$$\nis the posterior\n\n$P \\left( D \\mid \\theta \\right)$ is the likelihood\n$P \\left( \\theta \\right)$ is the prior\n\n$$P \\left( D \\right) i s \\quad t h e \\quad e v i d e n c e$$\n\n<!-- PageBreak -->\n\n\n## 4. Images\n\nSample Product Image\n\n\n<figure>\n\nContent\nUnderstanding\n\n</figure>\n\n\nImage Description: \"A ceramic coffee mug with company logo.\"\n\n\n## 5. Tables\n\n\n<table>\n<tr>\n<th>Category</th>\n<th>Amount ($)</th>\n</tr>\n<tr>\n<td>Rent</td>\n<td>1,200</td>\n</tr>\n<tr>\n<td>Utilities</td>\n<td>150</td>\n</tr>\n<tr>\n<td>Groceries</td>\n<td>300</td>\n</tr>\n<tr>\n<td>Transportation</td>\n<td>100</td>\n</tr>\n<tr>\n<td>Total</td>\n<td>1,750</td>\n</tr>\n</table>\n\n\n## 6. Paragraphs\n\nOur company is committed to fostering a productive and inclusive work environment. All\nemployees are expected to comply with the outlined policies and demonstrate mutual\nrespect in day-to-day operations. Regular reviews will ensure that these policies remain\nrelevant and effective.\n",
        "fields": {
          "EmployeePreferences": {
            "type": "string",
            "valueString": "Hybrid",
            "spans": [
              {
                "offset": 94,
                "length": 6
              }
            ],
            "confidence": 0.987,
            "source": "D(1,1.4104,2.7836,1.8760,2.7823,1.8760,2.9377,1.4110,2.9396)"
          },
          "ImageDescription": {
            "type": "string",
            "valueString": "\"A ceramic coffee mug with company logo.\"",
            "spans": [
              {
                "offset": 722,
                "length": 41
              }
            ],
            "confidence": 0.958,
            "source": "D(2,2.5222,4.2511,5.3236,4.2497,5.3237,4.4422,2.5223,4.4436)"
          }
        },
        "kind": "document",
        "startPageNumber": 1,
        "endPageNumber": 2,
        "unit": "inch",
        "pages": [
          {
            "pageNumber": 1,
            "angle": 0.0739153,
            "width": 8.5,
            "height": 11,
            "spans": [
              {
                "offset": 0,
                "length": 620
              }
            ],
            "words": [
              {
                "content": "Example",
                "span": {
                  "length": 7
                },
                "confidence": 0.992,
                "source": "D(1,1.265,1.0836,2.4972,1.0816,2.4964,1.4117,1.2645,1.4117)"
              },
              {
                "content": "Document",
                "span": {
                  "length": 8
                },
                "confidence": 0.996,
                "source": "D(1,2.6252,1.084,4.1615,1.0886,4.1615,1.3993,2.6241,1.4117)"
              },
              {
                "content": "☒",
                "span": {
                  "length": 1
                },
                "confidence": 0.983,
                "source": "D(1,1.258,2.7952,1.3705,2.7949,1.371,2.9098,1.2575,2.9089)"
              },
              {
                "content": "Hybrid",
                "span": {
                  "length": 6
                },
                "confidence": 0.996,
                "source": "D(1,1.4104,2.7836,1.876,2.7823,1.876,2.9377,1.411,2.9396)"
              }
            ],
            "lines": [
              {
                "content": "Example Document",
                "source": "D(1,1.264,1.0836,4.1583,1.0795,4.1589,1.4083,1.2645,1.4117)",
                "span": {
                  "offset": 0,
                  "length": 16
                }
              }
            ],
            "formulas": [
              {
                "confidence": 0.583
              },
              {
                "confidence": 0.708
              }
            ]
          },
          {
            "pageNumber": 2,
            "angle": 0.1008425,
            "width": 8.5,
            "height": 11,
            "spans": [
              {
                "offset": 620,
                "length": 744
              }
            ],
            "words": [
              {
                "content": "Images",
                "source": "D(2,1.4516,1.0434,2.0254,1.0463,2.0254,1.229,1.4506,1.224)"
              },
              {
                "content": "ceramic",
                "source": "D(2,2.5230,4.2539,2.6591,4.2543,2.6584,4.4392,2.5223,4.4407)"
              }
            ],
            "lines": [
              {
                "content": "4. Images",
                "source": "D(2,1.24,1.0409,2.0238,1.0463,2.0226,1.2284,1.2387,1.223)"
              }
            ]
          }
        ],
        "paragraphs": [
          {
            "role": "title",
            "content": "Example Document",
            "source": "D(1,1.264,1.0836,4.1584,1.0795,4.1589,1.4083,1.2644,1.4124)",
            "span": {
              "offset": 0,
              "length": 18
            }
          },
          {
            "role": "sectionHeading",
            "content": "1. Selection Marks (Checkboxes)",
            "source": "D(1,1.2461,1.8719,3.8532,1.8731,3.8531,2.065,1.246,2.0638)",
            "span": {
              "offset": 21,
              "length": 34
            }
          },
          {
            "content": "Employee Preferences Form ☐ Remote ☒ Hybrid ☐ On-site",
            "source": "D(1,1.246,2.0993,3.1019,2.1007,3.101,3.2724,1.2451,3.2709)",
            "span": {
              "offset": 57,
              "length": 53
            }
          }
        ],
        "sections": [
          {
            "span": {
              "offset": 0,
              "length": 1364
            },
            "elements": [
              "/paragraphs/0",
              "/sections/1",
              "/sections/2",
              "/sections/3",
              "/sections/4",
              "/sections/5",
              "/sections/6"
            ]
          },
          {
            "span": {
              "offset": 21,
              "length": 89
            },
            "elements": [
              "/paragraphs/1",
              "/paragraphs/2"
            ]
          }
        ],
        "tables": [
          {
            "rowCount": 6,
            "columnCount": 2,
            "cells": [
              {
                "kind": "columnHeader",
                "rowIndex": 0,
                "columnIndex": 0,
                "rowSpan": 1,
                "columnSpan": 1,
                "content": "Category",
                "source": "D(2,1.1674,5.0483,4.1733,5.0546,4.1733,5.2358,1.1674,5.2358)",
                "span": {
                  "offset": 798,
                  "length": 8
                }
              },
              {
                "kind": "columnHeader",
                "rowIndex": 0,
                "columnIndex": 1,
                "rowSpan": 1,
                "columnSpan": 1,
                "content": "Amount ($)",
                "source": "D(2,4.1733,5.0546,7.1668,5.0546,7.1668,5.2358,4.1733,5.2358)",
                "span": {
                  "offset": 816,
                  "length": 10
                }
              }
            ],
            "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
            "span": {
              "offset": 781,
              "length": 280
            }
          }
        ],
        "figures": [
          {
            "source": "D(2,1.3465,1.8481,3.4788,1.8484,3.4779,3.8286,1.3456,3.8282)",
            "span": {
              "offset": 658,
              "length": 42
            },
            "elements": [
              "/paragraphs/14"
            ],
            "id": "2.1"
          }
        ]
      }
    ]
  }
}

この完全な例では、Content Understanding がドキュメントからすべての異なる要素の種類を抽出および構造する方法を示します。 これは、生のコンテンツと、高度なドキュメント処理ワークフローを可能にする詳細な位置情報と構造情報の両方を提供します。