Extrahieren von Informationen aus Dokumenten
Hinweis
Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".
Die heutigen Geschäftsprozesse sind stark von Daten abhängig, die in Dokumenten wie Formularen, Quittungen und Rechnungen enthalten sind. Die manuelle Verarbeitung kann zu Verzögerungen und Fehlern führen, wodurch die Automatisierung der Datenextraktion wichtiger als je zuvor ist.
Funktionsweise von Azure Content Understanding
Azure Content Understanding folgt einem modellgesteuerten Extraktionsworkflow, in dem unstrukturierte Inhalte aufgenommen, analysiert und als strukturierte Daten zurückgegeben werden.
Aufnehmen von Inhalten: Sie übermitteln Inhalte an Azure Content Understanding.
KI-gestützte Analyse: Der Dienst verwendet eine Kombination aus: Optische Zeichenerkennung (OCR), Spracherkennung, natürliches Sprachverständnis und multimodale KI-Modelle, um den Inhalt zu analysieren.
Strukturierte Ausgabe: Der Dienst gibt strukturierte Ergebnisse (z. B. in JSON) zurück, die Ihrem Modell entsprechen– wodurch die Daten einfach gespeichert, gesucht oder in nachgeschaltete Systeme integriert werden können.
Hinweis
JSON (JavaScript Object Notation) ist ein textbasiertes Datenformat, das zum Speichern und Austauschen strukturierter Daten zwischen Systemen verwendet wird. Es ist einfach für Menschen zu lesen und zu schreiben sowie für Maschinen zu analysieren und zu generieren.
Grundlegendes zu Schemas
OCR (optische Zeichenerkennung) ermöglicht einem Computer das "Lesen" von Text aus Bildern, z. B. gescannte Dokumente, Fotos von Quittungen oder Bilder von gedruckten Seiten, und wandeln diesen Text in bearbeitbaren und durchsuchbaren digitalen Text um. Das grundlegende OCR hilft beim Erkennen von gedruckten Text, konzentriert sich auf die Textextraktion und versteht keine Bedeutung, keinen Kontext oder beziehungen zwischen Wörtern.
Die Dokumentanalysefunktionen von Azure Content Understanding gehen über die einfache OCR-basierte Textextraktion hinaus, um die schemabasierte Extraktion von Feldern und deren Werten einzuschließen. Der schemagesteuerte Ansatz unterscheidet Azure Content Understanding von grundlegenden OCR- oder Transkriptionsdiensten.
Ein Schema beschreibt , welche Informationen extrahiert werden sollen und wie diese Informationen strukturiert werden sollen. Wenn Sie ein Schema definieren, geben Sie zu extrahierende Felder an. Ein Schema listet die spezifischen Felder oder Entitäten auf, die Sie interessieren.
Angenommen, Sie definieren ein Schema, das die üblichen Felder enthält, die normalerweise in einer Rechnung enthalten sind, z. B.:
- Lieferantenname
- Invoice number (Rechnungsnummer)
- Rechnungsdatum
- Name des Kunden
- Benutzerdefinierte Adresse
- Artikel - die bestellten Elemente, die jeweils Folgendes umfassen:
- Artikelbeschreibung
- Einzelpreis
- Bestellte Menge
- Summe der Bestellpositionen
- Zwischensumme der Rechnung
- Steuer
- Versandkosten
- Rechnungssumme
Angenommen, Sie müssen diese Informationen aus der folgenden Rechnung extrahieren:
Azure Content Understanding kann das Rechnungsschema auf Ihre Rechnung anwenden und die entsprechenden Felder identifizieren, auch wenn sie mit unterschiedlichen Namen (oder überhaupt nicht gekennzeichnet) gekennzeichnet sind. Die resultierende Analyse erzeugt ein Ergebnis wie folgt:
Das Schema definiert auch die Feldstruktur. Schemas unterstützen strukturierte und geschachtelte Felder, nicht nur flachen Text. Beispiel:
-
Itemsist eine Sammlung - Jedes Element verfügt über
description,unit price,quantityundline total
Durch das Identifizieren strukturierter Felder kann Azure Content Understanding Beziehungen zwischen Werten verstehen, was OCR allein nicht tun kann.
Im Rechnungsbeispiel können Sie für jedes erkannte Feld geschachtelte Werte extrahieren:
- Anbietername: Adventure Works Cycles
- Rechnungsnummer: 1234
- Rechnungsdatum: 03.07.2025
- Kundenname: John Smith
- Benutzerdefinierte Adresse: 123 River Street, Marshtown, England, GL1 234
-
Elemente:
- Artikel 1:
- Artikelbeschreibung: 38" Racing Bike (Rot)
- Einzelpreis: 1299.00
- Bestellte Menge: 1
- Summe der Bestellpositionen: 1299,00
- Artikel 2:
- Artikelbeschreibung: Fahrradhelm (Schwarz)
- Einzelpreis: 25,99
- Bestellte Menge: 1
- Summe der Bestellpositionen: 25,99
- Artikel 3:
- Artikelbeschreibung: Fahrradhemd (L)
- Einzelpreis: 42,50
- Bestellte Menge: 2
- Summe der Bestellpositionen: 85,00
- Artikel 1:
- Zwischensumme der Rechnung: 1409.99
- Steuer: 140.99
- Versandkosten: 35.00
- Rechnungssumme: 1585.98
Azure Content Understanding extrahiert die erwartete Bedeutung, nicht nur Bezeichnungen. Schemas werden semantisch angewendet, d. h.:
- Felder können extrahiert werden, auch wenn Bezeichnungen unterschiedlich sind
- Felder können extrahiert werden, auch wenn Bezeichnungen fehlen
Beispielsweise können "Rechnung Nr.", "Rechnung #" oder eine nicht bezeichnete Zahl alle InvoiceNumber zugeordnet werden, wenn der Analysator feststellt, dass sie dasselbe Konzept darstellen.
Grundlegendes zu Analysegeräten
Ein Analyzer ist eine Einheit in Azure Content Understanding, die Eingaben übernimmt, KI-Analysen anwendet und strukturierte Ergebnisse erzeugt. Analysatoren wenden die gleiche Extraktionslogik konsistent auf alle eingehenden Inhalte an. Nach der Konfiguration stellt ein Analysegerät sicher, dass ein Schema für jede Analyseanforderung konsistent wiederverwendet wird. Analysegeräte erzeugen auch vorhersagbare JSON-Ergebnisse. Die strukturierten Ergebnisse erleichtern die nachgelagerte Verarbeitung (Speicher, Suche, Automatisierung).
Azure Content Understanding bietet vorgefertigte Analysegeräte für gängige Szenarien und unterstützt benutzerdefinierte Analysegeräte, die auf Ihre Anforderungen zugeschnitten sind. Allgemeines:
- Sie wählen oder erstellen einen Analysator.
- Der Analyzer enthält ein Schema, das Felder und Strukturen definiert.
- Sie übermitteln Inhalte zur Analyse
- Der Dienst wendet das Schema an.
- Sie erhalten strukturierte JSON-Ergebnisse, die dem Schema entsprechen
Verwenden von Azure Content Understanding im Foundry-Portal
Hinweis
Das Foundry-Portal verfügt über eine klassische Benutzeroberfläche und eine neue Benutzeroberfläche.
Nachdem Sie eine Microsoft Foundry-Ressource erstellt haben, können Sie die klassische Foundry-Portaloberfläche verwenden, um Azure Content Understanding zu testen. Das Foundry-Portal enthält Inhaltsbeispiele und ermöglicht es Ihnen, Ihr eigenes Material zur Analyse hochzuladen.
Sie können die visuelle Schnittstelle verwenden, um ein Quelldokument auszuwählen und Standardfelder mit Informationen zu extrahieren. Wenn Sie beispielsweise Azure Content Understanding für ein Bild eines Dokuments ausprobieren, gibt der Dienst die Dokumenttext- und Textlayoutinformationen zurück.
Die Analysegeräte von Azure Content Understanding identifizieren Textwerte in Dokumenten und ordnen sie bestimmten Feldern zu. Bei einer Rechnung gibt der Dienst beispielsweise die Felder (z. B. Lieferantenadresse) und die Daten in den Feldern zurück (z. B. 123 456th Street).
Im Foundry-Portal können Sie auch die JSON-Ergebnisse der Verarbeitung anzeigen.
Erstellen einer Clientanwendung mit Azure Content Understanding
Sie können die Inhaltsverständnis-API verwenden, um eine einfache Clientanwendung zu erstellen, die Daten programmgesteuert extrahiert.
Hinweis
Eine Clientanwendung ist ein Softwareprogramm, das auf dem Gerät eines Benutzers ausgeführt wird und Dienste oder Daten von einem anderen System anfordert, in der Regel ein Server über ein Netzwerk. Der Client ist der Teil einer Anwendung, mit der Benutzer interagieren, während der Server hinter den Kulissen die schwere Arbeit ausführt. Anwendungen können Daten oder Aktionen von einem Dienst anfordern und eine strukturierte Antwort mithilfe einer API empfangen.
Wenn Sie die Inhaltsverständnis-API verwenden, können Sie einen vordefinierten Analyzer auswählen oder einen benutzerdefinierten Analyzer erstellen. Zu den vorgefertigten Analysegeräten gehören: prebuilt-invoice, , prebuilt-imageSearch, prebuilt-audioSearchund prebuilt-videoSearch. Wenn Sie Inhalte zur Analyse an den Analysator übermitteln, ist die Analyse asynchron, was bedeutet, dass Sie das Ergebnis später erhalten, wenn es bereit ist. Da die Analyse asynchron ist, müssen Sie die Operation-Location-URL (oder ) analyzerResults, bis der Auftrag erfolgreich ist.
Verwenden des Azure Content Understanding Python SDK
Sehen wir uns den Prozess der Verwendung des Python-SDKs an, um eine Rechnung aus einer URL zu analysieren.
- Installieren Sie das Azure Content Understanding Python SDK.
python -m pip install azure-ai-contentunderstanding
Identifizieren Sie Ihren Foundry-Ressourcenendpunkt und den API-Schlüssel oder die Microsoft Entra ID. Ihr Endpunkt sieht in der Regel wie folgt aus:
https://<your-resource-name>.services.ai.azure.com/Erstellen und ausführen Sie den Clientanwendungscode. Dies
analzyer_idist die ID des vorgefertigten Analyzers. Hier finden Sie eine Liste der vordefinierten Analyse-ID-Werte.
import os
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.core.credentials import AzureKeyCredential
endpoint = os.environ["FOUNDRY_ENDPOINT"]
key = os.environ["FOUNDRY_KEY"]
client = ContentUnderstandingClient(endpoint=endpoint, credential=AzureKeyCredential(key))
# 1) start analysis with analyzer id + inputs
analyzer_id = "prebuilt-invoice"
inputs = [
{"url": "https://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/invoice.pdf"}
]
# 2) wait for the Long Running Operation (LRO) to complete
poller = client.begin_analyze(analyzer_id=analyzer_id, inputs=inputs) # starts LRO
result = poller.result() # waits for completion (polling handled by SDK)
# 3) read structured fields + markdown
# The result typically includes extracted "fields" and "markdown" per input content item.
for content in result.contents:
print(content.markdown)
print(content.fields)
Die resultierende Ausgabe ist JSON, die den extrahierten Markdown, Felder, Daten in den Feldern und Konfidenzbewertung anzeigt. Beispiel:
{
"status": "Succeeded",
"result": {
"analyzerId": "prebuilt-invoice",
"apiVersion": "2025-05-01-preview",
"contents": [
{
"markdown": "# INVOICE\n\nCONTOSO LTD.\n\nContoso Headquarters\n123 456th St\nNew York, NY, 10001\n\nINVOICE: INV-100\n\nINVOICE DATE: 11/15/2019\n\nDUE DATE: 12/15/2019\n\nCUSTOMER NAME: MICROSOFT CORPORATION\n",
"fields": {
"CustomerName": {
"type": "string",
"valueString": "MICROSOFT CORPORATION",
"confidence": 0.95,
},
"InvoiceDate": {
"type": "date",
"valueDate": "2019-11-15",
"confidence": 0.994,
}
}
}
]
}
}
Erfahren Sie als Nächstes, wie Sie mithilfe von Azure Content Understanding Analyzer strukturierte Daten aus Audio und Video extrahieren.