Analiza dokumentów: reprezentacja języka Markdown

Usługa Azure Content Understanding w narzędziach Foundry konwertuje dokumenty bez struktury na język Markdown w usłudze GitHub Flavored, zachowując zawartość i układ w celu dokładnego użycia podrzędnego. W tym artykule opisano, jak każdy element zawartości i układu jest reprezentowany w języku Markdown.

Wyrazy i znaczniki zaznaczenia

Rozpoznane wyrazy i wykryte znaczniki zaznaczenia są reprezentowane w języku Markdown jako zwykły tekst. Znaczniki zaznaczenia są kodowane przy użyciu znaków Unicode ☒ (zaznaczonych) i ☐ (wyczyszczone). Zawartość może zostać uniknięta, aby uniknąć niejednoznaczności przy użyciu składni formatowania języka Markdown.

Kody kreskowe

Kody kreskowe są reprezentowane jako obrazy markdown z tekstem alternatywnym i tytułem: ![alt text](url "title").

Typ zawartości Wzorzec markdown Przykład
Kod kreskowy ![{barcode.kind}]({barcode.path} "{barcode.value}") ![QRCode](barcodes/1.2 "https://www.microsoft.com")

Formuły

Formuły matematyczne są kodowane przy użyciu języka LaTeX w języku Markdown:

  • Formuły w tekście są ujęte w znaki pojedynczego dolara ($...$), aby zachować ciągłość tekstu.
  • Formuły wyświetlania używają podwójnych znaków dolara ($$...$$) do samodzielnego wyświetlania.
  • Formuły wielowierszowe są reprezentowane jako kolejne formuły wyświetlania bez interweniowania pustych wierszy. Ta struktura zachowuje relacje matematyczne.
Rodzaj formuły Markdown Wizualizacja
W linii $\sqrt { -1 } $ is $i$ $\sqrt { -1 } $ jest $i$
Wyświetlacz $$a^2 + b^2 = c^2$$ $a^2 + b^2 = c^2$
Wieloliniowy $$( x + 2 ) ^ 2 = x ^ 2 + 4 x + 4$$
$$= x ( x + 4 ) + 4$$
$$( x + 2 ) ^ 2 = x ^ 2 + 4 x + 4$$ $= x ( x + 4 ) + 4$$

Obrazy

Wykryte obrazy, w tym rysunki i wykresy, są reprezentowane przy użyciu standardowej składni obrazu języka Markdown. Tekst alternatywny zawiera wykryty tekst na rysunku, a składnia różni się w zależności od opcji konfiguracji.

Wzorce reprezentacji obrazów

Konfiguracja Wzorzec markdown Description
Basic ![detected text](figures/path) Obraz standardowy bez opisu
włączOpisRysunku ![detected text](figures/path "description") Zawiera wygenerowany opis obrazu
włączOpisRyciny + włączAnalizaRyciny ![detected text](figures/path "description") a następnie wykres, tabela markdown lub diagram mermaid Obraz z opisem i dołączoną analizą graficzną (wykres, tabela lub diagram)
tylko enableFigureAnalysis ![detected text](figures/path) a następnie wykres, tabela markdown lub diagram mermaid Obraz bez opisu i dołączonej analizy rysunku (wykres, tabela lub diagram)

Gdy na rysunku nie wykryto tekstu, usługa wstawia pojedynczą spację jako tekst alternatywny, aby obraz był renderowany poprawnie, na przykład ![ ](figures/1.1).

Przykłady

Obraz bez użycia parametru enableFigureDescription

![Line1 Line2](figures/1.1)

Obraz z funkcją enableFigureDescription

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

Obraz z funkcjami "enableFigureDescription" i "enableFigureAnalysis"

![Line1 Line2](figures/1.1 "This is a generated image description.")
Opcja 1. Analiza rysunku wykresu
{ ...chart config... }
Opcja 2: Analiza wykresu w tabeli Markdown
| Month | Value |
|-------|-------|
| Jan   | 100   |
| Feb   | 150   |
| Mar   | 200   |
| Apr   | 250   |
| May   | 300   |
| Jun   | 275   |

Obraz bez parametrów enableFigureDescription i enableFigureAnalysis.

![Line1 Line2](figures/1.1)

```mermaid
{ ...mermaid diagram... }

Analiza rysunku

Wykresy i diagramy wykryte w dokumentach są reprezentowane jako zawartość rysunku strukturalnego z wyspecjalizowanymi formatami renderowania.

Wykresy

Wykresy są przedstawiane w treści rysunku przy użyciu składni Chart.js w formacie JSON. W zależności od config.chartFormat ustawienia (chartJs lub markdown), wykresy mogą być reprezentowane jako bloki kodu Chart.js lub tabele Markdown.

format 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
      }
    }
  }
}

Format tabeli Markdown (chartFormat=markdown)

Miesiąc Wartości
Jan 100
Lut 150
marzec 200
Apr 250
Maj 300
Jun 275

Diagramy

Diagramy są reprezentowane w zawartości rysunku przy użyciu składni Mermaid i renderowane jako bloki kodu Mermaid w języku Markdown.

graph TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Action 1]
    B -->|No| D[Action 2]
    C --> E[End]
    D --> E

Obsługa renderowania

Popularne rozszerzenia języka Markdown i przeglądarki obsługują renderowanie wizualne bloków kodu Chart.js i Mermaid.

  • Chart.js: Renderuje interaktywne wykresy i diagramy
  • Syrenka: Renderuje schematy blokowe, diagramy sekwencji i inne typy diagramów
  • Większość nowoczesnych procesorów Markdown obejmuje wtyczki dla obu formatów

Podpisy

Wykryte podpisy są reprezentowane jako obrazy języka Markdown, podobne do liczb. Tekst alternatywny zawiera dowolny tekst rozpoznany wewnątrz regionu podpisu.

Note

Wykrywanie podpisów jest dostępne tylko w wersji interfejsu 2026-06-01-preview API.

Ponieważ podpisy różnią się znacznie w stylu, orientacji i czytelności, dokładność tekstu rozpoznawanego w regionie podpisu może się różnić i może być niższa niż w przypadku standardowego tekstu drukowanego. Traktuj rozpoznany tekst jako sygnał dodatkowy, a nie autorytatywną transkrypcję.

Typ zawartości Wzorzec markdown Przykład
Signature ![{recognized text}](signatures/{path}) ![Mary Hell](signatures/1.1)

Gdy podpis nie ma rozpoznanego tekstu, usługa wstawia pojedynczą spację jako tekst alternatywny, aby obraz był renderowany poprawnie:

![ ](signatures/1.1)

Gdy podpis jest skojarzony z regionem strony, takim jak stopka, jest zakodowany jako komentarz HTML razem z tym regionem:

<!-- PageFooter="![Mary Hell](signatures/1.1)" -->

Wiersze i akapity

Akapity są reprezentowane w języku Markdown jako blok tekstu oddzielony pustymi wierszami. Gdy wiersze są dostępne, każdy wiersz dokumentu jest mapowany na oddzielny wiersz w języku Markdown.

Sekcje

Akapity pełniące funkcję nagłówków tytułu lub sekcji są konwertowane na nagłówki języka Markdown. Tytuł, jeśli istnieje, jest przypisany jako nagłówek poziomu 1. Poziomy nagłówków wszystkich pozostałych sekcji są przypisywane w celu zachowania wykrytej struktury hierarchicznej.

Tabele

Tabele są obecnie reprezentowane w języku Markdown za pomocą znaczników tabeli HTML (<table>, <tr>, <th>, <td>), co umożliwia obsługę scalonych komórek z atrybutami rowspan i colspan oraz zaawansowanych nagłówków z <th>. Każdy podpis jest reprezentowany za pośrednictwem <caption> elementu. Wszystkie skojarzone przypisy dolne są wyświetlane jako tekst bezpośrednio po tabeli.

<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.
Tabela 1. Przykład
Nagłówek ANagłówek B
Komórka 1AKomórka 1B
Komórka 2AKomórka 2B
Jest to przypis dolny.

Metadane strony

Język Markdown nie koduje natywnie metadanych strony, takich jak numery stron, nagłówki, stopki i podziały. Ponieważ te informacje mogą być przydatne w przypadku aplikacji podrzędnych, kodujemy takie metadane, jak komentarze HTML.

Metadane Markdown
Numer strony <!-- PageNumber="1" -->
Nagłówek strony <!-- PageHeader="Header" -->
Stopka strony <!-- PageFooter="Footer" -->
Podział strony <!-- PageBreak -->

Wykryte hiperlinki z zawartości cyfrowej są reprezentowane przy użyciu standardowej składni linku markdown. Usługa zachowuje zarówno tekst wyświetlany, jak i docelowy adres URL z oryginalnego dokumentu.

Typ łącza Wzorzec markdown Przykład
Łącze standardowe [display text](url) [Visit Microsoft](https://www.microsoft.com)

Przykłady

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://learn.microsoft.com

Annotations

Adnotacje dokumentów, takie jak wyróżnienia, podkreślenia i komentarze, mogą być reprezentowane w języku Markdown przy użyciu różnych formatów kontrolowanych przez annotationFormat parametr .

Formaty adnotacji

Format Description Przypadek użycia
none Brak informacji o adnotacjach w Markdown Pełna kontrola nad reprezentacją adnotacji
frontMatter Adnotacje w nagłówku YAML z elementami HTML Proste scenariusze RAG z pełnym kontekstem dokumentu
markdown Natywna składnia adnotacji języka Markdown Standardowa zgodność języka Markdown

Format: brak

Po ustawieniu annotationFormat=none Markdown nie zawiera żadnych informacji o adnotacjach. Ustaw zarówno enableAnnotation jak i returnDetails na true, aby wyodrębnić adnotacje.

This is the document content without any annotation markers.
Use the annotations JSON property to customize representation.

Format: frontMatter (ustawienie domyślne)

Koduje adnotacje w sekcji nagłówkowej YAML za pomocą elementów HTML zawierających atrybuty id odwołujące się do szczegółów adnotacji.

---
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" />

Format: markdown

Używa natywnej składni języka Markdown dla adnotacji, jeśli są obsługiwane przez docelowy procesor Języka Markdown.

This text has ==highlighted content== for emphasis.

This text has ++underlined content++ for attention.

> **Note:** This is an annotation comment.

Podsumowanie

Elementy języka Markdown usługi Content Understanding zapewniają zaawansowany sposób reprezentowania struktury i zawartości analizowanych dokumentów. Gdy rozumiesz te elementy języka Markdown i używasz ich prawidłowo, możesz ulepszyć przepływy pracy przetwarzania dokumentów. Można również tworzyć bardziej zaawansowane aplikacje do wyodrębniania zawartości.