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-02-29-preview.
  • Openbare preview-versie 2024-02-29-preview is momenteel alleen beschikbaar in de volgende Azure-regio's:
  • VS - oost
  • VS - west 2
  • Europa -west

Deze inhoud is van toepassing op:Vinkjev4.0 (preview) | Vorige versie:blauw-vinkjev3.1 (GA)

Deze inhoud is van toepassing op:Vinkjev3.1 (GA) | Nieuwste versie:paars vinkjev4.0 (preview)

Belangrijk

  • Het 2024-02-29-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 standaardwaarde splitMode is none.
  • Als uw invoerbestand meerdere documenten bevat, moet u splitsen inschakelen door het splitMode in te stellen op auto.

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 document. Bijvoorbeeld een formulier voor een leningsaanvraag.

  • Eén bestand met meerdere documenten. Een aanvraagpakket voor een lening met bijvoorbeeld een formulier voor een leningsaanvraag, een loonbrief en een bankoverzicht.

  • 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 naar een van de klassen in de gelabelde gegevensset. 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-02-29-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:

Model PDF Afbeelding:
jpeg/jpg, png, bmp, 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 analysebewerking 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 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"}

Modelantwoord

Analyseer een invoerbestand met het documentclassificatiemodel.

https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview
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: