Usare i modelli di Intelligence per documenti di Azure
Uso dell'API
Per estrarre i dati del modulo usando un modello personalizzato, usare la analizzare il documento funzione di un SDK supportato o dell'API REST, fornendo l'ID modello (generato durante il training del modello). Questa funzione avvia l'analisi del modulo. a cui puoi quindi richiedere il risultato per ottenere l'analisi.
Codice di esempio per chiamare il modello:
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;
Pitone
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()
Una risposta JSON riuscita contiene analyzeResult che contiene il contenuto estratto e una matrice di pagine contenenti informazioni sul contenuto del documento.
Esempio analizzare il documento risposta JSON:
{
"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
}
},
...
Esplorare la documentazione per gli avvi rapidi del linguaggio supportato
Informazioni sui punteggi di attendibilità
Se i valori di attendibilità del analyzeResult sono bassi, provare a migliorare la qualità dei documenti di input.
Si vuole assicurarsi che il modulo che si sta analizzando abbia un aspetto simile ai moduli nel set di training se i valori di attendibilità sono bassi. Se l'aspetto del modulo varia, è consigliabile eseguire il training di più modelli, con ogni modello incentrato su un formato di modulo.
A seconda del caso d'uso, è possibile che un punteggio di attendibilità pari a 80% o superiore sia accettabile per un'applicazione a basso rischio. Per i casi più sensibili, ad esempio la lettura di cartelle cliniche o rendiconti di fatturazione, è consigliabile un punteggio di 100%.