Udostępnij przez


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)

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

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 mapowane na oddzielny wiersz w języku Markdown.

Sekcje

Akapity z rolami nagłówków tytułu lub sekcji są konwertowane na nagłówki języka Markdown. Tytuł, jeśli istnieje, jest przypisany z nagłówkiem poziom-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 przy użyciu znaczników tabeli HTML (, , i <table>) w celu włączenia obsługi scalonych komórek za pomocą atrybutów i i <tr> zaawansowanych nagłówków za pośrednictwem .<th><td>rowspancolspan<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 <!-- PageNumber="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://docs.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.