Foundry Tools の Azure Content Understanding は、コンテンツとレイアウトを維持しながら、非構造化ドキュメントを GitHub Flavored Markdown に変換し、ダウンストリームで正確に使用できるようにします。 この記事では、各コンテンツとレイアウト要素が Markdown でどのように表現されるかについて説明します。
単語と選択マーク
認識された単語と検出された選択マークは、Markdown でプレーンテキストとして表現されます。 選択マークは、Unicode 文字 ☒ (選択済み) と ☐ (クリア) を使用してエンコードされます。 Markdown 書式構文のあいまいさを避けるために、コンテンツがエスケープされる場合があります。
バーコード
バーコードは、代替テキストとタイトルが付いた Markdown 画像として表現されます: 。
| コンテンツの種類 | Markdown パターン | 例 |
|---|---|---|
| バーコード |  |
 |
数式
数式は、Markdown 内で LaTeX を使用してエンコードされます。
- インライン数式は、テキスト フローを維持するために 1 ドル記号 (
$...$) で囲まれます。 - 表示式は、スタンドアロンディスプレイに二重ドル記号 (
$$...$$) を使用します。 - 複数行の数式は、間に空行を挟まずに連続した表示数式として表現されます。 この構造により、数学的な関係が保持されます。
| 数式の種類 | Markdown | 視覚化 |
|---|---|---|
| インライン | $\sqrt { -1 } $ is $i$ |
$\sqrt { -1 } $ は$i$ です |
| 表示 | $$a^2 + b^2 = c^2$$ |
$a^2 + b^2 = c^2$ |
| Multiline | $$( x + 2 ) ^ 2 = x ^ 2 + 4 x + 4$$$$= x ( x + 4 ) + 4$$ |
$$( x + 2 ) ^ 2 = x ^ 2 + 4 x + 4$$ $$ = x ( x + 4 ) + 4$$ |
画像
検出された画像 (図やグラフを含む) は、標準の Markdown 画像構文を使用して表されます。 代替テキストには図内に検出されたテキストが含まれており、構文は構成オプションによって異なります。
画像表現パターン
| コンフィギュレーション | Markdown パターン | Description |
|---|---|---|
| Basic |  |
説明のない標準イメージ |
| 図の説明を有効にする |  |
生成されたイメージの説明を含む |
| 図の説明を有効にする + 図の分析を有効にする |
 グラフ、マークダウン テーブル、または人魚図が続く |
説明と追加の図分析を含む画像 (グラフ、テーブル、または図) |
| enableFigureAnalysis のみ |
 グラフ、マークダウン テーブル、または人魚図が続く |
説明のない画像と追加の図分析 (グラフ、テーブル、または図) |
例示
enableFigureDescriptionがないイメージ

enableFigureDescription を含む画像

enableFigureDescription と enableFigureAnalysis を含む画像

オプション 1: グラフ図分析
{ ...chart config... }
オプション 2: Markdown テーブル形状分析
| Month | Value |
|-------|-------|
| Jan | 100 |
| Feb | 150 |
| Mar | 200 |
| Apr | 250 |
| May | 300 |
| Jun | 275 |
enableFigureDescription と enableFigureAnalysis が無効になっているイメージ

