Träna och använda anpassade modeller
Tips/Råd
Mer information finns på fliken Text och bilder !
När fördefinierade modeller inte täcker dina specifika dokumenttyper kan du träna anpassade modeller för att extrahera data från dina egna formulär. Azure Document Intelligence stöder övervakad maskininlärning, där du märker exempeldokument med de fält som du vill extrahera, och tjänsten tränar en modell för att identifiera dessa fält i nya dokument.
Anpassade modelltyper
Azure Document Intelligence erbjuder två typer av anpassade extraheringsmodeller, plus en klassificeringsmodell:
Anpassade mallmodeller
Anpassade mallmodeller förlitar sig på en konsekvent visuell mall för att extrahera etiketterade data. De fungerar bäst för strukturerade formulär där layouten är statisk från en dokumentinstans till en annan, till exempel enkäter, program eller standardformulär för myndigheter.
Mallmodeller extraherar korrekt märkta nyckel/värde-par, markeringsmarkeringar, tabeller, regioner och signaturer. Det tar bara några minuter att träna och fler än 100 språk stöds. Eftersom mallmodeller är snabba att träna och kostnadseffektiva att köra är de en bra utgångspunkt när dina dokument har en enhetlig visuell layout.
Anpassade neurala modeller
Anpassade neurala modeller använder djupinlärning och finjusteras på dina märkta data. De kombinerar layout- och språkfunktioner för att extrahera fält från strukturerade, halvstrukturerade och ostrukturerade dokument. Stöd för neurala modeller:
- Överlappande fält
- Signaturidentifiering
- Konfidens på tabell-, rad- och cellnivå
Neurala modeller ger högre noggrannhet än mallmodeller, särskilt för halvstrukturerade eller ostrukturerade dokument där layouten varierar mellan instanser. Det tar dock längre tid att träna och förbruka mer resurser.
Välj mellan mallar och neurala modeller
När du bestämmer vilken typ av anpassad modell som ska användas bör du överväga kompromisserna:
| Faktor | Anpassad mall | Anpassat neuralt nätverk |
|---|---|---|
| Bäst för | Strukturerade formulär med en konsekvent visuell layout | Halvstrukturerade eller ostrukturerade dokument med varierande layouter |
| Träningstid | Protokoll | Längre (beror på datamängdens storlek) |
| Träningskostnad | Nedre | Högre |
| Accuracy | Hög för formulär med fast layout; minskar när layouten varierar | Högre helhetsmässigt, särskilt för dokument med formatvariation |
| Språkstöd | Över 100 språk | Färre språk (kontrollera dokumentationen för aktuell support) |
| Funktionsstöd | Nyckel/värde-par, markeringsmarkeringar, tabeller, regioner, signaturer | Överlappande fält, signaturidentifiering, tabell/rad/cellförtroende |
Tips/Råd
Börja med en anpassad mallmodell om dina formulär har en konsekvent visuell layout. Det är snabbare och billigare att träna. Om noggrannheten inte räcker till eller om dokumenten varierar i format växlar du till en anpassad neural modell.
Anpassade klassificerare
Anpassade klassificeringsmodeller identifierar typen av ett dokument innan du anropar en extraheringsmodell. Du kan använda en klassificerare för att dirigera inkommande dokument till lämplig extraheringsmodell när du hanterar flera formulärtyper.
Träna en anpassad modell
Så här tränar du en anpassad extraheringsmodell:
- Lagra exempelformulär i en Azure-blobcontainer, tillsammans med JSON-filer som innehåller information om layout- och etikettfält:
- En
ocr.jsonfil för varje exempelformulär (genereras med hjälp av funktionen Analysera dokument). - En enda
fields.jsonfil som beskriver de fält som du vill extrahera. - En
labels.jsonfil för varje exempelformulär som mappar fält till deras plats i formuläret.
- En
- Generera en URL för signatur för delad åtkomst (SAS) för containern.
- Använd REST API-funktionen Build model eller motsvarande SDK-metod.
- Använd REST-API-funktionen Hämta modell för att hämta det tränade modell-ID.
Du kan också träna anpassade modeller visuellt med hjälp av Document Intelligence Studio, enligt beskrivningen i lektionen Använd Document Intelligence Studio .
Tips/Råd
Använd minst fem till sex exempelformulär för träning. En större och mer varierad datauppsättning ger mer exakta modeller.
Använda en anpassad modell
Om du vill extrahera formulärdata med en anpassad modell anropar du funktionen Analysera dokument med ditt modell-ID. Du kan använda antingen en SDK som stöds eller REST-API:et.
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()
Ett lyckat svar innehåller ett analyzeResult objekt med det extraherade innehållet och en matris med sidor som innehåller information om dokumentet.
Sammansatta modeller
Du kan kombinera flera anpassade modeller till en enda sammansatt modell. När du skickar ett dokument till en sammansatt modell klassificerar Dokumentinformation det för att fastställa den lämpligaste komponentmodellen och returnerar sedan extraheringsresultatet från modellen. Den här metoden är användbar när du hanterar flera formulärtyper som var och en kräver sin egen extraheringsmodell.