Azure AI Document Intelligence Layout API を使用すると、ドキュメントを豊富な Markdown に変換し、元の構造と書式設定を維持できます。 要求に outputContentFormat=markdown
を指定するだけで、適切な階層内の段落、見出し、テーブル、およびその他のドキュメント要素を維持する意味的に構造化されたコンテンツを受け取ります。
この Markdown 出力は、ドキュメントの元の組織をエレガントにキャプチャすると同時に、ダウンストリーム アプリケーション向けに標準化された簡単に使用できるコンテンツを提供します。 保存されたセマンティック構造により、ドキュメント要素間のコンテキストとリレーションシップを失うことなく、より高度なドキュメント処理ワークフローが可能になります。
レイアウト分析でサポートされている Markdown 要素
Layout API の応答には、次の Markdown 要素が含まれています。
- 段落
- 見出し
- 表
- 像
- 選択マーク
- 式
- バーコード
- ページ番号/ページヘッダー/ページフッター
- PageBreak
- KeyValuePairs/Language/Style (キー・バリュー・ペア/言語/スタイル)
- 範囲と内容
段落
段落は、意味的に一緒に属するテキストのまとまりのあるブロックを表します。 Layout API は、次の方法で段落の整合性を維持します。
- 個別の段落間に空の行を含む段落境界を保持する
- 段落内で改行を使用して元のドキュメントの視覚的な構造を維持する
- 元のドキュメントの読み取り順序を考慮した適切なテキスト フローを維持する
次に例を示します。
This is paragraph 1.
This is still paragraph 1, even if in another Markdown line.
This is paragraph 2. There is a blank line between paragraph 1 and paragraph 2.
見出し
見出しは、ナビゲーションと理解を容易にするために、ドキュメントコンテンツを階層構造に整理します。 Layout API には、次の機能があります。
- 標準のマークダウン見出し構文を使用し、見出しレベルに対応する 1 ~ 6 個のハッシュ記号 (#) を使用します。
- 読みやすくするために、各見出しの前に 2 行の空白行を使用して適切な間隔を維持します。
次に例を示します。
# This is a title
## This is heading 1
### This is heading 2
#### This is heading 3
表
テーブルは、複雑な構造化データを視覚的に整理された形式で保持します。 Layout API では、HTML テーブル構文を使用して、忠実性と互換性を最大限に高めます。
- 標準の Markdown テーブルではなく、完全な HTML テーブル マークアップ (
<table>
、<tr>
、<th>
、<td>
) を実装します - 結合されたセルを HTML 行スパン属性と colspan 属性で保持します。
- ドキュメント コンテキストを維持するために、
<caption>
タグで表のキャプションを保持します - ヘッダー、セル、フッターを含む複雑なテーブル構造を処理します
- 読みやすさを向上させるために、各テーブルの前に 2 行の空白行を使用して適切な間隔を維持します
- 表の脚注を表の後の個別の段落として保持します。
次に例を示します。
<table>
<caption>Table 1. This is a demo table</caption>
<tr><th>Header</th><th>Header</th></tr>
<tr><td>Cell</td><td>Cell</td></tr>
<tr><td>Cell</td><td>Cell</td></tr>
<tr><td>Cell</td><td>Cell</td></tr>
<tr><td>Footer</td><td>Footer</td></tr>
</table>
This is the footnote of the table.
像
Layout API では、図の要素が保持されます。
- 周囲のテキストとのセマンティックな区別を維持するために、
<figure>
タグに図形のコンテンツをカプセル化します - 重要なコンテキストを提供するために、
<figcaption>
タグで図のキャプションを保存します。 - 図形の脚注を、図コンテナーの後の個別の段落として保持します
次に例を示します。
<figure>
<figcaption>Figure 2 This is a figure</figcaption>
Values
300
200
100
0
Jan Feb Mar Apr May Jun Months
</figure>
This is footnote if the figure have.
選択マーク
選択マークは、フォームとドキュメントのチェック ボックスに似た要素を表します。 レイアウトAPI:
- 視覚的にわかりやすくするために Unicode 文字を使用します☒。(オン)、(☐オフ)
- 信頼性を向上させるために、信頼度の低いチェック ボックス検出 (信頼度 0.1 未満) を除外する
- 選択マークとそれに関連付けられているテキストの間のセマンティックリレーションシップを維持します。
式
数式は、複雑な数式のレンダリングを可能にする LaTeX と互換性のある構文で保持されます。
- インライン数式は、テキスト フローを維持するために 1 ドル記号 (
$...$
) で囲まれています - ブロック数式では、数式を単独で表示するために二重ドル記号 (
$$...$$
) を使用する - 複数行の数式は連続するブロック式として表され、数学的な関係が維持されます
- 正確な表現を確保するために、元の間隔と書式設定が維持されます
インライン数式、単一行数式ブロック、および複数行数式ブロックの例を次に示します。
The mass-energy equivalence formula $E = m c ^ { 2 }$ is an example of an inline formula
$$\frac { n ! } { k ! \left( n - k \right) ! } = \binom { n } { k }$$
$$\frac { p _ { j } } { p _ { 1 } } = \prod _ { k = 1 } ^ { j - 1 } e ^ { - \beta _ { k , k + 1 } \Delta E _ { k , k + 1 } }$$
$$= \exp \left[ - \sum _ { k = 1 } ^ { j - 1 } \beta _ { k , k + 1 } \Delta E _ { k , k + 1 } \right] .$$
バーコード
バーコードと QR コードは、セマンティック情報を追加した Markdown イメージ構文を使用して表されます。
- 説明的な属性を持つ標準イメージの Markdown 構文を使用します
- バーコードの種類 (QR コード、バーコードなど) とそのエンコードされた値の両方をキャプチャします
- バーコードと周囲のコンテンツ間のセマンティック関係を保持します
次に例を示します。



ページ番号/ページヘッダー/ページフッター
ページ メタデータ要素は、ドキュメントの改ページに関するコンテキストを提供しますが、メイン コンテンツと共にインラインで表示されるわけではありません。
- 標準の Markdown レンダリングから情報を非表示にしたまま、情報を保持するために HTML コメントで囲む
- ドキュメントの再構築に有用な可能性がある元のページ構造情報を保持します
- コンテンツ フローを中断することなく、アプリケーションがドキュメントの改ページ位置を理解できるようにします。
次に例を示します。
<!-- PageHeader="This is page header" -->
<!-- PageFooter="This is page footer" -->
<!-- PageNumber="1" -->
PageBreak
純粋な Markdown コンテンツのどのページ ベースに属している部分を簡単に把握するために、ページの区切り記号として PageBreak を導入しました
次に例を示します。
<!-- PageBreak -->
KeyValuePairs/言語/スタイル
KeyValuePairs/Language/Style の場合、Markdown コンテンツではなく、Analytics JSON 本文にマップします。
注
GitHub.com のユーザー コンテンツで現在サポートされている Markdown の詳細については、「GitHub Flavored Markdown Spec」を参照してください。
結論
ドキュメント インテリジェンスの Markdown 要素は、分析されたドキュメントの構造と内容を表す強力な方法を提供します。 これらの Markdown 要素を理解して適切に利用することで、ドキュメント処理ワークフローを強化し、より高度なコンテンツ抽出アプリケーションを構築できます。
次のステップ
Document Intelligence Studio でドキュメントを処理してみてください。
Document Intelligence クイックスタートを完了し、選択した開発言語でドキュメント処理アプリの作成を開始します。