Freigeben über


Dokumentanalyse: Extrahieren strukturierter Inhalte

Überblick

Die Analysefunktionen von Azure Content Understanding helfen Ihnen, unstrukturierte Daten in strukturierte, maschinenlesbare Informationen zu transformieren. Indem Sie Elemente präzise identifizieren und extrahieren und dabei ihre strukturellen Beziehungen beibehalten, können Sie leistungsstarke Verarbeitungsworkflows für eine vielzahl von Anwendungen erstellen.

Das contents Objekt mit der Art document unterstützt die Ausgabe für einen Bereich verschiedener Eingabedateien, einschließlich Dokument, Bild, Text und strukturierte Dateien. Sie können diese Ausgaben verwenden, um aussagekräftige Inhalte aus Ihren Dateien zu extrahieren, Dokumentstrukturen beizubehalten und das gesamte Potenzial Ihrer Daten freizuschalten.

Der Dokumentinhaltstyp umfasst Ausgaben für Eingabedateien wie:

  • Dokumente: PDF-Dateien, Word-Dokumente, PowerPoint-Präsentationen und Excel-Tabellen
  • Abbildungen: Fotos, gescannte Dokumente, Diagramme und Grafiken
  • Textdateien: Nur-Text, HTML, Markdown und RTF
  • Strukturierte Inhalte: XML-, JSON-, CSV- und TSV-Dateien
  • E-Mail: EML- und MSG-Nachrichtenformate

Weitere Informationen zu unterstützten Dateitypen, Dateigrößenbeschränkungen und anderen Einschränkungen finden Sie unter Dienstkontingente und Grenzwerte.

JSON-Antwortstruktur

Die Inhaltsverständnis-API gibt Analyseergebnisse in einem strukturierten JSON-Format zurück. Dies ist die allgemeine Containerstruktur:

{
  "id": "10a01d32-e21e-46e3-bb5c-361375f184de",
  "status": "Succeeded",
  "result": {
    "analyzerId": "my-analyzer",
    "apiVersion": "2025-05-01-preview",
    "createdAt": "2025-06-18T22:50:34Z",
    "warnings": [],
    "contents": [
      {
        "markdown": "# Example Document\n\n...",
        "fields": { /* extracted field values */ },
        "kind": "document",
        "startPageNumber": 1,
        "endPageNumber": 2,
        "unit": "inch",
        "pages": [ /* page-level elements */ ],
        "paragraphs": [ /* paragraph elements */ ],
        "sections": [ /* section elements */ ],
        "tables": [ /* table elements */ ],
        "figures": [ /* figure elements */ ],
        "hyperlinks": [ /* hyperlink elements */ ],
        "annotations": [ /* annotation elements */ ]
      }
    ]
  }
}

Dokumentelemente

Sie können die folgenden Dokumentelemente mithilfe der Dokumentanalyse extrahieren:

Nicht alle Inhalts- und Layoutelemente gelten oder werden derzeit von allen Dokumentdateitypen unterstützt.

Markdown-Inhaltselemente

Content Understanding generiert umfassend formatiertes Markdown, das die Struktur des ursprünglichen Dokuments erhält. Aus diesem Grund können große Sprachmodelle Dokumentkontext und hierarchische Beziehungen für KI-basierte Analyse- und Erzeugungsaufgaben besser verstehen. Neben Wörtern, Auswahlzeichen, Barcodes, Formeln und Bildern als Inhalt enthält markdown auch Abschnitte, Tabellen und Seitenmetadaten für visuelles Rendering und maschinelle Verarbeitung. Erfahren Sie mehr darüber, wie Inhaltsverständnis Inhalte und Layoutelemente in Markdown darstellt.

Wörter

Ein Wort ist ein Inhaltselement, das aus einer Abfolge von Zeichen besteht. Unicode Standard Annex Nr. 29 definiert die Wortgrenzen. Bei lateinischen Sprachen können Wörter von Interpunktion getrennt werden, auch ohne Leerzeichen. In einigen Sprachen, z. B. Chinesisch, werden ergänzende Wörterbücher verwendet, um Worttrennung an semantischen Grenzen zu ermöglichen. Weitere Informationen finden Sie unter Grenzanalyse.

JSON-Beispiel:

{
  "words": [
    {
      "content": "Example",
      "span": {
        "length": 7
      },
      "confidence": 0.992,
      "source": "D(1,1.265,1.0836,2.4972,1.0816,2.4964,1.4117,1.2645,1.4117)"
    }
  ]
}

Screenshot der erkannten Wörter.

Auswahlmarkierungen

Ein Auswahlzeichen ist ein Inhaltselement, das eine visuelle Glyphe darstellt, die den Status einer Auswahl angibt. Auswahlzeichen werden im Dokument möglicherweise als Kontrollkästchen, Häkchen oder Schaltflächen angezeigt. Sie können ein Auswahlzeichen mit unterschiedlicher visueller Darstellung auswählen oder löschen, um den Zustand anzugeben. Auswahlzeichen werden als Wörter im Dokumentanalyseergebnis mithilfe der Unicode-Zeichen (ausgewählt) und (gelöscht) codiert.

Inhaltsverständnis erkennt Häkchen in einer Tabellenzelle als Auswahlzeichen im ausgewählten Zustand. Leere Tabellenzellen werden nicht als Auswahlmarkierungen im geklärten Zustand erkannt.

JSON-Beispiel:

{
  "words": [
    {
      "content": "☒",
      "span": {
        "length": 1
      },
      "confidence": 0.983,
      "source": "D(1,1.258,2.7952,1.3705,2.7949,1.371,2.9098,1.2575,2.9089)"
    }
  ]
}

Screenshot der erkannten Auswahlmarkierungen.

Barcodes

Ein Barcode ist ein Inhaltselement, das sowohl lineare Barcodes (z. B. UPC oder EAN) als auch zweidimensionale (z. B. QR- oder MaxiCode)-Barcodes beschreibt. Content Understanding stellt Barcodes mithilfe des erkannten Typs und extrahierten Werts dar. Die folgenden Barcodeformate werden derzeit unterstützt:

Barcodetyp BESCHREIBUNG
QRCode QR-Code, wie in ISO/IEC 18004:2015 definiert
PDF417 PDF417, wie in ISO 15438 definiert
UPCA GS1 12-stelliger Universeller Produktcode
UPCE GS1 6-stelliger Universeller Produktcode
Code39 Code 39 Barcode, wie in ISO/IEC 16388:2007 definiert
Code128 Code 128-Barcode, wie in ISO/IEC 15417:2007 definiert
EAN8 GS1 8-stellige Internationale Artikelnummer (Europäische Artikelnummer)
EAN13 GS1 13-stellige Internationale Artikelnummer (Europäische Artikelnummer)
DataBar GS1 DataBar-Barcode
Code93 Code 93 Barcode, wie in ANSI/AIM BC5-1995 definiert
Codabar Codabar-Barcode, wie in ANSI/AIM BC3-1995 definiert
DataBarExpanded Erweiterter GS1 DataBar-Barcode
ITF „Interleaved 2 of 5 barcode (ITF)“ gemäß Definition in ANSI/AIM BC2-1995
MicroQRCode Mikro-QR-Code, wie in ISO/IEC 23941:2022 definiert
Aztec Aztec-Code, wie in ISO/IEC 24778:2008 definiert
DataMatrix Datenmatrixcode gemäß Definition in ISO/IEC 16022:2006
MaxiCode MaxCode, wie in ISO/IEC 16023:2000 definiert

JSON-Beispiel:

{
  "barcodes": [
    {
      "kind": "Code39",
      "value": "Hello World",
      "source": "D(1,2.5738,4.8186,3.8617,4.8153,3.8621,4.9894,2.5743,4.9928)",
      "span": {"offset": 192, "length": 10 },
      "confidence": 0.977
    }
  ]
}

Formeln

Eine Formel ist ein Inhaltselement, das mathematische Ausdrücke im Dokument darstellt. Es kann sich um eine Inlineformel handeln, die mit einem anderen Text oder einer Anzeigeformel eingebettet ist, die eine ganze Zeile einnimmt. Multilineformeln werden als mehrere Anzeigeformelelemente dargestellt, die in Absätzen gruppiert sind, um mathematische Beziehungen beizubehalten.

Die Formel kann vom Typ inline oder display abhängig von der Platzierung der Formel im Dokument sein.

JSON-Beispiel:

{
  "formulas": [
    {
      "kind": "inline",
      "value": "x = \\frac { - b \\pm \\sqrt { b ^ { 2 } - 4 a c } } { 2 a }",
      "confidence": 0.708,
      "source": "D(1,3.4282,7.0195,4.0452,7.0307,4.0425,7.1803,3.4255,7.1691)",
      "span": {
        "offset": 394,
        "length": 51
      }
    }
  ]
}

Zahlen

Eine Abbildung ist ein Inhaltselement, das ein eingebettetes Bild, eine Abbildung oder ein Diagramm im Dokument darstellt. Inhaltsverständnis generiert eine Zusammenfassung der erkannten Zahlen, konvertiert ausgewählte Bilder in chart.js Darstellung und extrahiert alle eingebetteten Texte aus den Bildern und alle zugehörigen Beschriftungen und Fußnoten. Diagramme werden in Abbildungsinhalten mithilfe der chart.js-Syntax und Grafiken in Abbildungsinhalten mithilfe einer Zeichenfolge in der Mermaid-Syntax dargestellt. Dies ist ein optionales Feature, das Sie in der Analysekonfiguration aktivieren können, indem Sie sie festlegen enableFigureAnalysis und enableFigureDescription als true.

Die folgenden Abbildungstypen werden derzeit unterstützt:

Abbildungstyp Darstellung
Bar chart Chart.js
Line chart Chart.js
Pie chart Chart.js
Radar chart Chart.js
Scatter chart Chart.js
Bubble chart Chart.js
Quadrant chart Chart.js
Mixed chart (e.g. combined bar and line chart) Mermaid.js
Flow chart Mermaid.js
Sequence diagrams Mermaid.js
Gantt chart Mermaid.js

JSON-Beispiel:

{
  "figures": [
     {
      // enableFigureDescription = True
      "description": "This figure illustrates the sales revenue over the year 2023.",

      // enableFigureAnalysis = True
      "kind": "chart",
      "content": {
        "type": "line",
        "data": {
          "labels": ["January", "February", "March", "April", "May", "June", "July"],
          "datasets": [
            {
              "label": "A",
              "data": [93, -29, -17, -8, 73, 98, 40]
            },
            {
              "label": "B",
              "data": [20, 85, -79, 93, 27, -81, -22]
            }
          ]
        },
        "options": {
          "title": { "text": "Title" }
        }
      }
    },
    {
      "kind": "mermaid",
      "content": "xychart-beta\n    title \"Sales Revenue\"\n    x-axis [jan, feb, mar, apr]..."
    },
  ]
}

Ein Hyperlink ist ein Inhaltselement, das einen eingebetteten Link darstellt, der eine Verbindung mit einer anderen Ressource wie der Webseite im Dokument herstellt. Das Inhaltsverständnis stellt Hyperlinks mithilfe des eingebetteten Links dar.

JSON-Beispiel:

{
  "hyperlinks": [
        {
          "content": "Microsoft",
          "url": "https://www.microsoft.com",
          "span": {...},
          "source": "..."
        }
  ]
}

Anmerkungen

Anmerkungen sind zusätzliche Metadaten für das Dokument, um zusätzliche Informationen, Klarstellungen oder Feedback bereitzustellen, ohne den Hauptinhalt selbst zu ändern. Es gibt viele Arten von Anmerkungen, die konkrete Inhaltsbereiche einschließen oder sogar auf bestimmte Begrenzungsfelder verweisen können. Nachfolgend finden Sie die Liste der von uns unterstützten Anmerkungstypen.

Hinweis

Beachten Sie, dass Anmerkungen derzeit nur in digitalen PDF-Eingaben unterstützt werden.

Annotationstyp
highlight
underline
strikethrough
rectangle
circle
drawing
comments
other

JSON-Beispiel:

