Verwenden von Azure Document Intelligence-Modellen

Abgeschlossen

Verwenden der API

Um Formulardaten mithilfe eines benutzerdefinierten Modells zu extrahieren, verwenden Sie das Analysieren des Dokuments Funktion eines unterstützten SDK oder der REST-API, während die Modell-ID (generiert während der Modellschulung) bereitgestellt wird. Diese Funktion startet die Formularanalyse. die Sie dann anfordern können, um die Analyse zu erhalten.

Beispielcode zum Aufrufen des Modells:

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)
)

# Make sure your document's type is included in the list of document types the custom model can analyze
task = document_analysis_client.begin_analyze_document_from_url(model_id, formUrl)
result = task.result()

Eine erfolgreiche JSON-Antwort enthält analyzeResult, die den extrahierten Inhalt und ein Array von Seiten mit Informationen über den Dokumentinhalt enthält.

Beispiel für Analyse von Dokumenten JSON-Antwort:

{
	"status": "succeeded",
	"createdDateTime": "2023-10-18T23:39:50Z",
	"lastUpdatedDateTime": "2023-10-18T23:39:54Z",
	"analyzeResult": {
		"apiVersion": "2022-08-31",
		"modelId": "DocIntelModel",
		"stringIndexType": "utf16CodeUnit",
		"content": "Purchase Order\nHero Limited\nCompany Phone: 555-348-6512 Website: www.herolimited.com Email: accounts@herolimited.com\nPurchase Order\nDated As: 12/20/2020 Purchase Order #: 948284\nShipped To Vendor Name: Balozi Khamisi Company Name: Higgly Wiggly Books Address: 938 NE Burner Road Boulder City, CO 92848 Phone: 938-294-2949\nShipped From Name: Kidane Tsehaye Company Name: Jupiter Book Supply Address: 383 N Kinnick Road Seattle, WA 38383\nPhone: 932-299-0292\nDetails\nQuantity\nUnit Price\nTotal\nBindings\n20\n1.00\n20.00\nCovers Small\n20\n1.00\n20.00\nFeather Bookmark\n20\n5.00\n100.00\nCopper Swirl Marker\n20\n5.00\n100.00\nSUBTOTAL\n$140.00\nTAX\n$4.00\nTOTAL\n$144.00\nKidane Tsehaye\nManager\nKidane Tsehaye\nAdditional Notes: Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.",
		"pages": [
			{
				"pageNumber": 1,
				"angle": 0,
				"width": 1159,
				"height": 1486,
				"unit": "pixel",
				"words": [
					{
						"content": "Purchase",
						"polygon": [
							89,
							90,
							174,
							91,
							174,
							112,
							88,
							112
						],
						"confidence": 0.996,
						"span": {
							"offset": 0,
							"length": 8
						}
					},
					{
						"content": "Order",
						"polygon": [
							178,
							91,
							237,
							91,
							236,
							113,
							178,
							112
						],
						"confidence": 0.997,
						"span": {
							"offset": 9,
							"length": 5
						}
					},
                    ...

Erkunden Sie die Dokumentation für unterstützte Sprachschnellstarts.

Grundlegendes zu Konfidenzbewertungen

Wenn die Konfidenzwerte der analyzeResult- niedrig sind, versuchen Sie, die Qualität Ihrer Eingabedokumente zu verbessern.

Sie möchten sicherstellen, dass das formular, das Sie analysieren, eine ähnliche Darstellung wie Formulare im Schulungssatz aufweist, wenn die Konfidenzwerte niedrig sind. Wenn die Darstellung des Formulars unterschiedlich ist, sollten Sie mehrere Modelle trainieren, wobei sich jedes Modell auf ein Formularformat konzentriert.

Je nach Anwendungsfall stellen Sie möglicherweise fest, dass eine Konfidenzbewertung von 80% oder höher für eine Anwendung mit geringem Risiko akzeptabel ist. Für sensiblere Fälle, z. B. das Lesen von Krankenakten oder Abrechnungen, wird eine Bewertung von 100% empfohlen.