Compartir a través de


Análisis de documentos: representación de Markdown

Azure Content Understanding en Foundry Tools convierte documentos no estructurados en GitHub Flavored Markdown, al tiempo que mantiene el contenido y el diseño para un uso preciso de nivel inferior. En este artículo se describe cómo se representa cada contenido y elemento de diseño en Markdown.

Palabras y marcas de selección

Las palabras reconocidas y las marcas de selección detectadas se representan en Markdown como texto sin formato. Las marcas de selección se codifican mediante los caracteres Unicode (seleccionados) y (eliminados). Es posible que el contenido se escape para evitar la ambigüedad con la sintaxis de formato Markdown.

Códigos de barras

Los códigos de barras se representan como imágenes de Markdown con texto alternativo y título: ![alt text](url "title").

Tipo de contenido Patrón Markdown Ejemplo
Código de barras ![{barcode.kind}]({barcode.path} "{barcode.value}") ![QRCode](barcodes/1.2 "https://www.microsoft.com")

Fórmulas

Las fórmulas matemáticas se codifican mediante LaTeX en Markdown:

  • Las fórmulas en línea se incluyen en signos de dólar simples ($...$) para mantener el flujo de texto.
  • Las fórmulas de presentación usan signos de dólar doble ($$...$$) para visualización independiente.
  • Las fórmulas de varias líneas se representan como fórmulas de visualización consecutivas sin intervención de líneas vacías. Esta estructura conserva las relaciones matemáticas.
Tipo de fórmula Markdown Visualización
En línea $\sqrt { -1 } $ is $i$ $\sqrt { -1 } $ es $i$
Pantalla $$a^2 + b^2 = c^2$$ $a^2 + b^2 = c^2$
Multilínea $$( x + 2 ) ^ 2 = x ^ 2 + 4 x + 4$$
$$= x ( x + 4 ) + 4$$
$$( x + 2 ) ^ 2 = x ^ 2 + 4 x + 4$$ $$= x ( x + 4 ) + 4$$

Imágenes

Las imágenes detectadas, incluidas las ilustraciones y los gráficos, se representan mediante la sintaxis estándar de la imagen de Markdown. El texto alternativo contiene el texto detectado dentro de la figura y la sintaxis varía en función de las opciones de configuración.

Patrones de representación de imágenes

Configuración Patrón Markdown Description
Básico ![detected text](figures/path) Imagen estándar sin descripción
habilitarDescripciónDeFigura ![detected text](figures/path "description") Incluye la descripción de la imagen generada
HabilitarDescripciónFigura + HabilitarAnálisisFigura ![detected text](figures/path "description") seguido de un gráfico, una tabla Markdown o un diagrama Mermaid Imagen con descripción y análisis de figura anexados (gráfico, tabla o diagrama)
Solo enableFigureAnalysis ![detected text](figures/path) seguido de un gráfico, una tabla Markdown o un diagrama Mermaid Imagen sin descripción y análisis de figura anexados (gráfico, tabla o diagrama)

Examples

Imagen sin descripción de figura habilitada

![Line1 Line2](figures/1.1)

Imagen con "enableFigureDescription"

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

Imagen con enableFigureDescription y enableFigureAnalysis

![Line1 Line2](figures/1.1 "This is a generated image description.")
Opción 1: Análisis de la figura del gráfico
{ ...chart config... }
Opción 2: Análisis de figuras en la tabla Markdown
| Month | Value |
|-------|-------|
| Jan   | 100   |
| Feb   | 150   |
| Mar   | 200   |
| Apr   | 250   |
| May   | 300   |
| Jun   | 275   |

Imagen sin habilitar Descripción de Figura y Análisis de Figura

![Line1 Line2](figures/1.1)

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

Análisis de Figura

Los gráficos y diagramas detectados en los documentos se representan como contenido de figura estructurado con formatos de representación especializados.

Tablas

Los gráficos se representan en el contenido de las figuras mediante la sintaxis de Chart.js en formato JSON. Dependiendo de la config.chartFormat configuración (chartJs o markdown), los gráficos se pueden representar como Chart.js bloques de código o tablas de Markdown.

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

Formato de tabla Markdown (chartFormat=markdown)

Mes Valores
Ene 100
Feb 150
Mar 200
Apr 250
Mayo 300
Jun 275

Diagramas

Los diagramas se representan en el contenido de la figura mediante la sintaxis Mermaid y se muestran como bloques de código Mermaid en Markdown.

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

Soporte de renderizado

Las extensiones y visualizadores populares de Markdown admiten la representación visual de bloques de código Chart.js y Mermaid.

  • Chart.js: representa gráficos y gráficos interactivos
  • Sirena: representa diagramas de flujo, diagramas de secuencia y otros tipos de diagrama
  • La mayoría de los procesadores Markdown modernos incluyen complementos para ambos formatos

Líneas y párrafos

Los párrafos se representan en Markdown como un bloque de texto separados por líneas en blanco. Cuando hay líneas disponibles, cada línea de documento se asigna a una línea independiente de Markdown.

Secciones

Los párrafos con un título o rol de encabezado de sección se convierten en encabezados de Markdown. El título se asigna con el encabezado de nivel 1, si existe. Los niveles de encabezado de todas las demás secciones se asignan para conservar la estructura jerárquica detectada.

Tablas

Las tablas se representan actualmente en Markdown mediante el marcado de tabla HTML (<table>, <tr>, <th>, y <td>) para habilitar la compatibilidad con celdas combinadas a través de los atributos rowspan y colspan y encabezados avanzados a través de <th>. Cualquier título se representa a través de un <caption> elemento . Las notas al pie asociadas aparecen como texto inmediatamente después de la tabla.

<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.
Tabla 1. Ejemplo
Encabezado AEncabezado B
Celda 1ACelda 1B
Celda 2ACelda 2B
Esta es una nota al pie.

Metadatos de página

Markdown no codifica de forma nativa los metadatos de página, como números de página, encabezados, pies de página y saltos. Dado que esta información puede ser útil para las aplicaciones de nivel inferior, codificamos metadatos como comentarios HTML.

Metadatos Markdown
Número de página <!-- PageNumber="1" -->
Encabezado de página <!-- PageHeader="Header" -->
Pie de página <!-- PageNumber="Footer" -->
Salto de página <!-- PageBreak -->

Los hipervínculos detectados del contenido digital se representan mediante la sintaxis de vínculo estándar de Markdown. El servicio conserva tanto el texto para mostrar como la dirección URL de destino del documento original.

Tipo de vínculo Patrón Markdown Ejemplo
Vínculo estándar [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

Las anotaciones de documento, como los resaltados, los subrayados y los comentarios, se pueden representar en Markdown mediante diferentes formatos controlados por el annotationFormat parámetro .

Formatos de anotación

Formato Description Caso de uso
none Ninguna información de anotación en Markdown Control total sobre la representación de anotaciones
frontMatter Anotaciones en el front-matter de YAML con intervalos HTML Escenarios RAG sencillos con contexto de documento completo
markdown Sintaxis de anotación nativa de Markdown Compatibilidad estándar de Markdown

Formato: ninguno

Cuando se establece annotationFormat=none, Markdown no contiene información de anotación. Establezca tanto enableAnnotation como returnDetails en true para extraer anotaciones.

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

Formato: frontMatter (valor predeterminado)

Codifica las anotaciones en la cabecera de YAML con etiquetas HTML que contienen atributos id que hacen referencia a los detalles de anotación.

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

Formato: Markdown

Usa la sintaxis de Markdown nativa para las anotaciones cuando el procesador Markdown de destino admite.

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

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

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

Conclusión

Los elementos Content Understanding Markdown proporcionan una manera eficaz de representar la estructura y el contenido de los documentos analizados. Cuando comprenda y use estos elementos Markdown correctamente, puede mejorar los flujos de trabajo de procesamiento de documentos. También puede crear aplicaciones de extracción de contenido más sofisticadas.