Partager via


Analyse du document : représentation Markdown

Azure Content Understanding dans Foundry Tools convertit les documents non structurés en GitHub Flavored Markdown, tout en conservant le contenu et la disposition pour une utilisation précise en aval. Cet article décrit comment chaque élément de contenu et de disposition est représenté dans Markdown.

Mots et marques de sélection

Les mots reconnus et les marques de sélection détectées sont représentés dans Markdown sous forme de texte brut. Les marques de sélection sont encodées à l’aide des caractères Unicode (sélectionnés) et (effacés). Le contenu peut être échappé pour éviter toute ambiguïté avec la syntaxe de mise en forme markdown.

Codes-barres

Les codes-barres sont représentés sous forme d’images Markdown avec un texte de remplacement et un titre : ![alt text](url "title").

Type de contenu Modèle Markdown Exemple :
Code-barres ![{barcode.kind}]({barcode.path} "{barcode.value}") ![QRCode](barcodes/1.2 "https://www.microsoft.com")

Formules

Les formules mathématiques sont encodées à l’aide de LaTeX dans Markdown :

  • Les formules inline sont placées entre des signes dollar ($...$) pour conserver le flux de texte.
  • Les formules d’affichage utilisent des doubles signes dollar ($$...$$) pour un affichage indépendant.
  • Les formules multilignes sont représentées sous forme de formules d’affichage consécutives sans interlignes vides. Cette structure conserve les relations mathématiques.
Type de formule Markdown Visualisation
En ligne $\sqrt { -1 } $ is $i$ $\sqrt { -1 } $ est $i$
Affichage $$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$$

Images

Les images détectées, y compris les figures et les graphiques, sont représentées à l’aide de la syntaxe d’image Markdown standard. Le texte de remplacement contient le texte détecté à l’intérieur de la figure et la syntaxe varie en fonction des options de configuration.

Modèles de représentation d’image

Paramétrage Modèle Markdown Descriptif
Élémentaire ![detected text](figures/path) Image standard sans description
activer la description de la figure ![detected text](figures/path "description") Inclut la description de l’image générée
enableFigureDescription + enableFigureAnalysis ![detected text](figures/path "description") suivi d’un graphique, d’un tableau Markdown ou d’un diagramme Mermaid Image avec description et analyse de la figure ajoutée (graphique, tableau ou diagramme)
enableFigureAnalysis uniquement ![detected text](figures/path) suivi d’un graphique, d’un tableau Markdown ou d’un diagramme Mermaid Image sans description et analyse de figure ajoutée (graphique, tableau ou diagramme)

Examples

Image sans "enableFigureDescription"

![Line1 Line2](figures/1.1)

Image avec le paramètre enableFigureDescription

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

Image avec les fonctionnalités enableFigureDescription et enableFigureAnalysis

![Line1 Line2](figures/1.1 "This is a generated image description.")
Option 1 : Analyse de la figure de graphique
{ ...chart config... }
Option 2 : Analyse des éléments du tableau Markdown
| Month | Value |
|-------|-------|
| Jan   | 100   |
| Feb   | 150   |
| Mar   | 200   |
| Apr   | 250   |
| May   | 300   |
| Jun   | 275   |

Image sans enableFigureDescription et enableFigureAnalysis

![Line1 Line2](figures/1.1)

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

Analyse de la figure

Les graphiques et les diagrammes détectés dans les documents sont représentés sous forme de contenu de figure structuré avec des formats de rendu spécialisés.

Graphiques

Les graphiques sont représentés dans le contenu de figure en utilisant la syntaxe Chart.js au format JSON. Selon le config.chartFormat paramètre (chartJs ou markdown), les graphiques peuvent être représentés sous forme de blocs de code Chart.js ou de tables 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 de tableau Markdown (chartFormat=markdown)

Mois Valeurs
Jan 100
Fév 150
Mar 200
Avr 250
Mai 300
Juin 275

Diagrammes

