Verwenden von Azure KI Dokument Intelligenz-Modellen

Abgeschlossen

Verwenden der API

Um Formulardaten mithilfe eines benutzerdefinierten Modells zu extrahieren, verwenden Sie die Funktion analyze document eines unterstützten SDK oder der REST-API, und dabei die Modell-ID an (die während des Modelltrainings generiert wurde). Diese Funktion startet die Formularanalyse. Sie können dann das Ergebnis anfordern, 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 mit dem extrahierten Inhalt und einem Array von Seiten mit Informationen zum Dokumentinhalt.

Beispiel für JSON-Antwort von analyze document:

{
	"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
						}
					},
                    ...

Informieren Sie sich in der Dokumentation über unterstützte Sprachschnellstarts.

Grundlegendes zu Konfidenzbewertungen

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

Sie sollten auch sicherstellen, dass das Formular, das Sie analysieren, ein ähnliches Aussehen wie die Formulare im Trainingssatz hat, wenn die Konfidenzwerte niedrig sind. Wenn das Aussehen der Formulare variiert, sollten Sie mehrere Modelle trainieren, wobei jedes Modell auf ein Formularformat ausgerichtet ist.

Je nach Anwendungsfall kann eine Konfidenzbewertung von mndestens 80 % für eine Anwendung mit geringem Risiko akzeptabel sein. In Fällen, in denen ein höheres Maß an Vertraulichkeit erforderlich ist – beispielsweise beim Lesen von Patientenakten oder Abrechnungen –, wird ein Score von 100 % empfohlen.