Trainieren und Verwenden von benutzerdefinierten Modellen
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:
- Speichern Sie Beispielformulare in einem Azure-Blobcontainer zusammen mit JSON-Dateien, die Layout- und Bezeichnungsfeldinformationen enthalten:
- Eine
ocr.jsonDatei für jedes Beispielformular (generiert mit der Analysedokumentfunktion). - Eine einzelne
fields.jsonDatei, 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.
- Eine
- Generieren Sie eine SAS-URL (Shared Access Signature) für den Container.
- Verwenden Sie die Buildmodell-REST-API-Funktion oder die entsprechende SDK-Methode.
- 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.