Aangepaste modellen trainen en gebruiken
Aanbeveling
Zie het tabblad Tekst en afbeeldingen voor meer informatie.
Wanneer vooraf gemaakte modellen uw specifieke documenttypen niet behandelen, kunt u aangepaste modellen trainen om gegevens uit uw eigen formulieren te extraheren. Azure Document Intelligence ondersteunt machine learning onder supervisie, waarbij u voorbeelddocumenten labelt met de velden die u wilt extraheren, en de service traint een model om deze velden in nieuwe documenten te herkennen.
Aangepaste modeltypen
Azure Document Intelligence biedt twee typen aangepaste extractiemodellen, plus een classificatiemodel:
Aangepaste sjabloonmodellen
Aangepaste sjabloonmodellen zijn afhankelijk van een consistente visuele sjabloon om gelabelde gegevens te extraheren. Ze werken het beste voor gestructureerde formulieren waarbij de indeling statisch is van het ene document naar het andere, zoals vragenlijsten, toepassingen of standaard overheidsformulieren.
Sjabloonmodellen extraheren nauwkeurig gelabelde sleutel-waardeparen, selectiemarkeringen, tabellen, regio's en handtekeningen. Training duurt slechts een paar minuten en meer dan 100 talen worden ondersteund. Omdat sjabloonmodellen snel kunnen worden getraind en rendabel kunnen worden uitgevoerd, zijn ze een goed uitgangspunt wanneer uw documenten een uniforme visuele indeling hebben.
Aangepaste neurale modellen
Aangepaste neurale modellen maken gebruik van Deep Learning en zijn afgestemd op uw gelabelde gegevens. Ze combineren indelings- en taalfuncties om velden te extraheren uit gestructureerde, semi-gestructureerde en ongestructureerde documenten. Ondersteuning voor neurale modellen:
- Overlappende velden
- Handtekeningdetectie
- Betrouwbaarheid van tabel-, rij- en celniveau
Neurale modellen leveren een hogere nauwkeurigheid dan sjabloonmodellen, met name voor semi-gestructureerde of ongestructureerde documenten waarbij de indeling varieert tussen exemplaren. Het duurt echter langer om te trainen en meer middelen te verbruiken.
Kiezen tussen sjabloon- en neurale modellen
Houd rekening met de afwegingen bij het bepalen welk aangepast modeltype u wilt gebruiken:
| Kenmerk | Aangepaste sjabloon | Aangepaste neurale netwerken |
|---|---|---|
| Het beste voor | Gestructureerde formulieren met een consistente visuele indeling | Semi-gestructureerde of ongestructureerde documenten met verschillende indelingen |
| Trainingstijd | Notulen | Langer (afhankelijk van de grootte van de gegevensset) |
| Trainingskosten | Lagere | Hoger |
| Accuracy | Hoog voor formulieren met vaste indeling; vermindert wanneer de indeling varieert | Over het algemeen hoger, met name voor documenten met opmaakvariatie |
| Taalondersteuning | Meer dan 100 talen | Minder talen (raadpleeg de documentatie voor de huidige ondersteuning) |
| Functieondersteuning | Sleutel-waardeparen, selectiemarkeringen, tabellen, regio's, handtekeningen | Overlappende velden, handtekeningdetectie, betrouwbaarheid van tabel/rij/cel |
Aanbeveling
Begin met een aangepast sjabloonmodel als uw formulieren een consistente visuele indeling hebben. Het is sneller en goedkoper om te trainen. Als de nauwkeurigheid onvoldoende is of uw documenten verschillen in indeling, schakelt u over naar een aangepast neuraal model.
Aangepaste classificeerders
Aangepaste classificatiemodellen identificeren het type van een document voordat u een extractiemodel aanroept. U kunt een classificatie gebruiken om binnenkomende documenten naar het juiste extractiemodel te routeren wanneer u meerdere formuliertypen verwerkt.
Een aangepast model trainen
Een aangepast extractiemodel trainen:
- Sla voorbeeldformulieren op in een Azure Blob-container, samen met JSON-bestanden met informatie over indelings- en labelvelden:
- Een
ocr.jsonbestand voor elk voorbeeldformulier (gegenereerd met behulp van de functie Document analyseren). - Eén
fields.jsonbestand met een beschrijving van de velden die u wilt extraheren. - Een
labels.jsonbestand voor elk voorbeeldformulier, waarbij velden aan hun locatie in het formulier worden toegewezen.
- Een
- Genereer een SAS-URL (Shared Access Signature) voor de container.
- Gebruik de REST API-functie buildmodel of de equivalente SDK-methode.
- Gebruik de REST API-functie Get model om de ID van het getrainde model op te halen.
U kunt aangepaste modellen ook visueel trainen met behulp van Document Intelligence Studio, zoals beschreven in de eenheid Document Intelligence Studio gebruiken .
Aanbeveling
Gebruik ten minste vijf tot zes voorbeeldformulieren voor training. Een grotere en gevarieerdere gegevensset produceert nauwkeurigere modellen.
Een aangepast model gebruiken
Als u formuliergegevens wilt extraheren met een aangepast model, roept u de documentfunctie Analyseren aan met uw model-id. U kunt een ondersteunde SDK of de REST API gebruiken.
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()
Een geslaagd antwoord bevat een analyzeResult object met de geëxtraheerde inhoud en een matrix met pagina's met informatie over het document.
Samengestelde modellen
U kunt meerdere aangepaste modellen combineren tot één samengesteld model. Wanneer u een document verzendt naar een samengesteld model, classificeert Document Intelligence het om het meest geschikte onderdeelmodel te bepalen en retourneert vervolgens de extractieresultaten van dat model. Deze methode is handig wanneer u meerdere formuliertypen verwerkt waarvoor elk een eigen extractiemodel vereist is.