このコンテンツは適用対象:
v4.0 (GA) | 以前のバージョン:
v3.1 (GA)
v3.0 (廃止)
v2.1 (廃止)
Foundry Tools レイアウト モデルの Azure ドキュメント インテリジェンスは、機械学習に基づく高度なドキュメント分析 API です。 このモデルは、ドキュメント インテリジェンス クラウドで使用できます。 これを使用して、さまざまな形式のドキュメントを取得し、ドキュメントの構造化データ表現を返すことができます。 このモデルは、強化されたバージョンの強力な 光学式文字認識 (OCR) 機能とディープ ラーニング モデルを組み合わせて、テキスト、テーブル、選択マーク、およびドキュメント構造を抽出します。
ドキュメント構造のレイアウト分析
ドキュメント構造レイアウト分析は、ドキュメントを分析して関心のある領域とその相互関係を抽出するプロセスです。 目標は、ページからテキストと構造要素を抽出して、より良いセマンティック理解モデルを構築することです。 ドキュメント レイアウトには、次の 2 種類のロールがあります。
- ジオメトリック ロール: テキスト、テーブル、図形、および選択マークは、ジオメトリック ロールの例です。
- 論理ロール: タイトル、見出し、フッターは、テキストの論理ロールの例です。
次の図は、サンプル ページの画像の一般的なコンポーネントを示しています。
開発オプション
ドキュメント インテリジェンス v4.0: 2024-11-30 (GA) では、次のツール、アプリケーション、およびライブラリがサポートされています。
| 機能 | リソース | モデル ID |
|---|---|---|
| レイアウト モデル | • Document Intelligence Studio • REST API • C# SDK• Python SDK • Java SDK • JavaScript SDK |
prebuilt-layout |
サポートされている言語
サポートされている言語の完全な一覧については、「 言語サポート: ドキュメント分析モデル」を参照してください。
サポートされているファイルの種類
ドキュメント インテリジェンス v4.0: 2024-11-30 (GA) レイアウト モデルでは、次のファイル形式がサポートされています。
| モデル | 画像: JPEG/JPG、PNG、BMP、TIFF、HEIF |
Office: Word (DOCX)、Excel (XLS)、PowerPoint (PPTX)、HTML |
|
|---|---|---|---|
| レイアウト | ✔ | ✔ | ✔ |
入力要件
- 写真とスキャン: 最良の結果を得るには、ドキュメントごとに 1 つの明確な写真または高品質のスキャンを提供します。
- PDF とTIFF: PDF とTIFF の場合、最大 2,000 ページを処理できます。 (Free レベルのサブスクリプションでは、最初の 2 ページのみが処理されます)。
- パスワード ロック: PDF がパスワードロックされている場合は、提出前にロックを解除する必要があります。
- ファイル サイズ: ドキュメントを分析するためのファイル サイズは、有料 (S0) レベルでは 500 MB、Free (F0) レベルでは 4 MB です。
- 画像のサイズ: 画像のサイズは、50 ピクセル x 50 ピクセルから 10,000 ピクセル x 10,000 ピクセルの間である必要があります。
- テキストの高さ: 抽出するテキストの最小高さは、1024 x 768 ピクセルの画像で 12 ピクセルです。 このディメンションは、1 インチあたり 150 ドットの約 8 ポイントのテキストに対応します。
- カスタム モデル トレーニング: トレーニング データの最大ページ数は、カスタム テンプレート モデルの場合は 500 ページ、カスタム ニューラル モデルの場合は 50,000 ページです。
- カスタム抽出モデルトレーニング: トレーニング データの合計サイズは、テンプレート モデルの場合は 50 MB、ニューラル モデルの場合は 1 GB です。
- カスタム分類モデル トレーニング: トレーニング データの合計サイズは 1 GB で、最大 10,000 ページです。 2024-11-30 (GA) の場合、トレーニング データの合計サイズは 2 GB で、最大 10,000 ページです。
- Office ファイルの種類 (DOCX、XLSX、PPTX): 文字列の最大長の制限は 800 万文字です。
モデルの使用、クォータ、サービスの制限の詳細については、「 サービスの制限」を参照してください。
レイアウトモデルを始めましょう
ドキュメント インテリジェンスを使用して、テキスト、テーブル、テーブル ヘッダー、選択マーク、構造情報などのデータをドキュメントから抽出する方法について説明します。 次のリソースが必要です。
Azure サブスクリプション。 無料で 作成できます。
Azure ポータルの Document Intelligence インスタンス。 無料価格レベル (F0) を使用して、サービスを試すことができます。 リソースがデプロイされたら、[ リソースに移動 ] を選択してキーとエンドポイントを取得します。
キーとエンドポイントを取得したら、次の開発オプションを使用して、ドキュメント インテリジェンス アプリケーションをビルドしてデプロイします。
データ抽出
レイアウト モデルは、ドキュメントから構造要素を抽出します。 この記事の残りの部分では、次の構造要素と、ドキュメント入力から抽出する方法に関するガイダンスについて説明します。
Document Intelligence Studio 内でサンプル レイアウト ドキュメント分析を実行します。 次に、結果タブに移動し、完全な JSON 出力にアクセスします。
ページ
pages コレクションは、ドキュメント内のページの一覧です。 各ページはドキュメント内で順番に表され、ページが回転しているかどうかを示す方向の角度と、幅と高さ (ピクセル単位の寸法) が含まれます。 モデル出力のページ単位は、次の表に示すように計算されます。
| ファイル形式 | 計算されたページ単位 | 合計ページ数 |
|---|---|---|
| 画像 (JPEG/JPG、PNG、BMP、HEIF) | 各画像 = 1 ページ単位。 | 合計画像数 |
| PDF の各ページ = 1 ページ単位。 | PDF の合計ページ数 | |
| TIFF | TIFF の各画像 = 1 ページ単位。 | TIFF の合計画像数 |
| Word (DOCX) | 最大 3,000 文字 = 1 ページ単位。 埋め込みイメージまたはリンクされたイメージはサポートされていません。 | 最大 3,000文字のページ数の合計 |
| Excel (XLSX) | 各ワークシート = 1 ページ単位。 埋め込みイメージまたはリンクされたイメージはサポートされていません。 | 合計ワークシート数 |
| PowerPoint (PPTX) | 各スライド = 1 ページ単位。 埋め込みイメージまたはリンクされたイメージはサポートされていません。 | 合計スライド数 |
| HTML | 最大 3,000 文字 = 1 ページ単位。 埋め込みイメージまたはリンクされたイメージはサポートされていません。 | 最大 3,000文字のページ数の合計 |
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
選択したページを抽出する
大規模なマルチページ ドキュメントの場合は、 pages クエリ パラメーターを使用して、テキスト抽出用の特定のページ番号またはページ範囲を示します。
段落
レイアウト モデルは、 paragraphs コレクション内で識別されたすべてのテキスト ブロックを、 analyzeResultsの最上位オブジェクトとして抽出します。 このコレクション内の各エントリはテキスト ブロックを表し、抽出されたテキストを content および境界 polygon 座標として含めます。
spans情報は、ドキュメントのフルテキストを含む最上位contentプロパティ内のテキスト フラグメントを指します。
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
}
]
段落の役割
機械学習に基づく新しいページ オブジェクト検出では、タイトル、セクション見出し、ページ ヘッダー、ページ フッターなどの論理ロールが抽出されます。 ドキュメント インテリジェンス レイアウト モデルは、 paragraphs コレクション内の特定のテキスト ブロックに、モデルによって予測される特殊なロールまたは型を割り当てます。
非構造化ドキュメントで段落ロールを使用して、抽出されたコンテンツのレイアウトを理解し、より充実したセマンティック分析を行うのに役立てることができます。 次の段落の役割がサポートされています。
| 予測されたロール | 説明 | サポートされているファイルの種類 |
|---|---|---|
title |
ページのメイン見出し | PDF、画像、DOCX、PPTX、XLSX、HTML |
sectionHeading |
ページ上の 1 つ以上の小見出し | PDF、画像、DOCX、XLSX、HTML |
footnote |
ページの下部付近のテキスト | PDF、画像 |
pageHeader |
ページの上端付近のテキスト | PDF、画像、DOCX |
pageFooter |
ページの下端付近のテキスト | PDF、画像、DOCX、PPTX、HTML |
pageNumber |
ページ番号 | PDF、画像 |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
テキスト、行、および単語
ドキュメント インテリジェンスのドキュメント レイアウト モデルでは、印刷と手書きスタイルのテキストが lines および wordsとして抽出されます。
styles コレクションには、行の手書きスタイル (検出された場合) と、それに関連付けられたテキストを指すスパンが含まれます。 この機能は、 サポートされている手書き言語に適用されます。
Microsoft Word、Excel、PowerPoint、HTML の場合、ドキュメント インテリジェンス v4.0 2024-11-30 (GA) レイアウト モデルでは、埋め込みテキストがすべてそのまま抽出されます。 テキストは単語と段落として抽出されます。 埋め込みイメージはサポートされていません。
# Analyze lines.
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{line.polygon}'"
)
# Analyze words.
for word in words:
print(f"......Word '{word.content}' has a confidence of {word.confidence}")
テキスト行の手書きスタイル
応答には、各テキスト行が手書きのスタイルであるかどうかを、信頼度スコアと共に含めます。 詳細については、「 手書き言語のサポート」を参照してください。 次の例は、JSON スニペットの例を示しています。
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
フォント/スタイル アドオン機能を有効にすると、styles オブジェクトの一部としてフォント/スタイルの結果も取得されます。
選択マーク
レイアウト モデルでは、ドキュメントから選択マークも抽出されます。 抽出された選択マークは、各ページの pages コレクション内に表示されます。 これには、境界 polygon、confidence、および選択 state (selected/unselected) が含まれます。 テキスト表現 (つまり、:selected:と:unselected) は、開始インデックス (offset) およびドキュメントのフルテキストを含む最上位lengthプロパティを参照するcontentとしても含まれます。
# Analyze selection marks.
if page.selection_marks:
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
)
テーブル
テーブルの抽出は、通常、テーブルとして書式設定された大量のデータを含むドキュメントを処理するための重要な要件です。 レイアウト モデルは、JSON 出力の pageResults セクションのテーブルを抽出します。 抽出されたテーブル情報には、列と行の数、行スパン、列スパンが含まれます。
境界ポリゴンを持つ各セルは、エリアが columnHeader として認識されているかどうかに関する情報と共に出力されます。 このモデルでは、回転されるテーブルの抽出がサポートされています。 各テーブル セルには、行と列のインデックスと境界ポリゴン座標が含まれています。 セル テキストの場合、モデルは開始インデックス (span) を含むoffset情報を出力します。 モデルは、ドキュメントのフルテキストを含む最上位レベルのコンテンツ内の length も出力します。
ドキュメント インテリジェンス のベール抽出機能を使用する場合に考慮すべきいくつかの要因を次に示します。
- 抽出するデータはテーブルとして表示され、テーブル構造は意味がありますか?
- データがテーブル形式でない場合、データは 2 次元グリッドに収まりますか?
- テーブルは複数のページにまたがっていますか? その場合は、すべてのページにラベルを付ける必要がないように、ドキュメント インテリジェンスに送信する前に PDF をページに分割します。 分析後、ページを 1 つのテーブルにポストプロセスします。
- カスタム モデルを作成する場合は、 表形式フィールド を参照してください。 動的テーブルには、各列の可変数の行があります。 固定テーブルには、各列の行数が一定です。
メモ
入力ファイルが XLSX の場合、テーブル分析はサポートされません。 2024-11-30 (GA) の場合、図と表の境界領域はコア コンテンツのみをカバーし、関連するキャプションと脚注を除外します。
if result.tables:
for table_idx, table in enumerate(result.tables):
print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
if table.bounding_regions:
for region in table.bounding_regions:
print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
# Analyze cells.
for cell in table.cells:
print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
if cell.bounding_regions:
for region in cell.bounding_regions:
print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")
Markdown 形式への出力応答
レイアウト API は、抽出されたテキストを Markdown 形式で出力できます。
outputContentFormat=markdownを使用して、Markdown で出力形式を指定します。 Markdown コンテンツは、 content セクションの一部として出力されます。
メモ
v4.0 2024-11-30 (GA) では、テーブルの表現が HTML テーブルに変更され、結合されたセルや複数行ヘッダーなどの項目のレンダリングが可能になります。 もう 1 つの関連する変更は、 :selected: と☐ :unselected:の代わりに Unicode チェック ボックス文字☒と選択マークを使用することです。 この更新は、選択マーク フィールドのスパンは最上位レベルのスパンの Unicode 文字を参照しているものの、その内容には :selected: が含まれることを意味します。 Markdown 要素の完全な定義については、 Markdown 出力形式を参照してください。
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
数字
ドキュメント内の図 (グラフと画像) は、テキスト コンテンツを補完および拡張する上で重要な役割を果たします。 これらは、複雑な情報の理解に役立つ視覚的表現を提供します。 レイアウト モデルによって検出された figures オブジェクトには、次のような重要なプロパティがあります。
-
boundingRegions: 図面ページ上の図形の空間位置 (ページ番号と、図形の境界を囲む多角形座標を含む)。 -
spans: ドキュメントのテキスト内でのオフセットと長さを指定する、図に関連するテキスト スパン。 この接続は、図形を関連するテキスト コンテキストに関連付けるのに役立ちます。 -
elements: 図に関連または説明する文書内のテキスト要素または段落の識別子。 -
caption: 存在する場合の説明。
初期分析操作中に output=figures が指定されると、サービスは、 /analyeResults/{resultId}/figures/{figureId}経由でアクセスできる検出されたすべての図形のトリミングされた画像を生成します。
FigureId値は、{pageNumber}.{figureIndex}がページごとに 1 つにリセットされるfigureIndexの文書化されていない規則に従って、各図オブジェクトに含まれる ID です。
v4.0 2024-11-30 (GA) の場合、図と表の境界領域はコア コンテンツのみをカバーし、関連するキャプションと脚注を除外します。
# Analyze figures.
if result.figures:
for figures_idx,figures in enumerate(result.figures):
print(f"Figure # {figures_idx} has the following spans:{figures.spans}")
for region in figures.bounding_regions:
print(f"Figure # {figures_idx} location on page:{region.page_number} is within bounding polygon '{region.polygon}'")
セクション
階層型ドキュメント構造分析は、広範なドキュメントの整理、理解、および処理において極めて重要です。 このアプローチは、理解力を高め、ナビゲーションを容易にし、情報の取得を改善するために、長いドキュメントを意味的にセグメント化するために不可欠です。 ドキュメント生成 AI における 検索拡張生成 (RAG) の出現は、階層型ドキュメント構造分析の重要性を強調しています。
レイアウト モデルでは、各セクション内のセクションとオブジェクトの関係を識別する、出力内のセクションとサブセクションがサポートされています。 階層構造は、セクションごとに elements に保持されます。
Markdown 形式への出力応答を使用すると、Markdown でセクションとサブセクションを簡単に取得できます。
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
このコンテンツの適用対象:
v2.1 | Latest version:
v4.0 (GA)
ドキュメント インテリジェンス レイアウト モデルは、高度なドキュメント分析 API です。 モデルは機械学習に基づいており、ドキュメント インテリジェンス クラウドで使用できます。 これを使用して、さまざまな形式のドキュメントを取得し、ドキュメントの構造化データ表現を返すことができます。 強化されたバージョンの強力な OCR 機能とディープ ラーニング モデルが組み合わせられています。 これを使用して、テキスト、テーブル、選択マーク、およびドキュメント構造を抽出できます。
ドキュメント レイアウト分析
ドキュメント構造レイアウト分析は、ドキュメントを分析して関心のある領域とその相互関係を抽出するプロセスです。 目標は、ページからテキストと構造要素を抽出して、より良いセマンティック理解モデルを構築することです。 ドキュメント レイアウトには、次の 2 種類のロールがあります。
- ジオメトリック ロール: テキスト、テーブル、図形、および選択マークは、ジオメトリック ロールの例です。
- 論理ロール: タイトル、見出し、フッターは、テキストの論理ロールの例です。
次の図は、サンプル ページの画像の一般的なコンポーネントを示しています。
サポートされている言語とロケール
サポートされている言語の完全な一覧については、「 言語サポート: ドキュメント分析モデル」を参照してください。
ドキュメント インテリジェンス v2.1 では、次のツール、アプリケーション、およびライブラリがサポートされています。
| 機能 | リソース |
|---|---|
| レイアウト モデル | • ドキュメント インテリジェンス ラベル付けツール • REST API • クライアント ライブラリ SDK • ドキュメント インテリジェンス Docker コンテナー |
入力ガイダンス
サポートされているファイル形式:
| モデル | 画像: JPEG/JPG、PNG、BMP、TIFF、HEIF |
Office: Word (DOCX)、Excel (XLSX)、PowerPoint (PPTX)、HTML |
|
|---|---|---|---|
| 読む | ✔ | ✔ | ✔ |
| レイアウト | ✔ | ✔ | |
| 一般ドキュメント | ✔ | ✔ | |
| プリビルド | ✔ | ✔ | |
| カスタム抽出 | ✔ | ✔ | |
| カスタム分類 | ✔ | ✔ | ✔ |
- 写真とスキャン: 最良の結果を得るには、ドキュメントごとに 1 つの明確な写真または高品質のスキャンを提供します。
- PDF とTIFF: PDF とTIFF の場合、Free レベルのサブスクリプションで最大 2,000 ページを処理できます。 最初の 2 ページのみが処理されます。
- ファイル サイズ: ドキュメントを分析するためのファイル サイズは、有料 (S0) レベルでは 500 MB、Free (F0) レベルでは 4 MB です。
- 画像のサイズ: 画像のサイズは、50 ピクセル x 50 ピクセルから 10,000 ピクセル x 10,000 ピクセルの間である必要があります。
- パスワード ロック: PDF がパスワードロックされている場合は、提出前にロックを解除する必要があります。
- テキストの高さ: 抽出するテキストの最小高さは、1024 x 768 ピクセルの画像で 12 ピクセルです。 このディメンションは、1 インチあたり 150 ドットの約 8 ポイントのテキストに対応します。
- カスタム モデル トレーニング: トレーニング データの最大ページ数は、カスタム テンプレート モデルの場合は 500 ページ、カスタム ニューラル モデルの場合は 50,000 ページです。
- カスタム抽出モデルトレーニング: トレーニング データの合計サイズは、テンプレート モデルの場合は 50 MB、ニューラル モデルの場合は 1 GB です。
- カスタム分類モデル トレーニング: トレーニング データの合計サイズは 1 GB で、最大 10,000 ページです。 2024-11-30 (GA) の場合、トレーニング データの合計サイズは 2 GB で、最大 10,000 ページです。
- Office ファイルの種類 (DOCX、XLSX、PPTX): 文字列の最大長の制限は 800 万文字です。
入力ガイド
- サポートされているファイル形式: JPEG、PNG、PDF、TIFF。
- サポートされているページ数: PDF および TIFF の場合、最大 2,000 ページが処理されます。 Free レベルのサブスクライバーの場合、最初の 2 ページのみが処理されます。
- サポートされるファイル サイズ: ファイル サイズは 50 MB 未満で、サイズは 50 x 50 ピクセル以上、最大 10,000 x 10,000 ピクセルである必要があります。
概要
ドキュメント インテリジェンスを使用すると、ドキュメントからテキスト、テーブル、テーブル ヘッダー、選択マーク、構造情報などのデータを抽出できます。 次のリソースが必要です。
- Azure サブスクリプション。 無料で 作成できます。
- Azure ポータルの Document Intelligence インスタンス。 無料価格レベル (F0) を使用して、サービスを試すことができます。 リソースがデプロイされたら、[ リソースに移動 ] を選択してキーとエンドポイントを取得します。
キーとエンドポイントを取得したら、次の開発オプションを使用して、ドキュメント インテリジェンス アプリケーションをビルドしてデプロイできます。
メモ
Document Intelligence Studio は、v3.0 API 以降のバージョンで使用できます。
REST API
ドキュメント インテリジェンスのサンプル ラベル付けツール
サンプル ツールのホーム ページで、[ レイアウトを使用] を選択して、テキスト、テーブル、および選択マークを取得します。
[ ドキュメント インテリジェンス サービス エンドポイント ] フィールドに、ドキュメント インテリジェンス サブスクリプションで取得したエンドポイントを貼り付けます。
キー フィールドに、ドキュメント インテリジェンス リソースから取得したキーを貼り付けます。
[ ソース ] フィールドで、ドロップダウン メニューから [URL ] を選択します。 サンプル ドキュメントを使用できます。
[ フェッチ ] を選択します。
[ 実行レイアウト] を選択します。 ドキュメント インテリジェンスサンプルラベル付けツールは、Analyze Layout API を呼び出してドキュメントを分析します。
結果を表示します。 強調表示された抽出されたテキスト、検出された選択マーク、検出されたテーブルを確認します。
ドキュメント インテリジェンス v2.1 では、次のツール、アプリケーション、およびライブラリがサポートされています。
| 機能 | リソース |
|---|---|
| Layout API(レイアウト API) | • ドキュメント インテリジェンス ラベル付けツール • REST API • クライアント ライブラリ SDK • ドキュメント インテリジェンス Docker コンテナー |
データの抽出
レイアウト モデルは、ドキュメントから構造要素を抽出します。 ここでは構造要素について説明します。次のガイダンスでは、ドキュメント入力からそれらを抽出する方法を示します。
データの抽出
レイアウト モデルは、ドキュメントから構造要素を抽出します。 ここでは構造要素について説明します。次のガイダンスでは、ドキュメント入力からそれらを抽出する方法を示します。
ページ
pages コレクションは、ドキュメント内のページの一覧です。 各ページはドキュメント内で順番に表され、ページが回転しているかどうかを示す方向の角度と、幅と高さ (ピクセル単位の寸法) が含まれます。 モデル出力のページ単位は、次の表に示すように計算されます。
| ファイル形式 | 計算されたページ単位 | 合計ページ数 |
|---|---|---|
| 画像 (JPEG/JPG、PNG、BMP、HEIF) | 各画像 = 1 ページ単位。 | 合計画像数 |
| PDF の各ページ = 1 ページ単位。 | PDF の合計ページ数 | |
| TIFF | TIFF の各画像 = 1 ページ単位。 | TIFF の合計画像数 |
| Word (DOCX) | 最大 3,000 文字 = 1 ページ単位。 埋め込みイメージまたはリンクされたイメージはサポートされていません。 | 各最大 3,000 文字の合計ページ数 |
| Excel (XLSX) | 各ワークシート = 1 ページ単位。 埋め込みイメージまたはリンクされたイメージはサポートされていません。 | 合計ワークシート数 |
| PowerPoint (PPTX) | 各スライド = 1 ページ単位。 埋め込みイメージまたはリンクされたイメージはサポートされていません。 | 合計スライド数 |
| HTML | 最大 3,000 文字 = 1 ページ単位。 埋め込みイメージまたはリンクされたイメージはサポートされていません。 | 最大 3,000文字のページ数の合計 |
"pages": [
{
"pageNumber": 1,
"angle": 0,
"width": 915,
"height": 1190,
"unit": "pixel",
"words": [],
"lines": [],
"spans": []
}
]
ドキュメントから選択したページを抽出する
大規模なマルチページ ドキュメントの場合は、 pages クエリ パラメーターを使用して、テキスト抽出用の特定のページ番号またはページ範囲を示します。
段落
レイアウト モデルは、 paragraphs コレクション内で識別されたすべてのテキスト ブロックを、 analyzeResultsの最上位オブジェクトとして抽出します。 このコレクション内の各エントリはテキスト ブロックを表し、抽出されたテキストを contentおよび境界 polygon 座標として含めます。
span情報は、ドキュメントのフルテキストを含む最上位contentプロパティ内のテキスト フラグメントを指します。
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
}
]
段落の役割
機械学習に基づく新しいページ オブジェクト検出では、タイトル、セクション見出し、ページ ヘッダー、ページ フッターなどの論理ロールが抽出されます。 ドキュメント インテリジェンス レイアウト モデルは、 paragraphs コレクション内の特定のテキスト ブロックに、モデルによって予測される特殊なロールまたは型を割り当てます。 非構造化ドキュメントで段落ロールを使用して、抽出されたコンテンツのレイアウトを理解し、より充実したセマンティック分析を行うのに役立てることができます。 次の段落の役割がサポートされています。
| 予測されたロール | 説明 | サポートされているファイルの種類 |
|---|---|---|
title |
ページのメイン見出し | PDF、画像、DOCX、PPTX、XLSX、HTML |
sectionHeading |
ページ上の 1 つ以上の小見出し | PDF、画像、DOCX、XLSX、HTML |
footnote |
ページの下部付近のテキスト | PDF、画像 |
pageHeader |
ページの上端付近のテキスト | PDF、画像、DOCX |
pageFooter |
ページの下端付近のテキスト | PDF、画像、DOCX、PPTX、HTML |
pageNumber |
ページ番号 | PDF、画像 |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
テキスト、行、および単語
ドキュメント インテリジェンスのドキュメント レイアウト モデルでは、印刷と手書きスタイルのテキストが行と単語として抽出されます。
styles コレクションには、行の手書きスタイル (検出された場合) と、それに関連付けられたテキストを指すスパンが含まれます。 この機能は、 サポートされている手書き言語に適用されます。
Word、Excel、PowerPoint、および HTML の場合、ドキュメント インテリジェンス v4.0 2024-11-30 (GA) レイアウト モデルでは、埋め込まれたテキストがすべてそのまま抽出されます。 テキストは単語と段落として抽出されます。 埋め込みイメージはサポートされていません。
"words": [
{
"content": "While",
"polygon": [],
"confidence": 0.997,
"span": {}
},
],
"lines": [
{
"content": "While healthcare is still in the early stages of its Al journey, we",
"polygon": [],
"spans": [],
}
]
# Analyze lines.
for line_idx, line in enumerate(page.lines):
words = line.get_words()
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{format_polygon(line.polygon)}'"
)
# Analyze words.
for word in words:
print(
f"......Word '{word.content}' has a confidence of {word.confidence}"
)
手書きスタイル
応答には、各テキスト行が手書きスタイルであるかどうかの分類と信頼度スコアが含まれます。 詳細については、「 手書き言語のサポート」を参照してください。 次の例は、JSON スニペットの例を示しています。
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
フォント/スタイル アドオン機能を有効にすると、styles オブジェクトの一部としてフォント/スタイルの結果も取得されます。
選択マーク
レイアウト モデルでは、ドキュメントから選択マークも抽出されます。 抽出された選択マークは、各ページの pages コレクション内に表示されます。 これには、境界 polygon、confidence、および選択 state (selected/unselected) が含まれます。 テキスト表現 (つまり、:selected:と:unselected) は、開始インデックス (offset) およびドキュメントのフルテキストを含む最上位lengthプロパティを参照するcontentとしても含まれます。
{
"selectionMarks": [
{
"state": "unselected",
"polygon": [],
"confidence": 0.995,
"span": {
"offset": 1421,
"length": 12
}
}
]
}
テーブル
テーブルの抽出は、通常、テーブルとして書式設定された大量のデータを含むドキュメントを処理するための重要な要件です。 レイアウト モデルは、JSON 出力の pageResults セクションのテーブルを抽出します。 抽出されたテーブル情報には、列と行の数、行スパン、列スパンが含まれます。 境界ポリゴンを持つ各セルは、エリアが columnHeader として認識されているかどうかに関する情報と共に出力されます。
このモデルでは、回転されるテーブルの抽出がサポートされています。 各テーブル セルには、行と列のインデックスと境界ポリゴン座標が含まれています。 セル テキストの場合、モデルは開始インデックス (span) を含むoffset情報を出力します。 モデルは、ドキュメントのフルテキストを含む最上位レベルのコンテンツ内の length も出力します。
ドキュメント インテリジェンス のベール抽出機能を使用する場合に考慮すべきいくつかの要因を次に示します。
- 抽出するデータはテーブルとして表示され、テーブル構造は意味がありますか?
- データがテーブル形式でない場合、データは 2 次元グリッドに収まりますか?
- テーブルは複数のページにまたがっていますか? その場合は、すべてのページにラベルを付ける必要がないように、ドキュメント インテリジェンスに送信する前に PDF をページに分割します。 分析後、ページを 1 つのテーブルにポストプロセスします。
- カスタム モデルを作成する場合は、 表形式フィールド を参照してください。 動的テーブルには、各列の可変数の行があります。 固定テーブルには、各列の行数が一定です。
メモ
入力ファイルが XLSX の場合、テーブル分析はサポートされません。 ドキュメント インテリジェンス v4.0 2024-11-30 (GA) では、図および表の境界領域がサポートされており、主要なコンテンツのみをカバーし、関連するキャプションと脚注は除外されます。
{
"tables": [
{
"rowCount": 9,
"columnCount": 4,
"cells": [
{
"kind": "columnHeader",
"rowIndex": 0,
"columnIndex": 0,
"columnSpan": 4,
"content": "(In millions, except earnings per share)",
"boundingRegions": [],
"spans": []
},
]
}
]
}
# Analyze tables.
for table_idx, table in enumerate(result.tables):
print(
f"Table # {table_idx} has {table.row_count} rows and "
f"{table.column_count} columns"
)
for region in table.bounding_regions:
print(
f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
)
for cell in table.cells:
print(
f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
)
for region in cell.bounding_regions:
print(
f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
)
注釈
レイアウト モデルは、チェックやクロスなどのドキュメント内の注釈を抽出します。 応答には、注釈の種類に加え、信頼度スコアと境界ポリゴンが含まれます。
{
"pages": [
{
"annotations": [
{
"kind": "cross",
"polygon": [...],
"confidence": 1
}
]
}
]
}
自然読み取り順序の出力 (ラテン語のみ)
readingOrder クエリ パラメーターを使用して、テキスト行の出力順序を指定できます。 次の例に示すように、 natural を使用して、より人間に優しい読み取り順序の出力を得られます。 この機能は、ラテン語でのみサポートされています。
テキスト抽出のページ番号または範囲を選択する
大規模なマルチページ ドキュメントの場合は、 pages クエリ パラメーターを使用して、テキスト抽出用の特定のページ番号またはページ範囲を示します。 次の例は、10 ページのドキュメントを示しています。どちらの場合もテキストが抽出され、すべてのページ (1 ~ 10)、選択したページ (3 から 6) が抽出されます。
レイアウトの分析結果の取得操作
2 番目の手順では、 Get Analyze Layout Result 操作を呼び出します。 この操作は、 Analyze Layout 操作によって作成された結果 ID を入力として受け取ります。 次の可能な値を持つ 状態 フィールドを含む JSON 応答が返されます。
| フィールド | タイプ | 使用可能な値 |
|---|---|---|
| ステータス | 文字列 |
notStarted: 分析操作が開始されていません。running: 分析操作は進行中です。failed: 分析操作が失敗しました。succeeded: 分析操作は成功しました。 |
succeeded値が返されるまで、この操作を繰り返し呼び出します。 1 秒あたりの要求数を超えないようにするには、3 ~ 5 秒の間隔を使用します。
状態フィールドにsucceeded値がある場合、JSON 応答には、抽出されたレイアウト、テキスト、テーブル、および選択マークが含まれます。 抽出されたデータには、抽出されたテキスト行と単語、境界ボックス、手書きの指示があるテキストの外観、表、選択済みまたは未選択を示す選択マークが含まれます。
テキスト行の手書き分類 (ラテン語のみ)
応答には、各テキスト行が手書きのスタイルであるかどうかを、信頼度スコアと共に分類することが含まれます。 この機能は、ラテン語でのみサポートされています。 次の例は、画像内のテキストの手書きの分類を示しています。
JSON 出力のサンプル
Get Analyze Layout Result操作に対する応答は、抽出されたすべての情報を含むドキュメントの構造化表現です。
サンプル ドキュメント ファイルとその構造化された出力サンプル レイアウト出力を参照してください。
JSON 出力には、次の 2 つの部分があります。
-
readResultsノードには、認識されたすべてのテキストと選択マークが含まれます。 テキスト プレゼンテーション階層は、ページ、行、個々の単語です。 -
pageResultsノードには、境界ボックス、信頼度、およびreadResultsフィールド内の行と単語への参照で抽出されたテーブルとセルが含まれます。
出力例
テキスト
レイアウト API は、複数のテキスト角度と色を持つドキュメントや画像からテキストを抽出します。 ドキュメント、FAX、印刷および/または手書き (英語のみ) テキスト、混在モードの写真を受け入れます。 テキストは、行、単語、境界ボックス、信頼度スコア、スタイル (手書きなど) で提供される情報で抽出されます。 すべてのテキスト情報は、JSON 出力の readResults セクションに含まれています。
ヘッダーを含むテーブル
Layout API は、JSON 出力の pageResults セクションのテーブルを抽出します。 ドキュメントのスキャン、写真の撮影、デジタル化を行うことができます。 テーブルは、結合されたセルや列、罫線の有無、変則的な角度により複雑になる場合があります。
抽出されたテーブル情報には、列と行の数、行スパン、列スパンが含まれます。 境界ボックスを持つ各セルは、領域がヘッダーの一部として認識されるかどうかと共に出力されます。 モデル予測ヘッダー セルは複数の行にまたがる可能性があり、必ずしもテーブルの最初の行であるとは限りません。 また、回転テーブルでも機能します。 各テーブル セルには、 readResults セクション内の個々の単語への参照を含むフルテキストも含まれます。
選択記号 (ドキュメント)
レイアウト API では、ドキュメントから選択マークも抽出されます。 抽出された選択マークには、境界ボックス、信頼度、状態 (選択/選択解除) が含まれます。 選択マーク情報は、JSON 出力の readResults セクションで抽出されます。
移行ガイド
- アプリケーションとワークフローで v3.1 バージョンを使用する方法については、 ドキュメント インテリジェンス v3.1 移行ガイドの手順に従ってください。
関連コンテンツ
- Document Intelligence Studio を使用して独自のフォームとドキュメントを処理する方法について説明します。
- ドキュメント インテリジェンスのクイック スタートを完了し、任意の開発言語でドキュメント処理アプリを作成します。
GitHub.
GitHub.
- ドキュメント インテリジェンスサンプルラベル付けツールを使用して、独自のフォームとドキュメントを処理する方法について説明します。
- ドキュメント インテリジェンスのクイック スタートを完了し、任意の開発言語でドキュメント処理アプリを作成します。