{
  "annotations": [
    {
      "id": "underline-1",
      "kind": "underline",
      "spans": [...],
      "source": "D(pageNumber,l,t,w,h)",
      "comments": [
        {
          "message": "Hi",
          "author": "johndoe",
          "createdAt": "2023-10-01T12:00:00Z",
          "tags": ["approved"]
        }
      ]
      "author": "paulhsu",
      "createdAt": "2023-10-01T12:00:00Z",
      "lastModifiedAt": "2023-10-02T12:00:00Z",
      "tags": [ ... ],
    }
  ]
}

Layoutelemente

Dokumentlayoutelemente sind visuelle und strukturelle Komponenten, z. B. Seiten, Tabellen, Absätze, Linien, Tabellen, Abschnitte und allgemeine Struktur, die das Interpretieren von Inhalten erleichtern. Durch das Extrahieren dieser Elemente können Tools Dokumente effizient für Aufgaben wie Informationsabruf, semantisches Verständnis und Datenstrukturierung analysieren.

Seiten

Eine Seite ist eine Gruppierung von Inhalten, die in der Regel einer Seite eines Blatts Papier entsprechen. Eine gerenderte Seite ist durch Breite und Höhe in der angegebenen Einheit gekennzeichnet. Im Allgemeinen verwenden Bilder Pixel, während PDF-Dateien Zoll verwenden. Die angle Eigenschaft beschreibt den gesamten Textwinkel in Grad für Seiten, die gedreht werden können.

Bei Arbeitsblättern (z. B. in Excel) wird jedes Blatt einer Seite zugeordnet. Bei Präsentationen (z. B. in PowerPoint) wird jede Folie einer Seite zugeordnet. Bei Dateiformaten wie HTML- oder Word-Dokumenten, die kein systemeigenes Seitenkonzept ohne Rendering aufweisen, wird der gesamte Hauptinhalt als einzelne Seite behandelt.

JSON-Beispiel:

{
  "pages": [
    {
      "pageNumber": 1,
      "angle": 0.0739153,
      "width": 8.5,
      "height": 11,
      "spans": [
        {
          "offset": 0,
          "length": 620
        }
      ],
      "words": [ /* array of word objects */ ],
      "barcodes": [ /* details of barcodes */ ],
      "lines": [ /* array of line objects */ ],
      "formulas": [ /* array of formula objects */ ]
    }
  ]
}

Absätze

Ein Absatz ist eine geordnete Abfolge von Zeilen, die eine logische Einheit bilden. Üblicherweise weisen die Zeilen die gleiche Ausrichtung und gleiche Abstände zwischen den Zeilen auf. Absätze werden häufig durch Einrückung, einen zusätzlichen Abstand oder Aufzählungszeichen/Nummerierung gekennzeichnet. Einige Absätze weisen spezielle funktionale Rollen im Dokument auf. Derzeit unterstützte Rollen umfassen Seitenkopf, Seitenfuß, Seitenzahl, Titel, Abschnittsüberschrift, Fußnoten- und Formelblock.

JSON-Beispiel:

{
  "paragraphs": [
    {
      "role": "title",
      "content": "Example Document",
      "source": "D(1,1.264,1.0836,4.1584,1.0795,4.1589,1.4083,1.2644,1.4124)",
      "span": {
        "offset": 0,
        "length": 18
      }
    }
  ]
}

Linien

Eine Zeile ist eine geordnete Sequenz aufeinander folgender Inhaltselemente, die häufig durch visuelle Leerzeichen getrennt sind. Inhaltselemente in derselben horizontalen Ebene (Zeile), die jedoch durch mehr als einen einzigen visuellen Bereich getrennt sind, werden meistens in mehrere Zeilen aufgeteilt. Dieses Feature teilt manchmal semantisch zusammenhängenden Inhalt in separate Zeilen auf. Sie ermöglicht auch die Darstellung von Textinhalten, die in mehrere Spalten oder Zellen aufgeteilt werden. Zeilen in vertikaler Schreibrichtung werden in vertikaler Richtung erkannt.

JSON-Beispiel:

{
  "lines": [
    {
      "content": "Example Document",
      "source": "D(1,1.264,1.0836,4.1583,1.0795,4.1589,1.4083,1.2645,1.4117)",
      "span": {
        "offset": 0,
        "length": 16
      }
    }
  ]
}

Tabellen