Les diagrammes sont représentés dans le contenu de la figure à l’aide de la syntaxe Mermaid et rendus sous forme de blocs de code mermaid dans Markdown.

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

Prise en charge du rendu

Les extensions Markdown et les visionneuses populaires prennent en charge le rendu visuel des blocs de code Chart.js et Mermaid :

  • Chart.js: affiche des graphiques et des graphiques interactifs
  • Mermaid : affiche des organigrammes, des diagrammes de séquences et d’autres types de diagrammes
  • La plupart des processeurs Markdown modernes incluent des plug-ins pour les deux formats

Lignes et paragraphes

Les paragraphes sont représentés dans Markdown sous la forme d’un bloc de texte séparé par des lignes vides. Lorsque des lignes sont disponibles, chaque ligne de document correspond à une ligne distincte dans le Markdown.

Rubriques

Les paragraphes avec un titre ou une fonction de titre de section sont convertis en titres Markdown. Le titre, le cas échéant, est attribué avec le titre de niveau 1. Les niveaux de titre de toutes les autres sections sont affectés pour préserver la structure hiérarchique détectée.

Tableaux

Les tables sont actuellement représentées dans Markdown à l’aide du balisage de table HTML (<table>, , <tr><th>et <td>) pour activer la prise en charge des cellules fusionnées via rowspan et colspan des attributs et des en-têtes enrichis via <th>. Toute légende est représentée via un <caption> élément. Toutes les notes de bas de page associées apparaissent sous forme de texte immédiatement après le tableau.

<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.
Tableau 1. Exemple :
En-tête AEn-tête B
Cellule 1ACellule 1B
Cellule 2ACellule 2B
Il s’agit d’une note de bas de page.

Métadonnées de la page

Markdown n’encode pas en mode natif les métadonnées de page, telles que les numéros de page, les en-têtes, les pieds de page et les sauts. Étant donné que ces informations peuvent être utiles pour les applications en aval, nous encodeons des métadonnées telles que des commentaires HTML.

Métadonnées Markdown
Nombre de pages <!-- PageNumber="1" -->
En-tête de page <!-- PageHeader="Header" -->
Pied de page <!-- PageNumber="Footer" -->
Saut de page <!-- PageBreak -->

Les liens hypertexte détectés à partir du contenu numérique sont représentés à l’aide de la syntaxe de lien Markdown standard. Le service conserve le texte d’affichage et l’URL cible du document d’origine.

Type de liaison Modèle Markdown Exemple :
Lien standard [display text](url) [Visit Microsoft](https://www.microsoft.com)

Examples

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

Les annotations de document telles que les surbrillances, les soulignements et les commentaires peuvent être représentées dans Markdown à l’aide de différents formats contrôlés par le annotationFormat paramètre.

Formats d’annotation

Format Descriptif Cas d’utilisation
none Aucune information d’annotation dans Markdown Contrôle total sur la représentation d’annotation
frontMatter Annotations dans l'en-tête YAML avec des balises HTML Scénarios RAG simples avec contexte de document complet
markdown Syntaxe d’annotation Markdown native Compatibilité Markdown standard

Format : aucun

Lorsque vous définissez annotationFormat=none, Markdown ne contient aucune information d’annotation. Définissez à la fois enableAnnotation et returnDetails sur true afin d'extraire des annotations.

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

Format : frontMatter (par défaut)

Encode les annotations dans l'en-tête YAML avec des étendues HTML contenant des attributs id qui référencent les détails de l'annotation.

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

Utilise la syntaxe Markdown native pour les annotations lorsqu’elles sont prises en charge par le processeur Markdown cible.

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

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

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

Conclusion

Les éléments Markdown de compréhension du contenu offrent un moyen puissant de représenter la structure et le contenu des documents analysés. Lorsque vous comprenez et utilisez correctement ces éléments Markdown, vous pouvez améliorer vos flux de travail de traitement de documents. Vous pouvez également créer des applications d’extraction de contenu plus sophistiquées.