```mermaid
{ ...mermaid diagram... }
図の分析
ドキュメントで検出されたグラフと図は、特殊なレンダリング形式で構造化された図コンテンツとして表されます。
グラフ
グラフは、JSON 形式の Chart.js 構文を使用して、図の内容で表されます。
config.chartFormatの設定 (chartJsまたはmarkdown) に応じて、グラフは Chart.js コード ブロックまたは Markdown テーブルとして表すことができます。
Chart.js 形式 (chartFormat=chartJs)
{
"type": "bar",
"data": {
"labels": ["Jan", "Feb", "Mar", "Apr", "May", "Jun"],
"datasets": [{
"label": "Values",
"data": [100, 150, 200, 250, 300, 275],
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
"borderWidth": 1
}]
},
"options": {
"scales": {
"y": {
"beginAtZero": true
}
}
}
}
Markdown テーブルの形式 (chartFormat=markdown)
| 月 | 価値観 |
|---|---|
| 1月 | 100 |
| 2 月 | 150 |
| 3月 | 200 |
| 4 月 | 250 |
| 5 月 | 300 |
| 6 月 | 275 |
ダイアグラム
図は、人魚構文を使用して図の内容で表され、Markdown の人魚コード ブロックとしてレンダリングされます。
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
レンダリングのサポート
一般的な Markdown 拡張機能とビューアーは、Chart.js コード ブロックと人魚コード ブロックの両方のビジュアル レンダリングをサポートします。
- Chart.js: 対話型のグラフとグラフをレンダリングします。
- 人魚: フローチャート、シーケンス図、およびその他の図の種類をレンダリングします
- ほとんどの最新の Markdown プロセッサには、両方の形式のプラグインが含まれています
行と段落
Markdown では、段落は空白行で区切られたテキスト ブロックとして表現されます。 行を使用できる場合、各ドキュメント行は Markdown 内の個別の行にマップされます。
セクション
タイトルまたはセクション見出しの役割を持つ段落は、Markdown 見出しに変換されます。 タイトルがある場合は、レベル 1 の見出しが割り当てられます。 検出された階層構造を保持するために、他のすべてのセクションの見出しレベルが割り当てられます。
表
現在、テーブルは Markdown で HTML テーブル マークアップ (<table>、<tr>、<th>、<td>) を使用して表現されています。これにより、rowspan および colspan 属性による結合セルや、<th> によるリッチ ヘッダーがサポートされます。 キャプションはすべて <caption> 要素で表現されます。 関連付けられている脚注は、テーブルの直後にテキストとして表示されます。
<table>
<caption>Table 1. Example</caption>
<tr><th>Header A</th><th>Header B</th></tr>
<tr><td>Cell 1A</td><td>Cell 1B</td></tr>
<tr><td>Cell 2A</td><td>Cell 2B</td></tr>
</table>
This is a footnote.
| ヘッダー A | ヘッダー B |
|---|---|
| セル 1A | セル 1B |
| セル 2A | セル 2B |
ページのメタデータ
Markdown では、ページ番号、ヘッダー、フッター、区切りなどのページ メタデータはネイティブにエンコードされません。 この情報はダウンストリームのアプリケーションに役立つ可能性があるため、このようなメタデータを HTML コメントとしてエンコードしています。
| メタデータ | Markdown |
|---|---|
| ページ番号 | <!-- PageNumber="1" --> |
| ページ ヘッダー | <!-- PageHeader="Header" --> |
| ページ フッター | <!-- PageNumber="Footer" --> |
| 改ページ | <!-- PageBreak --> |
Hyperlinks
デジタル コンテンツから検出されたハイパーリンクは、標準の Markdown リンク構文を使用して表されます。 サービスは、元のドキュメントの表示テキストとターゲット URL の両方を保持します。
| リンクの種類 | Markdown パターン | 例 |
|---|---|---|
| 標準リンク | [display text](url) |
[Visit Microsoft](https://www.microsoft.com) |
例示
For more information, visit the [Microsoft Foundry](https://aka.ms/ai-foundry) portal.
Contact our support team at [support@contoso.com](mailto:support@contoso.com "Email support").
See the [official documentation][docs] for detailed instructions.
[docs]: https://docs.microsoft.com
Annotations
強調表示、下線、コメントなどのドキュメント注釈は、 annotationFormat パラメーターによって制御されるさまざまな形式を使用して Markdown で表すことができます。
注釈の形式
| Format | Description | 利用シーン |
|---|---|---|
none |
Markdown に注釈情報がありません | 注釈表現を完全に制御 |
frontMatter |
YAML フロントマターへの注釈に HTML スパンを使用する | 完全なドキュメント コンテキストを使用した単純な RAG シナリオ |
markdown |
ネイティブ Markdown 注釈構文 | 標準マークダウンの互換性 |
形式: なし
annotationFormat=noneを設定すると、Markdown には注釈情報が含まれません。 注釈を抽出するには、 enableAnnotation と returnDetails の両方を true に設定します。
This is the document content without any annotation markers.
Use the annotations JSON property to customize representation.
形式: frontMatter (既定)
注釈の詳細を参照する id 属性を含む HTML スパンを使用して、YAML フロント マター内の注釈をエンコードします。
---
fields:
title: "Document Title"
annotations:
- id: underline-1
author: Paul
type: underline
comments:
- message: "Please review this section"
author: Paul
tags: "approved,👍3"
- id: highlight-2
author: Sarah
type: highlight
comments:
- message: "Important information"
author: Sarah
---
This is <span id="underline-1">underlined text</span> in the document.
This section contains <span id="highlight-2">highlighted content</span> for emphasis.
<!-- Annotations without spans appear at page end -->
<span id="note-3" />
形式: Markdown
ターゲットの Markdown プロセッサでサポートされている場合は、ネイティブの Markdown 構文を注釈に使用します。
This text has ==highlighted content== for emphasis.
This text has ++underlined content++ for attention.
> **Note:** This is an annotation comment.
結論
コンテンツ解釈の Markdown 要素は、分析済みドキュメントの構造とコンテンツを表現する強力な手段となります。 これらの Markdown 要素を適切に理解して使用することで、ドキュメント処理ワークフローを強化できます。 さらに高度なコンテンツ抽出アプリケーションを構築することもできます。
関連コンテンツ
- Content Understanding Studio を使用してドキュメント コンテンツを処理してみてください。
- Content Understanding Studio のクイック スタートを確認してください。
- アナライザー テンプレートを使用してドキュメント コンテンツを分析する方法について説明します。
- ビジュアル ドキュメント検索を使用してサンプル コードを確認します。
- コード サンプルのアナライザー テンプレートを確認してください。