Eine Tabelle organisiert Inhalte in einer Gruppe von Zellen in einem Rasterlayout. Die Zeilen und Spalten können visuell durch Gitternetzlinien, Farbbänder oder einen größeren Abstand voneinander getrennt werden. Die Position einer Tabellenzelle wird durch ihre Zeilen- und Spaltenindizes angegeben. Eine Zelle kann sich über mehrere Zeilen und Spalten erstrecken.

Basierend auf ihrer Position und Formatierung wird eine Zelle als allgemeiner Inhalt, Zeilenüberschrift, Spaltenüberschrift, Stub-Kopf oder Beschreibung klassifiziert.

  • Eine Zeilenüberschrift ist üblicherweise die erste Zelle in einer Zeile, die die übrigen Zellen in der Zeile beschreibt.
  • Eine Spaltenüberschrift ist üblicherweise die erste Zelle in einer Spalte, die die übrigen Zellen in der Zeile beschreibt.
  • Eine Zeile oder Spalte kann mehrere Kopfzeilenzellen zur Beschreibung hierarchischer Inhalte enthalten.
  • Eine Stub-Überschriftenzelle ist üblicherweise die Zelle in der ersten Zeile und der ersten Spalte. Die Zelle ist entweder leer oder beschreibt die Werte in den Kopfzeilenzellen in derselben Zeile/Spalte.
  • Eine Beschreibungszelle wird in der Regel im oberen oder untersten Bereich einer Tabelle angezeigt und beschreibt den Gesamten Tabelleninhalt. Es kann manchmal in der Mitte einer Tabelle angezeigt werden, um die Tabelle in Abschnitte zu unterteilen. Normalerweise erstrecken sich die Beschreibungszellen über mehrere Zellen in einer einzigen Zeile.

Eine Tabellenlegende enthält Informationen zur Erläuterung der Tabelle. Eine Tabelle kann auch eine Reihe von Fußnoten enthalten. Anders als eine Beschreibungszelle liegt eine Legende üblicherweise außerhalb des Rasterlayouts. Tabellennoten kommentieren Inhalte in der Tabelle und werden häufig mit Fußnotensymbolen gekennzeichnet. Sie befinden sich häufig unter dem Tabellenraster.

Eine Tabelle kann sich über aufeinander folgende Seiten eines Dokuments erstrecken. In diesem Fall behalten Tabellenfortsetzungen auf nachfolgenden Seiten in der Regel die gleiche Spaltenanzahl, Breite und Formatierung bei. Sie wiederholen häufig die Spaltenüberschriften. Normalerweise kommt kein dazwischen liegender Inhalt zwischen der ursprünglichen Tabelle und seinen Fortsetzungen, mit Ausnahme von Seitenkopfzeilen, Fußzeilen und Seitenzahlen.

Eine Tabelle kann sich über aufeinander folgende Seiten eines Dokuments erstrecken. In diesem Fall behalten Tabellenfortsetzungen auf nachfolgenden Seiten in der Regel die gleiche Spaltenanzahl, Breite und Formatierung bei. Sie wiederholen häufig die Spaltenüberschriften. Außer Seitenkopfzeilen, Fußzeilen und Seitenzahlen gibt es in der Regel keinen dazwischen liegenden Inhalt zwischen der ursprünglichen Tabelle und den zugehörigen Fortsetzungen.

Hinweis

Die Spanne für Tabellen deckt sowohl den Kerninhalt als auch die zugehörigen Beschriftungen und Fußnoten ab.

JSON-Beispiel:

{
  "tables": [
    {
      "rowCount": 6,
      "columnCount": 2,
      "cells": [
        {
          "kind": "columnHeader",
          "rowIndex": 0,
          "columnIndex": 0,
          "rowSpan": 1,
          "columnSpan": 1,
          "content": "Category",
          "source": "D(2,1.1674,5.0483,4.1733,5.0546,4.1733,5.2358,1.1674,5.2358)",
          "span": {
            "offset": 798,
            "length": 8
          },
          "elements": [
            "/paragraphs/7"
          ]
        }
      ],
      "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
      "span": {
        "offset": 781,
        "length": 280
      },
      "caption": {
        "content": "Table 1: This is a table",
        "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
        "span": {
          "offset": 335,
          "length": 30
        }
      }
    }
  ]
}

Screenshot einer Tabelle, die das Layoutfeature verwendet.

Abschnitte

Ein Abschnitt ist eine logische Gruppierung verwandter Inhaltselemente, die eine hierarchische Struktur innerhalb des Dokuments bilden. Es beginnt häufig mit einer Abschnittsüberschrift als erster Absatz. Ein Abschnitt kann Unterabschnitte enthalten, um eine geschachtelte Dokumentstruktur zu erstellen, die semantische Beziehungen bewahrt.

JSON-Beispiel:

{
  "sections": [
    {
      "span": {
        "offset": 113,
        "length": 77
      },
      "elements": [
        "/paragraphs/3",
        "/paragraphs/4"
      ]
    }
  ]
}

Elementeigenschaften

Dokumente bestehen aus verschiedenen Komponenten, die in strukturelle, textbezogene und formularbezogene Elemente kategorisiert werden. Diese Elemente definieren die Organisation und Präsentation des Dokuments. Sie können die Elemente systematisch zur weiteren Analyse oder Anwendung identifizieren und extrahieren.

Spans

Die span Eigenschaft gibt die logische Position des Elements im Dokument über den Zeichenoffset und die Länge in der Zeichenfolgeneigenschaft der obersten Ebene markdown an. Standardmäßig werden Zeichenoffsets und Längen in Unicode-Codepunkten zurückgegeben, die von Python 3 verwendet werden. Um verschiedene Entwicklungsumgebungen mit unterschiedlichen Zeicheneinheiten zu berücksichtigen, können Sie den stringEncoding Abfrageparameter angeben, um Offsets und Längen in UTF16-Codeeinheiten (Java, JavaScript oder .NET) oder UTF8 Bytes (Go, Rust, Ruby oder PHP) zurückzugeben.

Quelle

Die source Eigenschaft beschreibt die visuelle Position des Elements in der Datei mithilfe einer codierten Zeichenfolge. Bei Dokumenten befindet sich die Quellzeichenfolge in einem der folgenden Formate:

  • Begrenzungspolygon: D({pageNumber},{x1},{y1},{x2},{y2},{x3},{y3},{x4},{y4})
  • Achsausrichteter Begrenzungsrahmen: D({pageNumber},{left},{top},{width},{height})

Seitenzahlen sind ab 1 indiziert. Das Begrenzungspolygon beschreibt eine Sequenz aus Punkten, die links relativ zur natürlichen Ausrichtung des Elements beginnt und im Uhrzeigersinn fortgesetzt wird. Bei Quadrilateralen stellen die Punkte die obere linke, obere rechte, untere rechte und untere linke Ecke dar. Jeder Punkt stellt die x,y-Koordinate in der längeneinheit dar, die durch die unit Eigenschaft angegeben wird. Im Allgemeinen ist die Maßeinheit für Bilder Pixel. PDFs verwenden Zoll.

Screenshot der erkannten Begrenzungsbereiche.

Hinweis

Derzeit gibt Content Understanding nur ein Viereck mit vier Eckpunkten als begrenzendes Polygon zurück. Zukünftige Versionen können eine andere Anzahl von Punkten zurückgeben, um komplexere Formen zu beschreiben, z. B. gekrümmte Linien oder nicht-ectangulare Bilder. Derzeit wird die Quelle nur für Elemente aus gerenderten Dateien (PDF/Bild) zurückgegeben.

Vollständiges JSON-Beispiel

Das folgende Beispiel zeigt die vollständige JSON-Antwortstruktur aus der Analyse eines Dokuments. Dieser JSON-Code stellt die vollständige Ausgabe von Content Understanding dar, wenn Sie ein PDF-Dokument mit mehreren Elementtypen verarbeiten:

Screenshot des PDF-Demodokuments mit Beispielinhalten, einschließlich Kontrollkästchen, Barcodes, Formeln, Bildern und Tabellen.

