Freigeben über


Dokument Intelligenz-Layoutmodell

Dieser Inhalt gilt für: Häkchen Version 4.0 (GA) | Vorherige Versionen: Blaues Häkchen Version 3.1 (GA) Blaues Häkchen Version 3.0 (GA) Blaues Häkchen Version 2.1 (GA)

Das Layoutmodell von Dokument Intelligenz ist eine auf erweitertem maschinellem Lernen basierende Dokumentlayoutanalyse-API, die in der Dokument Intelligenz-Cloud verfügbar ist. Sie ermöglicht Ihnen, Dokumente in verschiedenen Formaten zu nehmen und strukturierte Datendarstellungen der Dokumente zurückzugeben. Die API kombiniert eine verbesserte Version der leistungsstarken Funktionen zur optischen Zeichenerkennung (Optical Character Recognition, OCR) mit Deep Learning-Modellen zum Extrahieren von Text, Tabellen, Auswahlmarkierungen und der Dokumentstruktur.

Dokumentlayoutanalyse (v4)

Bei der Dokumentstruktur-Layoutanalyse handelt es sich um den Vorgang der Analyse eines Dokuments zu dem Zweck, relevante Bereiche und ihre Beziehungen untereinander zu extrahieren. Ziel ist es, Text- und Strukturelemente aus der Seite zu extrahieren, um Modelle mit besserem Semantikverständnis zu erstellen. Es gibt zwei Arten von Rollen in einem Dokumentlayout:

  • Geometrische Rollen: Text, Tabellen, Abbildungen und Auswahlmarkierungen sind Beispiele für geometrische Rollen.
  • Logische Rollen: Titel, Kopfzeilen und Fußzeilen sind Beispiele für logische Rollen von Texten.

Die folgende Abbildung zeigt die typischen Komponenten eines Bildes auf einer Beispielseite.

Abbildung des Beispiels eines Dokumentlayouts.

Entwicklungsoptionen (v4)

Dokument Intelligenz Version 4.0: 2024-11-30 (GA) unterstützt die folgenden Tools, Anwendungen und Bibliotheken:

Funktion Ressourcen Modell-ID
Layoutmodell Document Intelligence Studio
REST API
C# SDK
Python SDK
Java SDK
JavaScript SDK
prebuilt-layout

Eingabeanforderungen (v4)

  • Unterstützte Dateiformate:

    Modell PDF Abbildung:
    JPEG/JPG, PNG, BMP, TIFF, HEIF
    Microsoft Office:
    Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML
    Lesen Sie
    Layout
    Allgemeines Dokument
    Vordefiniert
    Benutzerdefinierte Extraktion
    Benutzerdefinierte Klassifizierung
  • Die besten Ergebnisse erzielen Sie, wenn Sie pro Dokument ein deutliches Foto oder einen hochwertigen Scan bereitstellen.

  • In den Formaten PDF und TIFF können bis zu 2,000 Seiten verarbeitet werden (bei einem kostenlosen Abonnement werden nur die ersten beiden Seiten verarbeitet).

  • Die Dateigröße für die Analyse von Dokumenten beträgt 500 MB für den kostenpflichtigen Tarif (S0) und 4 MB für den kostenlosen Tarif (F0).

  • Die Bildgröße muss zwischen 50 × 50 Pixel und 10.000 × 10.000 Pixel liegen.

  • Wenn Ihre PDFs kennwortgeschützt sind, müssen Sie die Sperre vor dem Senden entfernen.

  • Die Mindesthöhe des zu extrahierenden Texts beträgt 12 Pixel für ein Bild von 1024 × 768 Pixel. Diese Abmessung entspricht etwa einem 8-Punkttext bei 150 Punkten pro Zoll (Dots Per Inch, DPI).

  • Die maximale Anzahl Seiten für Trainingsdaten beträgt beim benutzerdefinierten Modelltraining 500 für das benutzerdefinierte Vorlagenmodell und 50.000 für das benutzerdefinierte neuronale Modell.

    • Für das Training benutzerdefinierter Extraktionsmodelle beträgt die Gesamtgröße der Trainingsdaten 50 MB für das Vorlagenmodell und 1 GB für das neuronale Modell.

    • Für das Training benutzerdefinierter Klassifizierungsmodelle beträgt die Gesamtgröße der Trainingsdaten 1 GB bei maximal 10.000 Seiten. Für 2024-11-30 (GA) beträgt die Gesamtgröße der Trainingsdaten 2 GB bei maximal 10.000 Seiten.

Erste Schritte mit dem Layoutmodell

Erfahren Sie, wie Daten, einschließlich Text, Tabellen, Tabellenkopfzeilen, Auswahlmarkierungen und Strukturinformationen, mithilfe von Dokument Intelligenz aus Dokumenten extrahiert werden. Sie benötigen die folgenden Ressourcen:

  • Ein Azure-Abonnement (Sie können ein kostenloses Abonnement erstellen).

  • Eine Dokument Intelligenz-Instanz im Azure-Portal. Sie können den kostenlosen Tarif (F0) verwenden, um den Dienst auszuprobieren. Wählen Sie nach der Bereitstellung Ihrer Ressource Zu Ressource wechseln aus, um Ihren Schlüssel und Endpunkt abzurufen.

    Screenshot: Schlüssel und Endpunkt im Azure-Portal

Hinweis

Dokument Intelligenz Studio ist mit den APIs der Version 3.0 und höheren Versionen verfügbar.

Beispieldokument, das mit Dokument Intelligenz Studio verarbeitet wurde

Screenshot der Verarbeitung einer Beispielseite aus einer Zeitung durch „layout“ in Dokument Intelligenz Studio

  1. Wählen Sie auf der Startseite von Dokument Intelligenz Studio die Option Layout aus.

  2. Sie können das Musterdokument analysieren oder Ihre eigenen Dateien hochladen.

  3. Wählen Sie die Schaltfläche Analyse ausführen aus, und konfigurieren Sie bei Bedarf die Analyseoptionen:

    Screenshot der Schaltflächen „Analyse ausführen“ und „Analyseoptionen“ im Document Intelligence Studio.

