Aangepast classificatiemodel voor Document Intelligence
Belangrijk
- Openbare preview-versies van Document Intelligence bieden vroegtijdige toegang tot functies die actief zijn in ontwikkeling. Functies, benaderingen en processen kunnen veranderen, vóór algemene beschikbaarheid (GA), op basis van feedback van gebruikers.
- De openbare preview-versie van Document Intelligence-clientbibliotheken is standaard ingesteld op REST API-versie 2024-07-31-preview.
- Openbare preview-versie 2024-07-31-preview is momenteel alleen beschikbaar in de volgende Azure-regio's. Houd er rekening mee dat het aangepaste model voor generatieve (extractie van documentvelden) in AI Studio alleen beschikbaar is in de regio VS - noord-centraal:
- VS - oost
- VS - west 2
- Europa -west
- VS - noord-centraal
Deze inhoud is van toepassing op: v4.0 (preview) | Vorige versie: v3.1 (GA)
Deze inhoud is van toepassing op: v3.1 (GA) | Nieuwste versie: v4.0 (preview)
Belangrijk
- Het
2024-07-31-preview
aangepaste classificatiemodel splitst documenten niet standaard tijdens het analyseproces. - U moet de
splitMode
eigenschap expliciet instellen op automatisch om het gedrag van eerdere releases te behouden. De standaardwaardesplitMode
isnone
. - Als uw invoerbestand meerdere documenten bevat, moet u splitsen inschakelen door het
splitMode
in te stellen opauto
.
Azure AI Document Intelligence is een cloudgebaseerde Azure AI-service waarmee u intelligente oplossingen voor documentverwerking kunt bouwen. Document Intelligence-API's analyseren afbeeldingen, PDF-bestanden en andere documentbestanden om verschillende inhoud, indeling, stijl en semantische elementen te extraheren en te detecteren.
Aangepaste classificatiemodellen zijn deep learning-modeltypen die indelings- en taalfuncties combineren om documenten die u in uw toepassing verwerkt nauwkeurig te detecteren en te identificeren. Aangepaste classificatiemodellen voeren een classificatie van een invoerbestand één pagina tegelijk uit om de documenten binnen te identificeren en kunnen ook meerdere documenten of meerdere exemplaren van één document in een invoerbestand identificeren.
Modelmogelijkheden
Notitie
- Vanaf de
2024-02-29-preview
API ondersteunen aangepaste clasification-modellen incrementele training. U kunt nieuwe voorbeelden toevoegen aan bestaande klassen of nieuwe klassen toevoegen door te verwijzen naar een bestaande classificatie.
Met aangepaste classificatiemodellen kunt u documenten met één of meerdere bestanden analyseren om te bepalen of een van de getrainde documenttypen zich in een invoerbestand bevindt. Dit zijn de momenteel ondersteunde scenario's:
Eén bestand met één documenttype, zoals een formulier voor een leningsaanvraag.
Eén bestand met meerdere documenttypen. Een aanvraagpakket voor een lening dat bijvoorbeeld een formulier voor een leningsaanvraag, een loonbrief en een bankoverzicht bevat.
Eén bestand met meerdere exemplaren van hetzelfde document. Bijvoorbeeld een verzameling gescande facturen.
✔️ Voor het trainen van five
een aangepaste classificatie zijn minimaal two
afzonderlijke klassen en minimaal documentvoorbeelden per klasse vereist. Het modelantwoord bevat de paginabereiken voor elk van de geïdentificeerde klassen documenten.
✔️ Het maximaal toegestane aantal klassen is 500
. Het maximaal toegestane aantal documentvoorbeelden per klasse is 100
.
Het model classificeert elke pagina van het invoerdocument, tenzij opgegeven, aan een van de klassen in de gelabelde gegevensset. U kunt ook de paginanummers opgeven die u in het invoerdocument wilt analyseren. Als u de drempelwaarde voor uw toepassing wilt instellen, gebruikt u de betrouwbaarheidsscore van het antwoord.
Incrementele training
Met aangepaste modellen moet u de toegang tot de trainingsgegevensset behouden om uw classificatie bij te werken met nieuwe voorbeelden voor een bestaande klasse of nieuwe klassen toevoegen. Classificatiemodellen ondersteunen nu incrementele training, waar u naar een bestaande classificatie kunt verwijzen en nieuwe voorbeelden voor een bestaande klasse kunt toevoegen of nieuwe klassen met voorbeelden kunt toevoegen. Incrementele training maakt scenario's mogelijk waarbij het bewaren van gegevens een uitdaging is en de classificatie moet worden bijgewerkt om te voldoen aan veranderende bedrijfsbehoeften. Incrementele training wordt ondersteund met modellen die zijn getraind met API-versie 2024-02-29-preview
en hoger.
Belangrijk
Incrementele training wordt alleen ondersteund met modellen die zijn getraind met dezelfde API-versie. Als u een model probeert uit te breiden, gebruikt u de API-versie waarmee het oorspronkelijke model is getraind om het model uit te breiden. Incrementele training wordt alleen ondersteund met API-versie 2024-07-31-preview of hoger.
Voor incrementele training moet u de oorspronkelijke model-id opgeven als de baseClassifierId
. Zie incrementele training voor meer informatie over het gebruik van incrementele training.
Ondersteuning voor Office-documenttypen
U kunt nu classificaties trainen om documenttypen te herkennen in verschillende indelingen, zoals PDF, afbeeldingen, Word, PowerPoint en Excel. Wanneer u uw trainingsgegevensset samenvoegt, kunt u documenten van een van de ondersteunde typen toevoegen. De classificatie vereist niet dat u expliciet specifieke typen labelt. Als best practice moet u ervoor zorgen dat uw trainingsgegevensset ten minste één voorbeeld van elke indeling heeft om de algehele nauwkeurigheid van het model te verbeteren.
Aangepaste classificatie en samengestelde modellen vergelijken
Een aangepast classificatiemodel kan in sommige scenario's een samengesteld model vervangen, maar er zijn enkele verschillen om rekening mee te houden:
Mogelijkheid | Aangepast classificatieproces | Samengesteld modelproces |
---|---|---|
Analyseer één document van onbekend type dat hoort bij een van de typen die zijn getraind voor de verwerking van extractiemodellen. | ● Vereist meerdere oproepen. ● Roep het classificatiemodel aan op basis van de documentklasse. Met deze stap kunt u een op betrouwbaarheid gebaseerde controle uitvoeren voordat u de analyse van het extractiemodel aanroept. ● Roep het extractiemodel aan. |
● Vereist één aanroep naar een samengesteld model dat het model bevat dat overeenkomt met het invoerdocumenttype. |
Analyseer één document van onbekend type dat behoort tot verschillende typen die zijn getraind voor de verwerking van extractiemodellen. | ●Vereist meerdere aanroepen. ● Maak een aanroep naar de classificatie die documenten negeert die niet overeenkomen met een aangewezen type voor extractie. ● Roep het extractiemodel aan. |
● Vereist één aanroep naar een samengesteld model. De service selecteert een aangepast model binnen het samengestelde model met de hoogste overeenkomst. ● Een samengesteld model kan geen documenten negeren. |
Analyseer een bestand met meerdere documenten van een bekend of onbekend type dat hoort bij een van de typen die zijn getraind voor de verwerking van extractiemodellen. | ● Vereist meerdere oproepen. ● Roep het extractiemodel aan voor elk geïdentificeerd document in het invoerbestand. ● Roep het extractiemodel aan. |
● Vereist één aanroep naar een samengesteld model. ● Het samengestelde model roept het onderdeelmodel eenmaal aan op het eerste exemplaar van het document. ●De resterende documenten worden genegeerd. |
Taalondersteuning
Classificatiemodellen ondersteunen momenteel alleen Engelse taaldocumenten.
Classificatiemodellen kunnen nu worden getraind op documenten van verschillende talen. Zie ondersteunde talen voor een volledige lijst.
Vereisten voor invoer
Ondersteunde bestandsindelingen:
Modelleren | Afbeelding:jpeg/jpg bmp , png , tiff heif |
Microsoft Office: Word (docx), Excel (xlxs), PowerPoint (pptx) |
|
---|---|---|---|
Read | ✔ | ✔ | ✔ |
Indeling | ✔ | ✔ | ✔ (2024-02-29-preview, 2023-10-31-preview en hoger) |
Algemeen document | ✔ | ✔ | |
Vooraf gebouwd | ✔ | ✔ | |
Aangepaste extractie | ✔ | ✔ | |
Aangepaste classificatie | ✔ | ✔ | ✔ |
Geef voor de beste resultaten vijf duidelijke foto's of scans van hoge kwaliteit per documenttype op.
Voor PDF en TIFF kunnen maximaal 2000 pagina's worden verwerkt (met een gratis abonnement worden alleen de eerste twee pagina's verwerkt).
De bestandsgrootte voor het analyseren van documenten is 500 MB voor betaalde (S0) laag en 4 MB gratis (F0).
De afmetingen van de afbeelding moeten tussen 50 x 50 pixels en 10.000 pixels x 10.000 pixels zijn.
Als uw PDF's zijn vergrendeld met een wachtwoord, moet u de vergrendeling verwijderen voordat u ze indient.
De minimale hoogte van de tekst die moet worden geëxtraheerd, is 12 pixels voor een afbeelding van 1024 x 768 pixels. Deze dimensie komt overeen met ongeveer
8
-punttekst op 150 punten per inch (DPI
).Voor aangepaste modeltraining is het maximum aantal pagina's voor trainingsgegevens 500 voor het aangepaste sjabloonmodel en 50.000 voor het aangepaste neurale model.
Voor het trainen van aangepaste extractiemodellen is de totale grootte van trainingsgegevens 50 MB voor het sjabloonmodel en 1G-MB voor het neurale model.
Voor de training van aangepast classificatiemodel is de totale grootte van trainingsgegevens 1 GB met maximaal 10.000 pagina's.
Document splitsen
Wanneer u meer dan één document in een bestand hebt, kan de classificatie de verschillende documenttypen in het invoerbestand identificeren. Het antwoord van de classificatie bevat de paginabereiken voor elk van de geïdentificeerde documenttypen in een bestand. Dit antwoord kan meerdere exemplaren van hetzelfde documenttype bevatten.
De analyze
bewerking bevat nu een splitMode
eigenschap die u gedetailleerde controle geeft over het splitsgedrag.
- Als u het hele invoerbestand wilt behandelen als één document voor classificatie, stelt u de splitMode in op
none
. Wanneer u dit doet, retourneert de service slechts één klasse voor het hele invoerbestand. - Als u elke pagina van het invoerbestand wilt classificeren, stelt u de splitMode in op
perPage
. De service probeert elke pagina als een afzonderlijk document te classificeren. - Stel de splitMode in op
auto
en de service identificeert de documenten en de bijbehorende paginabereiken.
Aanbevolen procedures
Aangepaste classificatiemodellen vereisen minimaal vijf voorbeelden per klasse om te trainen. Als de klassen vergelijkbaar zijn, verbetert het toevoegen van extra trainingsvoorbeelden de nauwkeurigheid van het model.
De classificatie probeert elk document toe te wijzen aan een van de klassen, als u verwacht dat het model documenttypen niet in de klassen ziet die deel uitmaken van de trainingsgegevensset, moet u een drempelwaarde instellen voor de classificatiescore of een paar representatieve voorbeelden van de documenttypen toevoegen aan een "other"
klasse. Als u een "other"
klasse toevoegt, zorgt u ervoor dat overbodige documenten geen invloed hebben op de kwaliteit van uw classificatie.
Een model trainen
Aangepaste classificatiemodellen worden ondersteund door v4.0: 2024-02-29-preview, 2024-07-31-preview en v3.1: 2023-07-31 (GA) API's. Document Intelligence Studio biedt een gebruikersinterface zonder code om interactief een aangepaste classificatie te trainen. Volg de handleiding om aan de slag te gaan.
Wanneer u de REST API gebruikt, kunt u, als u uw documenten indelen op mappen, de azureBlobSource
eigenschap van de aanvraag gebruiken om een classificatiemodel te trainen.
https://{endpoint}/documentintelligence/documentClassifiers:build?api-version=2024-02-29-preview
{
"classifierId": "demo2.1",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/car-maint/"
}
},
"cc-auth": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/cc-auth/"
}
},
"deed-of-trust": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/deed-of-trust/"
}
}
}
}
https://{endpoint}/formrecognizer/documentClassifiers:build?api-version=2023-07-31
{
"classifierId": "demo2.1",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/car-maint/"
}
},
"cc-auth": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/cc-auth/"
}
},
"deed-of-trust": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/deed-of-trust/"
}
}
}
}
Als u een platte lijst met bestanden hebt of slechts een paar geselecteerde bestanden in elke map wilt gebruiken om het model te trainen, kunt u de azureBlobFileListSource
eigenschap gebruiken om het model te trainen. Voor deze stap is een file list
JSON Lines-indeling vereist. Voeg voor elke klasse een nieuw bestand toe met een lijst met bestanden die moeten worden ingediend voor training.
{
"classifierId": "demo2",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/car-maint.jsonl"
}
},
"cc-auth": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/cc-auth.jsonl"
}
},
"deed-of-trust": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/deed-of-trust.jsonl"
}
}
}
}
De lijst car-maint.jsonl
met bestanden bevat bijvoorbeeld de volgende bestanden.
{"file":"classifier/car-maint/Commercial Motor Vehicle - Adatum.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Fincher.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Lamna.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Liberty.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Trey.pdf"}
Een model overschrijven
Notitie
Vanaf de 2024-07-31-preview
API ondersteunen aangepaste classificatiemodellen het in-place overschrijven van een model.
U kunt nu de aangepaste classificatie in-place bijwerken. Als u het model rechtstreeks overschrijft, verliest u de mogelijkheid om modelkwaliteit te vergelijken voordat u besluit het bestaande model te vervangen. Modeloverschrijven is toegestaan wanneer de allowOverwrite
eigenschap expliciet wordt opgegeven in de hoofdtekst van de aanvraag. Het is onmogelijk om het overschreven, oorspronkelijke model te herstellen zodra deze actie is uitgevoerd.
{
"classifierId": "existingClassifierName",
"allowOverwrite": true, // Default=false
...
}
Een model kopiëren
Notitie
Vanaf de 2024-07-31-preview
API ondersteunen aangepaste classificatiemodellen het kopiëren van een model naar en van een van de volgende regio's:
- VS - oost
- VS - west 2
- Europa -west
Gebruik de REST API of Document Intelligence Studio om een model naar een andere regio te kopiëren.
Autorisatieaanvraag voor kopiëren genereren
Met de volgende HTTP-aanvraag wordt kopieerautorisatie van uw doelresource opgehaald. U moet het eindpunt en de sleutel van uw doelresource invoeren als headers.
POST https://myendpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers:authorizeCopy?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}
Aanvraagtekst
{
"classifierId": "targetClassifier",
"description": "Target classifier description"
}
U ontvangt een 200
antwoordcode met de antwoordtekst die de JSON-nettolading bevat die nodig is om de kopie te initiëren.
{
"targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
"targetResourceRegion": "targetResourceRegion",
"targetClassifierId": "targetClassifier",
"targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
"accessToken": "accessToken",
"expirationDateTime": "timestamp"
}
Kopieerbewerking starten
Met de volgende HTTP-aanvraag wordt de kopieerbewerking voor de bronresource gestart. U moet het eindpunt en de sleutel van uw bronresource invoeren als url en header. U ziet dat de aanvraag-URL de classificatie-id bevat van de bronclassificatie die u wilt kopiëren.
POST {endpoint}/documentintelligence/documentClassifiers/{classifierId}:copyTo?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}
De hoofdtekst van uw aanvraag is het antwoord van de vorige stap.
{
"targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
"targetResourceRegion": "targetResourceRegion",
"targetClassifierId": "targetClassifier",
"targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
"accessToken": "accessToken",
"expirationDateTime": "timestamp"
}
Modelantwoord
Analyseer een invoerbestand met het documentclassificatiemodel.
https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview
Vanaf de 2024-07-31-preview
API kunt u pagina's opgeven die moeten worden geanalyseerd vanuit het invoerdocument met behulp van de pages
queryparameter in de aanvraag.
https://{service-endpoint}/formrecognizer/documentClassifiers/{classifier}:analyze?api-version=2023-07-31
Het antwoord bevat de geïdentificeerde documenten met de bijbehorende paginabereiken in de sectie documenten van het antwoord.
{
...
"documents": [
{
"docType": "formA",
"boundingRegions": [
{ "pageNumber": 1, "polygon": [...] },
{ "pageNumber": 2, "polygon": [...] }
],
"confidence": 0.97,
"spans": []
},
{
"docType": "formB",
"boundingRegions": [
{ "pageNumber": 3, "polygon": [...] }
],
"confidence": 0.97,
"spans": []
}, ...
]
}
Volgende stappen
Meer informatie over het maken van aangepaste classificatiemodellen: