Trainieren und Verwenden von benutzerdefinierten Modellen

Abgeschlossen

Tipp

Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".

Wenn vordefinierte Modelle ihre spezifischen Dokumenttypen nicht abdecken, können Sie benutzerdefinierte Modelle trainieren, um Daten aus Ihren eigenen Formularen zu extrahieren. Azure Document Intelligence unterstützt überwachtes maschinelles Lernen, bei dem Sie Beispieldokumente mit den Feldern bezeichnen, die Sie extrahieren möchten, und der Dienst trainiert ein Modell, um diese Felder in neuen Dokumenten zu erkennen.

Benutzerdefinierte Modelltypen

Azure Document Intelligence bietet zwei Arten von benutzerdefinierten Extraktionsmodellen sowie ein Klassifizierungsmodell:

Benutzerdefinierte Vorlagenmodelle

Benutzerdefinierte Vorlagenmodelle basieren auf einer konsistenten visuellen Vorlage, um beschriftete Daten zu extrahieren. Sie funktionieren am besten für strukturierte Formulare, bei denen das Layout von einer Dokumentinstanz zur nächsten statisch ist, z. B. Fragebögen, Anwendungen oder Standardformulare für Behörden.

Vorlagenmodelle extrahieren exakt bezeichnete Schlüsselwertpaare, Auswahlmarkierungen, Tabellen, Regionen und Signaturen. Die Schulung dauert nur ein paar Minuten, und mehr als 100 Sprachen werden unterstützt. Da Vorlagenmodelle schnell trainieren und kosteneffizient ausgeführt werden können, sind sie ein guter Ausgangspunkt, wenn Ihre Dokumente über ein einheitliches visuelles Layout verfügen.

Benutzerdefinierte neurale Modelle

Benutzerdefinierte neurale Modelle verwenden Deep Learning und sind auf Ihre bezeichneten Daten fein abgestimmt. Sie kombinieren Layout- und Sprachfeatures, um Felder aus strukturierten, halbstrukturierten und unstrukturierten Dokumenten zu extrahieren. Neurale Modelle unterstützen:

  • Überlappende Felder
  • Signaturerkennung
  • Konfidenzniveau von Tabellen, Zeilen und Zellen

Neurale Modelle liefern eine höhere Genauigkeit als Vorlagenmodelle, insbesondere für halbstrukturierte oder unstrukturierte Dokumente, bei denen das Layout zwischen Instanzen variiert. Allerdings dauert das Training länger und verbraucht mehr Ressourcen.

Auswählen zwischen Vorlagen- und neuralen Modellen

Berücksichtigen Sie bei der Entscheidung, welcher benutzerdefinierte Modelltyp verwendet werden soll, die folgenden Abwägungen:

Faktor Benutzerdefiniertes Vorlagenmodell Benutzerdefiniertes neuronales Modell
Am besten geeignet für Strukturierte Formulare mit einem konsistenten visuellen Layout Semistrukturierte oder unstrukturierte Dokumente mit unterschiedlichen Layouts
Schulungszeit Minuten Länger (hängt von der Datasetgröße ab)
Schulungskosten Niedriger Höher
Genauigkeit Hoch für Feste Layoutformen; verringert sich, wenn das Layout unterschiedlich ist Insgesamt höher, insbesondere für Dokumente mit Formatvariation
Sprachunterstützung 100 Sprachen Weniger Sprachen (prüfen Sie die Dokumentation für Informationen zur aktuellen Unterstützung)
Funktionsunterstützung Schlüsselwertpaare, Auswahlzeichen, Tabellen, Regionen, Signaturen Überlappende Felder, Signaturerkennung, Tabellen-, Zeilen- und Zellvertrauen

Tipp

Beginnen Sie mit einem benutzerdefinierten Vorlagenmodell, wenn Ihre Formulare über ein einheitliches visuelles Layout verfügen. Es ist schneller und billiger zu trainieren. Wenn die Genauigkeit nicht ausreicht oder Ihre Dokumente im Format variieren, wechseln Sie zu einem benutzerdefinierten neuralen Modell.

Benutzerdefinierte Klassifizierer

Benutzerdefinierte Klassifizierungsmodelle identifizieren den Typ eines Dokuments, bevor sie ein Extraktionsmodell aufrufen. Sie können einen Klassifizierer verwenden, um eingehende Dokumente an das entsprechende Extraktionsmodell weiterzuleiten, wenn Sie mehrere Formulartypen behandeln.

Trainieren eines benutzerdefinierten Modells

So trainieren Sie ein benutzerdefiniertes Extraktionsmodell:

  1. Speichern Sie Beispielformulare in einem Azure-Blobcontainer zusammen mit JSON-Dateien, die Layout- und Bezeichnungsfeldinformationen enthalten:
    • Eine ocr.json Datei für jedes Beispielformular (generiert mit der Analysedokumentfunktion).
    • Eine einzelne fields.json Datei, die die Felder beschreibt, die Sie extrahieren möchten.
    • Eine labels.json-Datei für jedes Beispielformular, wobei Felder ihrem Speicherort im Formular zugeordnet werden.
  2. Generieren Sie eine SAS-URL (Shared Access Signature) für den Container.
  3. Verwenden Sie die Buildmodell-REST-API-Funktion oder die entsprechende SDK-Methode.
  4. Verwenden Sie die Get-Modell-REST-API-Funktion, um die trainierte Modell-ID abzurufen.

Sie können benutzerdefinierte Modelle auch visuell mithilfe von Dokument Intelligenz Studio trainieren, wie in der Einheit Dokument Intelligenz Studio verwenden beschrieben.

Tipp

Verwenden Sie mindestens fünf bis sechs Beispielformulare für Schulungen. Ein größeres und vielfältiges Dataset erzeugt genauere Modelle.

Verwenden eines benutzerdefinierten Modells

Um Formulardaten mit einem benutzerdefinierten Modell zu extrahieren, rufen Sie die Analysedokumentfunktion mit Ihrer Modell-ID auf. Sie können entweder ein unterstütztes SDK oder die REST-API verwenden.

C#

string endpoint = "<endpoint>";
string apiKey = "<apiKey>";
AzureKeyCredential credential = new AzureKeyCredential(apiKey);
DocumentAnalysisClient client = new DocumentAnalysisClient(new Uri(endpoint), credential);

string modelId = "<modelId>";
Uri fileUri = new Uri("<fileUri>");

AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, modelId, fileUri);
AnalyzeResult result = operation.Value;

Python

endpoint = "YOUR_DOC_INTELLIGENCE_ENDPOINT"
key = "YOUR_DOC_INTELLIGENCE_KEY"

model_id = "YOUR_CUSTOM_BUILT_MODEL_ID"
formUrl = "YOUR_DOCUMENT"

document_analysis_client = DocumentAnalysisClient(
    endpoint=endpoint, credential=AzureKeyCredential(key)
)

task = document_analysis_client.begin_analyze_document_from_url(model_id, formUrl)
result = task.result()

Eine erfolgreiche Antwort enthält ein analyzeResult Objekt mit dem extrahierten Inhalt und einem Array von Seiten, die Informationen zum Dokument enthalten.

Zusammengesetzte Modelle

Sie können mehrere benutzerdefinierte Modelle in einem einzigen zusammengesetzten Modell kombinieren. Wenn Sie ein Dokument an ein zusammengesetztes Modell übermitteln, klassifiziert Document Intelligence es, um das am besten geeignete Komponentenmodell zu ermitteln, und gibt dann die Extraktionsergebnisse aus diesem Modell zurück. Dieser Ansatz ist nützlich, wenn Sie mehrere Formulartypen behandeln, für die jeweils ein eigenes Extraktionsmodell erforderlich ist.

Weitere Informationen