Unterstützte Sprachen

Eine vollständige Liste der unterstützten Sprachen finden Sie unter Sprachunterstützung – Dokumentanalysemodelle.

Datenextraktion (v4)

Das Layoutmodell extrahiert Text, Auswahlmarken, Tabellen, Absätze und Absatztypen (roles) aus Ihren Dokumenten.

Hinweis

Dokument Intelligenz v4.0 (2024-11-30 (GA)) und höher unterstützt Microsoft Office- (DOCX, XLSX, PPTX) und HTML-Dateien. Folgende Funktionen werden nicht unterstützt:

  • Für die einzelnen Seitenobjekte gibt es keine Angaben für Winkel, Breite/Höhe und Einheit.
  • Für die einzelnen erkannten Objekte gibt es weder ein Begrenzungspolygon noch einen Begrenzungsbereich.
  • Der Seitenbereich (pages) wird nicht als Parameter unterstützt.
  • Es gibt kein lines-Objekt.

Seiten

Die Seitensammlung ist eine Liste von Seiten innerhalb des Dokuments. Jede Seite wird innerhalb des Dokuments sequenziell dargestellt und ../enthält den Ausrichtungswinkel, der angibt, ob die Seite gedreht wurde, sowie die Breite und Höhe (Abmessungen in Pixel). Die Seiteneinheiten in der Modellausgabe werden wie gezeigt berechnet:

Dateiformat Berechnete Seiteneinheit Seiten gesamt
Bilder (JPEG/JPG, PNG, BMP, HEIF) Jedes Bild = 1 Seiteneinheit Gesamtzahl der Bilder
PDF Jede Seite in der PDF = 1 Seiteneinheit Gesamtseitenzahl in der PDF
TIFF Jedes TIFF-Bild = 1 Seiteneinheit Gesamtanzahl der Bilder im TIFF-Dokument
Word (DOCX) Bis zu 3.000 Zeichen = 1 Seiteneinheit, eingebettete oder verknüpfte Bilder werden nicht unterstützt Gesamtzahl der Seiten von bis zu 3.000 Zeichen jeweils
Excel (XLSX) Jedes Arbeitsblatt = 1 Seiteneinheit, eingebettete oder verknüpfte Bilder nicht unterstützt Arbeitsblätter insgesamt
PowerPoint (PPTX) Jede Folie = 1 Seiteneinheit, eingebettete oder verknüpfte Bilder nicht unterstützt Folien insgesamt
HTML Bis zu 3.000 Zeichen = 1 Seiteneinheit, eingebettete oder verknüpfte Bilder werden nicht unterstützt Gesamtzahl der Seiten von bis zu 3.000 Zeichen jeweils
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")

Extrahiert ausgewählte Seiten aus Dokumenten

Verwenden Sie für umfangreiche Dokumente mit mehreren Seiten den Abfrageparameter pages, um bestimmte Seitenzahlen oder Seitenbereiche für die Textextraktion anzugeben.

Absätze

Das Layoutmodell extrahiert alle identifizierten Textblöcke in der paragraphs-Auflistung als Objekt der obersten Ebene unter analyzeResults. Jeder Eintrag in dieser Auflistung stellt einen Textblock dar und ../enthält den extrahierten Text als content sowie die Begrenzungs-polygon-Koordinaten. Die span-Informationen zeigen auf das Textfragment innerhalb der content-Eigenschaft der obersten Ebene, die den vollständigen Text aus dem Dokument enthält.


"paragraphs": [
    {
        "spans": [],
        "boundingRegions": [],
        "content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
    }
]

Absatzrollen

Die neue auf maschinellem Lernen basierende Seitenobjekterkennung extrahiert logische Rollen wie Titel, Abschnittsüberschriften, Kopfzeilen, Fußzeilen und vieles mehr. Das Layoutmodell von Dokument Intelligenz weist bestimmte Textblöcke in der paragraphs-Sammlung mit ihrer speziellen, vom Modell vorhergesagten Rolle oder ihrem speziellen Typ zu. Absatzrollen werden am besten mit unstrukturierten Dokumenten verwendet, um das Layout des extrahierten Inhalts zu verstehen und so eine umfassendere semantische Analyse zu ermöglichen. Die folgenden Absatzrollen werden unterstützt:

Vorhergesagte Rolle Beschreibung Unterstützte Dateitypen
title Hauptüberschriften auf der Seite pdf, image, docx, pptx, xlsx, html
sectionHeading Eine oder mehrere Unterüberschriften auf der Seite pdf, image, docx, xlsx, html
footnote Text im unteren Bereich der Seite pdf, image
pageHeader Text am oberen Rand der Seite pdf, image, docx
pageFooter Text am unteren Rand der Seite pdf, image, docx, pptx, html
pageNumber Seitenzahl pdf, image
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

Text, Zeilen und Wörter

Das Dokumentlayoutmodell in Dokument Intelligenz extrahiert gedruckten und handschriftlichen Text als lines und words. Die styles-Auflistung ../enthält alle handschriftlichen Formatvorlagen für Zeilen (sofern erkannt) sowie die Spannen, die auf den zugeordneten Text zeigen. Dieses Feature gilt für unterstützte handschriftliche Sprachen.

Für Microsoft Word, Excel, PowerPoint und HTML extrahiert das Layoutmodell in Dokument Intelligenz v4.0 2024-11-30 (GA) den gesamten eingebetteten Text unverändert. Texte werden als Wörter und Absätze extrahiert. Eingebettete Bilder werden nicht unterstützt.

# Analyze lines.
if page.lines:
    for line_idx, line in enumerate(page.lines):
    words = get_words(page, line)
    print(
        f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
        f"within bounding polygon '{line.polygon}'"
    )

    # Analyze words.
    for word in words:
        print(f"......Word '{word.content}' has a confidence of {word.confidence}")

Handschriftlicher Text für Textzeilen

Die Antwort ../umfasst die Klassifizierung, ob es sich bei den einzelnen Textzeilen um einen handschriftlichen Stil handelt, sowie eine Konfidenzbewertung. Weitere Informationen Weitere Informationen finden Sie im Artikel zur Unterstützung für handschriftlichen Text. Das folgende Beispiel zeigt einen beispielhaften JSON-Ausschnitt.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

Wenn Sie die Add-On-Funktion für Schriftart/Schriftschnitt aktivieren, erhalten Sie als Teil des styles-Objekts auch das Ergebnis für die Schriftart und den Schriftschnitt.

Auswahlmarkierungen

Das Layoutmodell extrahiert darüber hinaus Auswahlmarkierungen aus Dokumenten. Extrahierte Auswahlmarken werden in der pages-Auflistung für jede Seite angezeigt. Sie enthalten das Begrenzungs-polygon, confidence und den Auswahl-state (selected/unselected). Die Textdarstellung (d. h. :selected: und :unselected) wird auch als Startindex (offset) und length hinzugefügt, die auf die content-Eigenschaft der obersten Ebene mit dem vollständigen Text des Dokuments verweist.

# Analyze selection marks.
if page.selection_marks:
    for selection_mark in page.selection_marks:
        print(
            f"Selection mark is '{selection_mark.state}' within bounding polygon "
            f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
        )

Tabellen

Das Extrahieren von Tabellen ist eine wichtige Anforderung für die Verarbeitung von Dokumenten mit großen Datenmengen, die in der Regel als Tabellen formatiert sind. Das Layoutmodell extrahiert Tabellen in den pageResults-Abschnitt der JSON-Ausgabe. Die extrahierten Tabelleninformationen ../umfassen die Anzahl von Spalten und Zeilen sowie den Zeilen- und Spaltenabstand. Jede Zelle mit ihrem Begrenzungspolygon wird zusammen mit Informationen ausgegeben, unabhängig davon, ob der Bereich als columnHeader erkannt wird oder nicht. Das Modell unterstützt das Extrahieren von Tabellen, die gedreht wurden. Jede Tabellenzelle enthält den Zeilen- und Spaltenindex sowie die Koordinaten des Begrenzungspolygons. Für den Zellentext gibt das Modell die span-Informationen aus, die den Startindex (offset) enthalten. Das Modell gibt auch die length innerhalb des Inhalts der obersten Ebene aus, der den vollständigen Text aus dem Dokument enthält.

Im Folgenden sind einige Faktoren zu berücksichtigen, wenn Sie die Dokument Intelligenz-Extraktionsfunktion verwenden:

  • Werden die Daten, die Sie extrahieren möchten, als Tabelle dargestellt, und ist die Tabellenstruktur aussagekräftig?

  • Können die Daten in ein zweidimensionales Raster eingepasst werden, wenn sie nicht in einem Tabellenformat vorliegen?

  • Erstrecken sich Ihre Tabellen über mehrere Seiten? Falls ja, teilen Sie die PDF-Datei vor dem Senden an Dokument Intelligenz in einzelne Seiten auf, damit nicht alle Seiten beschriftet werden müssen. Verarbeiten Sie die Seiten nach der Analyse in einer einzelnen Tabelle.

  • Informieren Sie sich über Tabellenfelder, wenn Sie benutzerdefinierte Modelle erstellen. Dynamische Tabellen weisen eine variable Anzahl von Zeilen für jede Spalte auf. Fixierte Tabellen weisen eine konstante Anzahl von Zeilen für jede Spalte auf.

Hinweis

  • Tabellenanalysen werden nicht unterstützt, wenn die Eingabedatei eine XLSX-Datei ist.
  • Für 2024-11-30 (GA) decken die Begrenzungsbereiche für Abbildungen und Tabellen nur den Kerninhalt ab und schließen zugehörige Beschriftungen und Fußnoten aus.
if result.tables:
    for table_idx, table in enumerate(result.tables):
        print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
        if table.bounding_regions:
            for region in table.bounding_regions:
                print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
        # Analyze cells.
        for cell in table.cells:
            print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
            if cell.bounding_regions:
                for region in cell.bounding_regions:
                print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")

Ausgabe im Markdownformat

Die Layout-API kann den extrahierten Text im Markdownformat ausgeben. outputContentFormat=markdown Geben Sie das Ausgabeformat in Markdown an. Der Markdowninhalt wird als Teil des content Abschnitts ausgegeben.

Hinweis

Für v4.0 2024-11-30 (GA) wird die Darstellung von Tabellen in HTML-Tabellen geändert, um das Rendern von zusammengeführten Zellen, mehrzeiligen Überschriften usw. zu ermöglichen. Eine weitere ähnliche Änderung ist die Verwendung der Unicode-Kontrollkästchenzeichen ☒ und ☐ für die Auswahlkennzeichnung anstelle von :selected: und :unselected:. Beachten Sie, dass das bedeutet, dass der Inhalt von Auswahlkennzeichnungsfeldern :selected: enthält, obwohl ihre Spannen auf Unicode-Zeichen in der Spanne der obersten Ebene verweisen.

document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
    "prebuilt-layout",
    AnalyzeDocumentRequest(url_source=url),
    output_content_format=ContentFormat.MARKDOWN,
)

Zahlen

Abbildungen (Diagramme, Bilder) in Dokumenten spielen eine entscheidende Rolle bei der Ergänzung und Verbesserung des Textinhalts, wobei visuelle Darstellungen bereitgestellt werden, die das Verständnis komplexer Informationen unterstützen. Das vom Layoutmodell erkannte Abbildungsobjekt weist wichtige Eigenschaften auf boundingRegions (die räumlichen Positionen der Abbildung auf den Dokumentseiten, einschließlich der Seitenzahl und der Polygonkoordinaten, die die Begrenzung der Abbildung umrissen), spans (detailiert den Text, der sich auf die Abbildung bezieht, und gibt ihre Offsets und Längen im Text des Dokuments an. Diese Verbindung hilft beim Zuordnen der Abbildung zu ihrem relevanten Textkontext, elements (den Bezeichnern für Textelemente oder Absätze im Dokument, die sich auf die Abbildung beziehen oder beschreiben) und caption falls vorhanden.

Wenn während des ersten Analysevorgangs output=figures angegeben wird, generiert der Dienst zugeschnittene Bilder für alle erkannten Abbildungen, auf die über /analyeResults/{resultId}/figures/{figureId} zugegriffen werden kann. FigureId wird in jedes Abbildungsobjekt aufgenommen und folgt einer undokumentierten Konvention von {pageNumber}.{figureIndex}, wobei figureIndex auf eine Instanz pro Seite zurücksetzt.

Hinweis

Für v4.0 2024-11-30 (GA) decken die Begrenzungsbereiche für Abbildungen und Tabellen nur den Kerninhalt ab und schließen zugehörige Beschriftungen und Fußnoten aus.

# Analyze figures.
if result.figures:
    for figures_idx,figures in enumerate(result.figures):
        print(f"Figure # {figures_idx} has the following spans:{figures.spans}")
        for region in figures.bounding_regions:
            print(f"Figure # {figures_idx} location on page:{region.page_number} is within bounding polygon '{region.polygon}'")

Abschnitte

Die hierarchische Dokumentstrukturanalyse ist entscheidend bei der Organisation, Verständnis und Verarbeitung umfangreicher Dokumente. Dieser Ansatz ist entscheidend für die semantische Segmentierung langer Dokumente, um das Verständnis zu steigern, die Navigation zu erleichtern und den Abruf von Informationen zu verbessern. Die Einführung von Retrieval Augmented Generation (RAG) in dokumentgeneriver KI unterstreicht die Bedeutung der hierarchischen Dokumentstrukturanalyse. Das Layoutmodell unterstützt Abschnitte und Unterabschnitte in der Ausgabe, die die Beziehung von Abschnitten und Objekten innerhalb der einzelnen Abschnitte identifiziert. Die hierarchische Struktur wird in elements den einzelnen Abschnitten beibehalten. Mit der Ausgabe können Sie das Markdownformat verwenden, um die Abschnitte und Unterabschnitte einfach in Markdown abzurufen.

document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
    "prebuilt-layout",
    AnalyzeDocumentRequest(url_source=url),
    output_content_format=ContentFormat.MARKDOWN,
)

Dieser Inhalt gilt für: Häkchen Version 3.1 (GA) | Aktuelle Version: Lila Häkchen Version 4.0 (GA) | Vorherige Versionen: Blaues Häkchen Version 3.0 Blaues Häkchen Version 2.1

Dieser Inhalt gilt für: Häkchen Version 3.0 (GA) | Aktuelle Versionen: Lila Häkchen Version 4.0 (GA) Lila Häkchen Version 3.1 | Vorherige Version: Blaues Häkchen Version 2.1

Dieser Inhalt gilt für: Häkchen Version 2.1 | Neueste Version: Blaues Häkchen Version 4.0 (GA)

Das Layoutmodell von Dokument Intelligenz ist eine auf erweitertem maschinellem Lernen basierende Dokumentlayoutanalyse-API, die in der Dokument Intelligenz-Cloud verfügbar ist. Sie ermöglicht Ihnen, Dokumente in verschiedenen Formaten zu nehmen und strukturierte Datendarstellungen der Dokumente zurückzugeben. Die API kombiniert eine verbesserte Version der leistungsstarken Funktionen zur optischen Zeichenerkennung (Optical Character Recognition, OCR) mit Deep Learning-Modellen zum Extrahieren von Text, Tabellen, Auswahlmarkierungen und der Dokumentstruktur.

Dokumentlayoutanalyse

Bei der Dokumentstruktur-Layoutanalyse handelt es sich um den Vorgang der Analyse eines Dokuments zu dem Zweck, relevante Bereiche und ihre Beziehungen untereinander zu extrahieren. Ziel ist es, Text- und Strukturelemente aus der Seite zu extrahieren, um Modelle mit besserem Semantikverständnis zu erstellen. Es gibt zwei Arten von Rollen in einem Dokumentlayout:

  • Geometrische Rollen: Text, Tabellen, Abbildungen und Auswahlmarkierungen sind Beispiele für geometrische Rollen.
  • Logische Rollen: Titel, Kopfzeilen und Fußzeilen sind Beispiele für logische Rollen von Texten.

Die folgende Abbildung zeigt die typischen Komponenten eines Bildes auf einer Beispielseite.

Abbildung des Beispiels eines Dokumentlayouts.

Entwicklungsoptionen

Document Intelligence v3.1 unterstützt die folgenden Tools, Anwendungen und Bibliotheken:

Feature Ressourcen Modell-ID
Layoutmodell Document Intelligence Studio
REST API
C# SDK
Python SDK
Java SDK
JavaScript SDK
prebuilt-layout

Document Intelligence v3.0 unterstützt die folgenden Tools, Anwendungen und Bibliotheken:

Feature Ressourcen Modell-ID
Layoutmodell Document Intelligence Studio
REST API
C# SDK
Python SDK
Java SDK
JavaScript SDK
prebuilt-layout

Dokument Intelligenz v2.1 unterstützt die folgenden Tools, Anwendungen und Bibliotheken:

Feature Ressourcen
Layoutmodell Dokument Intelligenz-Bezeichnungstool
REST-API
Clientbibliothek SDK
Dokument Intelligenz-Docker-Container

Eingabeanforderungen

  • Unterstützte Dateiformate:

    Modell PDF Abbildung:
    JPEG/JPG, PNG, BMP, TIFF, HEIF
    Microsoft Office:
    Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML
    Lesen Sie
    Layout
    Allgemeines Dokument
    Vordefiniert
    Benutzerdefinierte Extraktion
    Benutzerdefinierte Klassifizierung
  • Die besten Ergebnisse erzielen Sie, wenn Sie pro Dokument ein deutliches Foto oder einen hochwertigen Scan bereitstellen.

  • In den Formaten PDF und TIFF können bis zu 2,000 Seiten verarbeitet werden (bei einem kostenlosen Abonnement werden nur die ersten beiden Seiten verarbeitet).

  • Die Dateigröße für die Analyse von Dokumenten beträgt 500 MB für den kostenpflichtigen Tarif (S0) und 4 MB für den kostenlosen Tarif (F0).

  • Die Bildgröße muss zwischen 50 × 50 Pixel und 10.000 × 10.000 Pixel liegen.

  • Wenn Ihre PDFs kennwortgeschützt sind, müssen Sie die Sperre vor dem Senden entfernen.

  • Die Mindesthöhe des zu extrahierenden Texts beträgt 12 Pixel für ein Bild von 1024 × 768 Pixel. Diese Abmessung entspricht etwa einem 8-Punkttext bei 150 Punkten pro Zoll (Dots Per Inch, DPI).

  • Die maximale Anzahl Seiten für Trainingsdaten beträgt beim benutzerdefinierten Modelltraining 500 für das benutzerdefinierte Vorlagenmodell und 50.000 für das benutzerdefinierte neuronale Modell.

    • Für das Training benutzerdefinierter Extraktionsmodelle beträgt die Gesamtgröße der Trainingsdaten 50 MB für das Vorlagenmodell und 1 GB für das neuronale Modell.

    • Für das Training benutzerdefinierter Klassifizierungsmodelle beträgt die Gesamtgröße der Trainingsdaten 1 GB bei maximal 10.000 Seiten. Für 2024-11-30 (GA) beträgt die Gesamtgröße der Trainingsdaten 2 GB bei maximal 10.000 Seiten.

  • Unterstützte Dateiformate: JPEG, PNG, PDF und TIFF.
  • Unterstützte Seitenanzahl: Für die Formate PDF und TIFF werden bis zu 2.000 Seiten verarbeitet. Bei Abonnements im Free-Tarif werden nur die ersten beiden Seiten verarbeitet.
  • Unterstützte Dateigröße: Die Datei muss kleiner als 50 MB sein und eine Größe von mindestens 50 × 50 Pixel und höchstens 10.000 × 10.000 Pixel aufweisen.

Erste Schritte mit dem Layoutmodell

Erfahren Sie, wie Daten, einschließlich Text, Tabellen, Tabellenkopfzeilen, Auswahlmarkierungen und Strukturinformationen, mithilfe von Dokument Intelligenz aus Dokumenten extrahiert werden. Sie benötigen die folgenden Ressourcen:

  • Ein Azure-Abonnement (Sie können ein kostenloses Abonnement erstellen).

  • Eine Dokument Intelligenz-Instanz im Azure-Portal. Sie können den kostenlosen Tarif (F0) verwenden, um den Dienst auszuprobieren. Wählen Sie nach der Bereitstellung Ihrer Ressource Zu Ressource wechseln aus, um Ihren Schlüssel und Endpunkt abzurufen.

Screenshot: Schlüssel und Endpunkt im Azure-Portal

Hinweis

Dokument Intelligenz Studio ist mit den APIs der Version 3.0 und höheren Versionen verfügbar.

Beispieldokument, das mit Dokument Intelligenz Studio verarbeitet wurde

Screenshot der Verarbeitung einer Beispielseite aus einer Zeitung durch „layout“ in Dokument Intelligenz Studio

  1. Wählen Sie auf der Startseite von Dokument Intelligenz Studio die Option Layout aus.

  2. Sie können das Musterdokument analysieren oder Ihre eigenen Dateien hochladen.

  3. Wählen Sie die Schaltfläche Analyse ausführen aus, und konfigurieren Sie bei Bedarf die Analyseoptionen:

    Screenshot der Schaltflächen „Analyse ausführen“ und „Analyseoptionen“ im Document Intelligence Studio.

Beispielbeschriftungstool von Dokument Intelligenz

  1. Navigieren Sie zum Dokument Intelligenz-Beispieltool.

  2. Wählen Sie auf der Startseite des Beispieltools die Option Use Layout to get text, tables and selection marks (Layout zum Abrufen von Text, Tabellen und Auswahlmarkierungen verwenden) aus.

    Screenshot: Verbindungseinstellungen für den Layoutprozess in Dokument Intelligenz

  3. Fügen Sie im Feld Dokument Intelligenz-Dienstendpunkt den Endpunkt ein, den Sie mit Ihrem Dokument Intelligenz-Abonnement erhalten haben.

  4. Fügen Sie im Feld Schlüssel den Schlüssel ein, den Sie von Ihrer Dokument Intelligenz-Ressource erhalten haben.

  5. Wählen Sie im Feld Quelle die URL aus dem Dropdownmenü aus. Sie können unser Beispieldokument verwenden:

  6. Wählen Sie Run Layout (Layout ausführen) aus. Das Tool für die Beschriftung von Beispielen von Document Intelligence ruft die Analyze Layout-API auf und analysiert das Dokument.

    Screenshot des Dropdownfensters „Layout“

  7. Anzeigen der Ergebnisse: Sehen Sie sich den hervorgehobenen extrahierten Text, die erkannten Auswahlmarkierungen und die erkannten Tabellen an.

    Screenshot: Verbindungseinstellungen für das Beispielbeschriftungstool in Dokument Intelligenz

Unterstützte Sprachen und Gebietsschemas

Eine vollständige Liste der unterstützten Sprachen finden Sie unter Sprachunterstützung – Dokumentanalysemodelle.

Dokument Intelligenz v2.1 unterstützt die folgenden Tools, Anwendungen und Bibliotheken:

Feature Ressourcen
Layout-API Document Intelligence-Bezeichnungstool
REST-API
Clientbibliothek SDK
Document Intelligence Docker-Container