{
  "id": "10a01d32-e21e-46e3-bb5c-361375f184de",
  "status": "Succeeded",
  "result": {
    "analyzerId": "auto-labeling-model-1750287025291-104",
    "apiVersion": "2025-05-01-preview",
    "createdAt": "2025-06-18T22:50:34Z",
    "warnings": [],
    "contents": [
      {
        "markdown": "# Example Document\n\n\n## 1. Selection Marks (Checkboxes)\n\nEmployee Preferences Form\n☐\nRemote\n☒\nHybrid\n☐\nOn-site\n\n\n## 2. Barcodes\n\nGo check out Azure Content Understanding at the below link\n\n\n## 3. Formulas\n\nBayesian Inference (Posterior Probability):\n\n$$P \\left( \\theta \\mid D \\right) = \\frac { P \\left( D \\mid \\theta \\right) \\cdot P \\left( \\theta \\right) } { P \\left( D \\right) }$$\n\nWhere:\n\n$$P \\left( \\theta \\mid D \\right)$$\nis the posterior\n\n$P \\left( D \\mid \\theta \\right)$ is the likelihood\n$P \\left( \\theta \\right)$ is the prior\n\n$$P \\left( D \\right) i s \\quad t h e \\quad e v i d e n c e$$\n\n<!-- PageBreak -->\n\n\n## 4. Images\n\nSample Product Image\n\n\n<figure>\n\nContent\nUnderstanding\n\n</figure>\n\n\nImage Description: \"A ceramic coffee mug with company logo.\"\n\n\n## 5. Tables\n\n\n<table>\n<tr>\n<th>Category</th>\n<th>Amount ($)</th>\n</tr>\n<tr>\n<td>Rent</td>\n<td>1,200</td>\n</tr>\n<tr>\n<td>Utilities</td>\n<td>150</td>\n</tr>\n<tr>\n<td>Groceries</td>\n<td>300</td>\n</tr>\n<tr>\n<td>Transportation</td>\n<td>100</td>\n</tr>\n<tr>\n<td>Total</td>\n<td>1,750</td>\n</tr>\n</table>\n\n\n## 6. Paragraphs\n\nOur company is committed to fostering a productive and inclusive work environment. All\nemployees are expected to comply with the outlined policies and demonstrate mutual\nrespect in day-to-day operations. Regular reviews will ensure that these policies remain\nrelevant and effective.\n",
        "fields": {
          "EmployeePreferences": {
            "type": "string",
            "valueString": "Hybrid",
            "spans": [
              {
                "offset": 94,
                "length": 6
              }
            ],
            "confidence": 0.987,
            "source": "D(1,1.4104,2.7836,1.8760,2.7823,1.8760,2.9377,1.4110,2.9396)"
          },
          "ImageDescription": {
            "type": "string",
            "valueString": "\"A ceramic coffee mug with company logo.\"",
            "spans": [
              {
                "offset": 722,
                "length": 41
              }
            ],
            "confidence": 0.958,
            "source": "D(2,2.5222,4.2511,5.3236,4.2497,5.3237,4.4422,2.5223,4.4436)"
          }
        },
        "kind": "document",
        "startPageNumber": 1,
        "endPageNumber": 2,
        "unit": "inch",
        "pages": [
          {
            "pageNumber": 1,
            "angle": 0.0739153,
            "width": 8.5,
            "height": 11,
            "spans": [
              {
                "offset": 0,
                "length": 620
              }
            ],
            "words": [
              {
                "content": "Example",
                "span": {
                  "length": 7
                },
                "confidence": 0.992,
                "source": "D(1,1.265,1.0836,2.4972,1.0816,2.4964,1.4117,1.2645,1.4117)"
              },
              {
                "content": "Document",
                "span": {
                  "length": 8
                },
                "confidence": 0.996,
                "source": "D(1,2.6252,1.084,4.1615,1.0886,4.1615,1.3993,2.6241,1.4117)"
              },
              {
                "content": "☒",
                "span": {
                  "length": 1
                },
                "confidence": 0.983,
                "source": "D(1,1.258,2.7952,1.3705,2.7949,1.371,2.9098,1.2575,2.9089)"
              },
              {
                "content": "Hybrid",
                "span": {
                  "length": 6
                },
                "confidence": 0.996,
                "source": "D(1,1.4104,2.7836,1.876,2.7823,1.876,2.9377,1.411,2.9396)"
              }
            ],
            "lines": [
              {
                "content": "Example Document",
                "source": "D(1,1.264,1.0836,4.1583,1.0795,4.1589,1.4083,1.2645,1.4117)",
                "span": {
                  "offset": 0,
                  "length": 16
                }
              }
            ],
            "formulas": [
              {
                "confidence": 0.583
              },
              {
                "confidence": 0.708
              }
            ]
          },
          {
            "pageNumber": 2,
            "angle": 0.1008425,
            "width": 8.5,
            "height": 11,
            "spans": [
              {
                "offset": 620,
                "length": 744
              }
            ],
            "words": [
              {
                "content": "Images",
                "source": "D(2,1.4516,1.0434,2.0254,1.0463,2.0254,1.229,1.4506,1.224)"
              },
              {
                "content": "ceramic",
                "source": "D(2,2.5230,4.2539,2.6591,4.2543,2.6584,4.4392,2.5223,4.4407)"
              }
            ],
            "lines": [
              {
                "content": "4. Images",
                "source": "D(2,1.24,1.0409,2.0238,1.0463,2.0226,1.2284,1.2387,1.223)"
              }
            ]
          }
        ],
        "paragraphs": [
          {
            "role": "title",
            "content": "Example Document",
            "source": "D(1,1.264,1.0836,4.1584,1.0795,4.1589,1.4083,1.2644,1.4124)",
            "span": {
              "offset": 0,
              "length": 18
            }
          },
          {
            "role": "sectionHeading",
            "content": "1. Selection Marks (Checkboxes)",
            "source": "D(1,1.2461,1.8719,3.8532,1.8731,3.8531,2.065,1.246,2.0638)",
            "span": {
              "offset": 21,
              "length": 34
            }
          },
          {
            "content": "Employee Preferences Form ☐ Remote ☒ Hybrid ☐ On-site",
            "source": "D(1,1.246,2.0993,3.1019,2.1007,3.101,3.2724,1.2451,3.2709)",
            "span": {
              "offset": 57,
              "length": 53
            }
          }
        ],
        "sections": [
          {
            "span": {
              "offset": 0,
              "length": 1364
            },
            "elements": [
              "/paragraphs/0",
              "/sections/1",
              "/sections/2",
              "/sections/3",
              "/sections/4",
              "/sections/5",
              "/sections/6"
            ]
          },
          {
            "span": {
              "offset": 21,
              "length": 89
            },
            "elements": [
              "/paragraphs/1",
              "/paragraphs/2"
            ]
          }
        ],
        "tables": [
          {
            "rowCount": 6,
            "columnCount": 2,
            "cells": [
              {
                "kind": "columnHeader",
                "rowIndex": 0,
                "columnIndex": 0,
                "rowSpan": 1,
                "columnSpan": 1,
                "content": "Category",
                "source": "D(2,1.1674,5.0483,4.1733,5.0546,4.1733,5.2358,1.1674,5.2358)",
                "span": {
                  "offset": 798,
                  "length": 8
                }
              },
              {
                "kind": "columnHeader",
                "rowIndex": 0,
                "columnIndex": 1,
                "rowSpan": 1,
                "columnSpan": 1,
                "content": "Amount ($)",
                "source": "D(2,4.1733,5.0546,7.1668,5.0546,7.1668,5.2358,4.1733,5.2358)",
                "span": {
                  "offset": 816,
                  "length": 10
                }
              }
            ],
            "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
            "span": {
              "offset": 781,
              "length": 280
            }
          }
        ],
        "figures": [
          {
            "source": "D(2,1.3465,1.8481,3.4788,1.8484,3.4779,3.8286,1.3456,3.8282)",
            "span": {
              "offset": 658,
              "length": 42
            },
            "elements": [
              "/paragraphs/14"
            ],
            "id": "2.1"
          }
        ]
      }
    ]
  }
}

In diesem vollständigen Beispiel wird veranschaulicht, wie Inhaltsverständnis alle verschiedenen Elementtypen aus einem Dokument extrahiert und strukturiert. Sie stellt sowohl den Rohinhalt als auch die detaillierten Positions- und Strukturinformationen bereit, die erweiterte Dokumentverarbeitungsworkflows ermöglichen.