次の方法で共有


ドキュメント分析: マークダウン表現

Foundry Tools の Azure Content Understanding は、コンテンツとレイアウトを維持しながら、非構造化ドキュメントを GitHub Flavored Markdown に変換し、ダウンストリームで正確に使用できるようにします。 この記事では、各コンテンツとレイアウト要素が Markdown でどのように表現されるかについて説明します。

単語と選択マーク

認識された単語と検出された選択マークは、Markdown でプレーンテキストとして表現されます。 選択マークは、Unicode 文字 (選択済み) と (クリア) を使用してエンコードされます。 Markdown 書式構文のあいまいさを避けるために、コンテンツがエスケープされる場合があります。

バーコード

バーコードは、代替テキストとタイトルが付いた Markdown 画像として表現されます: ![alt text](url "title")

コンテンツの種類 Markdown パターン
バーコード ![{barcode.kind}]({barcode.path} "{barcode.value}") ![QRCode](barcodes/1.2 "https://www.microsoft.com")

数式

数式は、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 ![detected text](figures/path) 説明のない標準イメージ
図の説明を有効にする ![detected text](figures/path "description") 生成されたイメージの説明を含む
図の説明を有効にする + 図の分析を有効にする ![detected text](figures/path "description") グラフ、マークダウン テーブル、または人魚図が続く 説明と追加の図分析を含む画像 (グラフ、テーブル、または図)
enableFigureAnalysis のみ ![detected text](figures/path) グラフ、マークダウン テーブル、または人魚図が続く 説明のない画像と追加の図分析 (グラフ、テーブル、または図)

例示

enableFigureDescriptionがないイメージ

![Line1 Line2](figures/1.1)

enableFigureDescription を含む画像

![Line1 Line2](figures/1.1 "This is a generated image description.")

enableFigureDescription と enableFigureAnalysis を含む画像

![Line1 Line2](figures/1.1 "This is a generated image description.")
オプション 1: グラフ図分析
{ ...chart config... }
オプション 2: Markdown テーブル形状分析
| Month | Value |
|-------|-------|
| Jan   | 100   |
| Feb   | 150   |
| Mar   | 200   |
| Apr   | 250   |
| May   | 300   |
| Jun   | 275   |

enableFigureDescription と enableFigureAnalysis が無効になっているイメージ

![Line1 Line2](figures/1.1)

```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.
表 1 例
ヘッダー Aヘッダー B
セル 1Aセル 1B
セル 2Aセル 2B
これは脚注です。

ページのメタデータ

Markdown では、ページ番号、ヘッダー、フッター、区切りなどのページ メタデータはネイティブにエンコードされません。 この情報はダウンストリームのアプリケーションに役立つ可能性があるため、このようなメタデータを HTML コメントとしてエンコードしています。

メタデータ Markdown
ページ番号 <!-- PageNumber="1" -->
ページ ヘッダー <!-- PageHeader="Header" -->
ページ フッター <!-- PageNumber="Footer" -->
改ページ <!-- PageBreak -->

デジタル コンテンツから検出されたハイパーリンクは、標準の 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 には注釈情報が含まれません。 注釈を抽出するには、 enableAnnotationreturnDetails の両方を 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 要素を適切に理解して使用することで、ドキュメント処理ワークフローを強化できます。 さらに高度なコンテンツ抽出アプリケーションを構築することもできます。