Extrahieren von Daten

Das Layoutmodell extrahiert Text, Auswahlmarken, Tabellen, Absätze und Absatztypen (roles) aus Ihren Dokumenten.

Hinweis

Dokument Intelligenz v4.0 2024-11-30 (GA) unterstützt Microsoft Office- (DOCX, XLSX, PPTX) und HTML-Dateien. Folgende Funktionen werden nicht unterstützt:

  • Für die einzelnen Seitenobjekte gibt es keine Angaben für Winkel, Breite/Höhe und Einheit.
  • Für die einzelnen erkannten Objekte gibt es weder ein Begrenzungspolygon noch einen Begrenzungsbereich.
  • Der Seitenbereich (pages) wird nicht als Parameter unterstützt.
  • Es gibt kein lines-Objekt.

Seiten

Die Seitensammlung ist eine Liste von Seiten innerhalb des Dokuments. Jede Seite wird innerhalb des Dokuments sequenziell dargestellt und ../enthält den Ausrichtungswinkel, der angibt, ob die Seite gedreht wurde, sowie die Breite und Höhe (Abmessungen in Pixel). Die Seiteneinheiten in der Modellausgabe werden wie gezeigt berechnet:

Dateiformat Berechnete Seiteneinheit Seiten gesamt
Bilder (JPEG/JPG, PNG, BMP, HEIF) Jedes Bild = 1 Seiteneinheit Gesamtzahl der Bilder
PDF Jede Seite in der PDF = 1 Seiteneinheit Gesamtseitenzahl in der PDF
TIFF Jedes TIFF-Bild = 1 Seiteneinheit Gesamtanzahl der Bilder im TIFF-Dokument
Word (DOCX) Bis zu 3.000 Zeichen = 1 Seiteneinheit, eingebettete oder verknüpfte Bilder werden nicht unterstützt Gesamtzahl der Seiten von bis zu 3.000 Zeichen jeweils
Excel (XLSX) Jedes Arbeitsblatt = 1 Seiteneinheit, eingebettete oder verknüpfte Bilder nicht unterstützt Arbeitsblätter insgesamt
PowerPoint (PPTX) Jede Folie = 1 Seiteneinheit, eingebettete oder verknüpfte Bilder nicht unterstützt Folien insgesamt
HTML Bis zu 3.000 Zeichen = 1 Seiteneinheit, eingebettete oder verknüpfte Bilder werden nicht unterstützt Gesamtzahl der Seiten von bis zu 3.000 Zeichen jeweils
"pages": [
    {
        "pageNumber": 1,
        "angle": 0,
        "width": 915,
        "height": 1190,
        "unit": "pixel",
        "words": [],
        "lines": [],
        "spans": []
    }
]
# Analyze pages.
for page in result.pages:
    print(f"----Analyzing layout from page #{page.page_number}----")
    print(
        f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
    )

Extrahiert ausgewählte Seiten aus Dokumenten

Verwenden Sie für umfangreiche Dokumente mit mehreren Seiten den Abfrageparameter pages, um bestimmte Seitenzahlen oder Seitenbereiche für die Textextraktion anzugeben.

Absätze

Das Layoutmodell extrahiert alle identifizierten Textblöcke in der paragraphs-Auflistung als Objekt der obersten Ebene unter analyzeResults. Jeder Eintrag in dieser Auflistung stellt einen Textblock dar und ../enthält den extrahierten Text als content sowie die Begrenzungs-polygon-Koordinaten. Die span-Informationen zeigen auf das Textfragment innerhalb der content-Eigenschaft der obersten Ebene, die den vollständigen Text aus dem Dokument enthält.


"paragraphs": [
    {
        "spans": [],
        "boundingRegions": [],
        "content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
    }
]

Absatzrollen

Die neue auf maschinellem Lernen basierende Seitenobjekterkennung extrahiert logische Rollen wie Titel, Abschnittsüberschriften, Kopfzeilen, Fußzeilen und vieles mehr. Das Layoutmodell von Dokument Intelligenz weist bestimmte Textblöcke in der paragraphs-Sammlung mit ihrer speziellen, vom Modell vorhergesagten Rolle oder ihrem speziellen Typ zu. Absatzrollen werden am besten mit unstrukturierten Dokumenten verwendet, um das Layout des extrahierten Inhalts zu verstehen und so eine umfassendere semantische Analyse zu ermöglichen. Die folgenden Absatzrollen werden unterstützt:

Vorhergesagte Rolle Beschreibung Unterstützte Dateitypen
title Hauptüberschriften auf der Seite pdf, image, docx, pptx, xlsx, html
sectionHeading Eine oder mehrere Unterüberschriften auf der Seite pdf, image, docx, xlsx, html
footnote Text im unteren Bereich der Seite pdf, image
pageHeader Text am oberen Rand der Seite pdf, image, docx
pageFooter Text am unteren Rand der Seite pdf, image, docx, pptx, html
pageNumber Seitenzahl pdf, image
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

Text, Zeilen und Wörter

Das Dokumentlayoutmodell in Dokument Intelligenz extrahiert gedruckten und handschriftlichen Text als lines und words. Die styles-Auflistung ../enthält alle handschriftlichen Formatvorlagen für Zeilen (sofern erkannt) sowie die Spannen, die auf den zugeordneten Text zeigen. Dieses Feature gilt für unterstützte handschriftliche Sprachen.

Für Microsoft Word, Excel, PowerPoint und HTML extrahiert das Layoutmodell in Dokument Intelligenz v4.0 2024-11-30 (GA) den gesamten eingebetteten Text unverändert. Texte werden als Wörter und Absätze extrahiert. Eingebettete Bilder werden nicht unterstützt.

"words": [
    {
        "content": "While",
        "polygon": [],
        "confidence": 0.997,
        "span": {}
    },
],
"lines": [
    {
        "content": "While healthcare is still in the early stages of its Al journey, we",
        "polygon": [],
        "spans": [],
    }
]
# Analyze lines.
for line_idx, line in enumerate(page.lines):
    words = line.get_words()
    print(
        f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
        f"within bounding polygon '{format_polygon(line.polygon)}'"
    )

    # Analyze words.
    for word in words:
        print(
            f"......Word '{word.content}' has a confidence of {word.confidence}"
        )

Handschriftlicher Text für Textzeilen

Die Antwort ../umfasst die Klassifizierung, ob es sich bei den einzelnen Textzeilen um einen handschriftlichen Stil handelt, sowie eine Konfidenzbewertung. Weitere Informationen Weitere Informationen finden Sie im Artikel zur Unterstützung für handschriftlichen Text. Das folgende Beispiel zeigt einen beispielhaften JSON-Ausschnitt.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

Wenn Sie die Add-On-Funktion für Schriftart/Schriftschnitt aktivieren, erhalten Sie als Teil des styles-Objekts auch das Ergebnis für die Schriftart und den Schriftschnitt.

Auswahlmarkierungen

Das Layoutmodell extrahiert darüber hinaus Auswahlmarkierungen aus Dokumenten. Extrahierte Auswahlmarken werden in der pages-Auflistung für jede Seite angezeigt. Sie enthalten das Begrenzungs-polygon, confidence und den Auswahl-state (selected/unselected). Die Textdarstellung (d. h. :selected: und :unselected) wird auch als Startindex (offset) und length hinzugefügt, die auf die content-Eigenschaft der obersten Ebene mit dem vollständigen Text des Dokuments verweist.

{
    "selectionMarks": [
        {
            "state": "unselected",
            "polygon": [],
            "confidence": 0.995,
            "span": {
                "offset": 1421,
                "length": 12
            }
        }
    ]
}
# Analyze selection marks.
for selection_mark in page.selection_marks:
    print(
        f"Selection mark is '{selection_mark.state}' within bounding polygon "
        f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
    )

Tabellen

Das Extrahieren von Tabellen ist eine wichtige Anforderung für die Verarbeitung von Dokumenten mit großen Datenmengen, die in der Regel als Tabellen formatiert sind. Das Layoutmodell extrahiert Tabellen in den pageResults-Abschnitt der JSON-Ausgabe. Die extrahierten Tabelleninformationen ../umfassen die Anzahl von Spalten und Zeilen sowie den Zeilen- und Spaltenabstand. Jede Zelle mit ihrem Begrenzungspolygon wird zusammen mit Informationen ausgegeben, unabhängig davon, ob der Bereich als columnHeader erkannt wird oder nicht. Das Modell unterstützt das Extrahieren von Tabellen, die gedreht wurden. Jede Tabellenzelle enthält den Zeilen- und Spaltenindex sowie die Koordinaten des Begrenzungspolygons. Für den Zellentext gibt das Modell die span-Informationen aus, die den Startindex (offset) enthalten. Das Modell gibt auch die length innerhalb des Inhalts der obersten Ebene aus, der den vollständigen Text aus dem Dokument enthält.

Im Folgenden sind einige Faktoren zu berücksichtigen, wenn Sie die Dokument Intelligenz-Extraktionsfunktion verwenden:

  • Werden die Daten, die Sie extrahieren möchten, als Tabelle dargestellt, und ist die Tabellenstruktur aussagekräftig?

  • Können die Daten in ein zweidimensionales Raster eingepasst werden, wenn sie nicht in einem Tabellenformat vorliegen?

  • Erstrecken sich Ihre Tabellen über mehrere Seiten? Falls ja, teilen Sie die PDF-Datei vor dem Senden an Dokument Intelligenz in einzelne Seiten auf, damit nicht alle Seiten beschriftet werden müssen. Verarbeiten Sie die Seiten nach der Analyse in einer einzelnen Tabelle.

  • Informieren Sie sich über Tabellenfelder, wenn Sie benutzerdefinierte Modelle erstellen. Dynamische Tabellen weisen eine variable Anzahl von Zeilen für jede Spalte auf. Fixierte Tabellen weisen eine konstante Anzahl von Zeilen für jede Spalte auf.

Hinweis

  • Tabellenanalysen werden nicht unterstützt, wenn die Eingabedatei eine XLSX-Datei ist.
  • Dokument Intelligenz v4.0 2024-11-30 (GA) unterstützt Begrenzungsbereiche für Abbildungen und Tabellen, die nur den Kerninhalt abdecken und zugehörige Beschriftungen und Fußnoten ausschließen.
{
    "tables": [
        {
            "rowCount": 9,
            "columnCount": 4,
            "cells": [
                {
                    "kind": "columnHeader",
                    "rowIndex": 0,
                    "columnIndex": 0,
                    "columnSpan": 4,
                    "content": "(In millions, except earnings per share)",
                    "boundingRegions": [],
                    "spans": []
                    },
            ]
        }
    ]
}

# Analyze tables.
for table_idx, table in enumerate(result.tables):
    print(
        f"Table # {table_idx} has {table.row_count} rows and "
        f"{table.column_count} columns"
    )
    for region in table.bounding_regions:
        print(
            f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
        )
    for cell in table.cells:
        print(
            f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
        )
        for region in cell.bounding_regions:
            print(
                f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
            )

Anmerkungen (nur in 2023-02-28-preview API verfügbar.)

Das Layoutmodell extrahiert Anmerkungen in Dokumenten, z. B. Häkchen und Kreuze. Die Antwort ../enthält die Art der Anmerkung zusammen mit einer Konfidenzbewertung und einem Begrenzungspolygon.

    {
    "pages": [
    {
        "annotations": [
        {
            "kind": "cross",
            "polygon": [...],
            "confidence": 1
        }
        ]
    }
    ]
}

Ausgabe der natürlichen Leserichtung (nur lateinische Sprachen)

Mit dem Abfrageparameter readingOrder können Sie die Leserichtung angeben, in der die Textzeilen ausgegeben werden. Verwenden Sie natural für eine benutzerfreundlichere Ausgabe der Lesereihenfolge, wie im folgenden Beispiel gezeigt. Dieses Feature wird nur für lateinische Sprachen unterstützt.

Screenshot der Verarbeitung der Lesereihenfolge des Modells „layout“

Auswählen von Seitenzahlen oder Seitenbereichen für die Textextraktion

Verwenden Sie für umfangreiche Dokumente mit mehreren Seiten den Abfrageparameter pages, um bestimmte Seitenzahlen oder Seitenbereiche für die Textextraktion anzugeben. Das folgende Beispiel zeigt ein Dokument mit 10 Seiten, wobei für beide Fälle – alle Seiten (1-10) und ausgewählte Seiten (3-6) – Text extrahiert wurde.

Screenshot der Ausgabe der ausgewählten Seiten des Layoutmodells.

Der Vorgang „Abrufen des Ergebnisses der Layoutanalyse“

Im zweiten Schritt wird der Vorgang Abrufen des Ergebnisses der Layoutanalyse aufgerufen. Bei diesem Vorgang wird die Ergebnis-ID als Eingabe verwendet, die der Vorgang „Analyze Layout“ erstellt hat. Er gibt eine JSON-Antwort zurück, die ein Status-Feld mit den folgenden möglichen Werten enthält.

Feld type Mögliche Werte
status Zeichenfolge notStarted: Der Analysevorgang wird nicht gestartet.

running: Der Analysevorgang ist in Bearbeitung.

failed: Der Analysevorgang ist fehlgeschlagen.

succeeded: Der Analysevorgang war erfolgreich.

Rufen Sie diesen Vorgang solange auf, bis der Wert succeeded zurückgegeben wird. Verwenden Sie ein Intervall von drei bis fünf Sekunden, um zu verhindern, dass die Rate der Anforderungen pro Sekunde (Requests Per Second, RPS) überschritten wird.

Wenn das Feld Status den Wert succeeded aufweist, ../enthält die JSON-Antwort das extrahierte Layout, den extrahierten Text, die extrahierten Tabellen und die Auswahlmarkierungen. Die extrahierten Daten ../enthalten die extrahierten Textzeilen und Wörter, Begrenzungsrahmen, die handschriftliche Anzeige von Textdarstellung, Tabellen und Auswahlmarkierungen mit der Angabe „ausgewählt“ oder „nicht ausgewählt“.

Handschriftliche Klassifizierung für Textzeilen (nur Lateinisch)

Die Antwort ../umfasst die Klassifizierung, ob es sich bei den einzelnen Textzeilen um einen handschriftlichen Stil handelt, sowie eine Konfidenzbewertung. Dieses Feature wird nur für lateinische Sprachen unterstützt. Das folgende Beispiel zeigt die handschriftliche Klassifizierung für den Text im Bild.

Screenshot des Handschrift-Klassifizierungsprozesses des Modells „layout“

JSON-Beispielausgabe

Die Antwort auf den Vorgang Get Analyze Layout Result ist eine strukturierte Darstellung des Dokuments mit allen extrahierten Informationen. Hier sehen Sie ein Beispiel für eine Dokumentdatei und deren strukturierte Ausgabe Beispiel für eine Layoutausgabe.

Die JSON-Ausgabe besteht aus zwei Teilen:

  • Der Knoten readResults enthält den gesamten erkannten Text und alle erkannten Auswahlmarkierungen. Die Hierarchie der Textpräsentation ist eine Seite, dann eine Zeile und dann einzelne Wörter.
  • Der Knoten pageResults enthält die Tabellen und Zellen, die mit ihren Begrenzungsrahmen, Konfidenz (Vertrauen) und einem Verweis auf die Zeilen und Wörter im Feld „readResults“ extrahiert wurden.

Beispielausgabe

Text

Die Layout-API extrahiert Text aus Dokumenten und Bildern mit unterschiedlichen Textneigungen und Farben. Sie unterstützt Fotos von Dokumenten, Faxe, gedruckten und handschriftlichen Text (nur Englisch) und gemischte Modi. Text wird mit Informationen zu Zeilen, Wörtern, Begrenzungsrahmen, Konfidenzbewertungen und Stil (handschriftlich oder anderer) extrahiert. Alle Textinformationen sind im Abschnitt readResults der JSON-Ausgabe enthalten.

Tabellen mit Kopfzeilen

Die Layout-API extrahiert Tabellen in den pageResults Abschnitt der JSON-Ausgabe. Dokumente können gescannt, fotografiert oder digitalisiert sein. Tabellen können komplexe Tabellen mit zusammengeführten Zellen oder Spalten (mit oder ohne Rahmen) und mit ungeraden Winkeln sein. Die extrahierten Tabelleninformationen ../umfassen die Anzahl von Spalten und Zeilen sowie den Zeilen- und Spaltenabstand. Jede Zelle mit ihrem Begrenzungsrahmen wird zusammen mit Informationen ausgegeben, unabhängig davon, ob der Bereich als Teil einer Kopfzeile erkannt werden oder nicht. Die vom Modell vorhergesagten Kopfzellen können mehrere Zeilen umfassen und müssen nicht zwingend die ersten Zeilen in einer Tabelle sein. Dies funktioniert auch bei gedrehten Tabellen. Jede Tabellenzelle ../enthält auch den vollständigen Text mit Verweisen auf die einzelnen Wörter im readResults-Abschnitt.

Beispiel für Tabellen

Auswahlmarkierungen

Die Layout-API extrahiert auch Auswahlmarkierungen aus Dokumenten. Extrahierte Auswahlmarkierungen enthalten den Begrenzungsrahmen, die Konfidenz (Zuverlässigkeit) und den Status („ausgewählt“ oder „nicht ausgewählt“). Informationen zur Auswahlmarkierung werden im Abschnitt readResults der JSON-Ausgabe extrahiert.

Migrationsleitfaden

Nächste Schritte