Teilen über


Benutzerdefiniertes Klassifizierungsmodell von Dokument Intelligenz

Wichtig

  • Public Preview-Releases von Dokument Intelligenz bieten frühzeitigen Zugriff auf Features, die sich in der aktiven Entwicklung befinden. Features, Ansätze und Prozesse können sich aufgrund von Benutzerfeedback vor der allgemeinen Verfügbarkeit (General Availability, GA) ändern.
  • Die Public Preview von Dokument Intelligenz-Clientbibliotheken verwendet standardmäßig Version 2024-07-31-preview der REST-API.
  • Die Public Preview 2024-07-31-preview ist derzeit lediglich in den folgenden Azure-Regionen verfügbar. Beachten Sie, dass das benutzerdefinierte generative Modell (Dokumentfeldextraktion) in KI Studio nur in der Region „USA, Norden-Mitte“ verfügbar ist:
    • USA, Osten
    • USA, Westen 2
    • Europa, Westen
    • USA Nord Mitte

Dieser Inhalt gilt für:Häkchen Version 4.0 (Vorschau) | Vorherige Version: Blaues Häkchen Version 3.1 (GA)

Dieser Inhalt gilt für: Häkchen Version 3.1 (GA) | Aktuelle Version: lila-häkchen Version 4.0 (Vorschau)

Wichtig

  • Das 2024-07-31-preview API-, benutzerdefinierte Klassifizierungsmodell teilt Dokumente während des Analyseprozesses nicht standardmäßig auf.
  • Sie müssen die splitMode Eigenschaft explizit auf „automatisch“ festlegen, um das Verhalten aus früheren Versionen beizubehalten. Der Standardwert für splitMode lautet none.
  • Wenn Ihre Eingabedatei mehrere Dokumente enthält, müssen Sie die Aufteilung aktivieren, indem Sie splitMode auf auto festlegen.

Azure KI Dokument Intelligenz ist ein cloudbasierter Azure KI Service, um damit intelligente Lösungen für die Dokumentverarbeitung erstellen zu können. Mit den Dokument Intelligenz-APIs werden Bilder, PDFs und andere Dokumentdateien analysiert, um verschiedene Inhalts-, Layout-, Stil- und semantische Elemente zu extrahieren und zu erkennen.

Benutzerdefinierte Klassifizierungsmodelle sind Deep Learning-Modelltypen, die Layout- und Sprachfeatures kombinieren, um die in Ihrer Anwendung verarbeiteten Dokumente genau zu erkennen und zu identifizieren. Benutzerdefinierte Klassifizierungsmodelle führen eine seitenweise Klassifizierung einer Eingabedatei durch, um die darin enthaltenen Dokumente zu identifizieren. Sie können auch mehrere Dokumente oder mehrere Instanzen eines einzelnen Dokuments innerhalb einer Eingabedatei identifizieren.

Modellfunktionen

Hinweis

  • Ab der 2024-02-29-preview API unterstützen benutzerdefinierte Clasification-Modelle inkrementelle Schulungen. Sie können vorhandenen Klassen neue Beispiele hinzufügen oder neue Klassen hinzufügen, indem Sie auf einen vorhandenen Klassifizierer verweisen.

Benutzerdefinierte Klassifizierungsmodelle können Dokumente mit einer oder mehreren Dateien analysieren, um zu ermitteln, ob eine Eingabedatei einen der trainierten Dokumenttypen enthält. Im Folgenden sind die derzeit unterstützte Szenarien aufgeführt:

  • Eine einzelne Datei, die einen Dokumenttyp enthält, z. B. ein Formular für einen Darlehensantrag.

  • Eine einzelne Datei, die mehrere Dokumenttypen enthält. Ein Beispiel ist ein Kreditantragspaket, das ein Kreditantragsformular, eine Lohnabrechnung und einen Bankauszug enthält.

  • Eine einzelne Datei, die mehrere Instanzen desselben Dokuments enthält (z. B. eine Sammlung gescannter Rechnungen)

✔️ Zum Trainieren eines benutzerdefinierten Klassifizierungsmodells sind mindestens two verschiedene Klassen und mindestens five Beispiele pro Klasse erforderlich. Die Modellantwort enthält die Seitenbereiche für jede der Klassen identifizierter Dokumente.

✔️ Die maximal zulässige Anzahl von Klassen ist 500. Die maximal zulässige Anzahl von Dokumentbeispielen pro Klasse lautet 100.

Das Modell teilt jede Seite des Eingabedokuments, sofern nicht anders angegeben, einer der Klassen im beschrifteten Dataset zu. Sie können auch die zu analysierenden Seitenzahlen im Eingabedokument angeben. Um den Schwellenwert für Ihre Anwendung festzulegen, verwenden Sie den Konfidenzwert aus der Antwort.

Inkrementelle Schulung

Mit benutzerdefinierten Modellen müssen Sie den Zugriff auf das Schulungsdatenset beibehalten, um Ihren Klassifizierer mit neuen Beispielen für eine vorhandene Klasse zu aktualisieren oder neue Klassen hinzuzufügen. Klassifizierungsmodelle unterstützen jetzt inkrementelle Schulungen, bei denen Sie auf einen vorhandenen Klassifizierer verweisen und neue Beispiele für eine vorhandene Klasse anfügen oder neue Klassen mit Beispielen hinzufügen können. Inkrementelle Schulung ermöglicht Szenarien, in denen die Datenaufbewahrung eine Herausforderung darstellt und der Klassifizierer aktualisiert werden muss, um sich an sich ändernde Geschäftsanforderungen anzupassen. Inkrementelle Schulung wird mit Modellen unterstützt, die mit DER API-Version 2024-02-29-preview und höher trainiert wurden.

Wichtig

Das inkrementelle Training wird nur mit Modellen unterstützt, die mit derselben API-Version trainiert wurden. Wenn Sie versuchen, ein Modell zu erweitern, verwenden Sie die API-Version, mit der das ursprüngliche Modell trainiert wurde, um das Modell zu erweitern. Inkrementelles Training wird nur mit der API-Version 2024-07-31-preview oder höher unterstützt.

Inkrementelle Schulung erfordert, dass Sie die ursprüngliche Modell-ID als die baseClassifierId. Weitere Informationen zur Verwendung inkrementeller Schulungen finden Sie in der inkrementellen Schulung .

Unterstützung für Office-Dokumenttypen

Sie können jetzt Klassifizierer trainieren, um Dokumenttypen in verschiedenen Formaten wie PDF, Bilder, Word, PowerPoint und Excel zu erkennen. Beim Zusammenstellen Ihres Schulungsdatensatzes können Sie Dokumente beliebiger unterstützter Typen hinzufügen. Der Klassifizierer erfordert nicht, dass Sie bestimmte Typen explizit bezeichnen. Stellen Sie als bewährte Methode sicher, dass Ihr Schulungsdatensatz mindestens ein Beispiel für jedes Format aufweist, um die Gesamtgenauigkeit des Modells zu verbessern.

Vergleich zwischen benutzerdefinierten Klassifizierungsmodellen und zusammengesetzten Modellen

In einigen Szenarien kann ein benutzerdefiniertes Klassifizierungsmodell ein zusammengesetztes Modell ersetzen. Folgende Unterschiede zwischen den Modelltypen sind jedoch zu beachten:

Funktion Prozess beim benutzerdefinierten Klassifizierer Prozess beim zusammengesetzten Modell
Analysieren eines einzelnen Dokuments eines unbekannten Typs, das zu einem der Typen gehört, die für die Verarbeitung des Extraktionsmodells trainiert wurden ● Erfordert mehrere Aufrufe.
● Aufruf der Klassifizierungsmodelle basierend auf der Dokumentklasse. In diesem Schritt kann vor dem Aufrufen der Analyse des Extraktionsmodells eine Zuverlässigkeitsprüfung durchgeführt werden.
● Aufrufen des Extraktionsmodells.
● Erfordert einen einzelnen Aufruf eines zusammengesetzten Modells, das das dem Eingabedokumenttyp entsprechende Modell enthält.
Analysieren eines einzelnen Dokuments eines unbekannten Typs, das zu mehreren Typen gehört, die für die Verarbeitung des Extraktionsmodells trainiert wurden ● Erfordert mehrere Aufrufe.
● Aufruf des Klassifizierers, der Dokumente, die nicht mit einem bestimmten Typ übereinstimmen, beim Extrahieren ignoriert.
● Aufrufen des Extraktionsmodells.
● Erfordert einen einzelnen Aufruf eines zusammengesetzten Modells. Der Dienst wählt ein benutzerdefiniertes Modell im zusammengesetzten Modell mit der höchsten Übereinstimmung aus.
● Ein zusammengesetztes Modell kann Dokumente nicht ignorieren.
Analysieren einer Datei, die mehrere Dokumente eines bekannten oder unbekannten Typs enthält, die zu einem der Typen gehören, die für die Verarbeitung des Extraktionsmodells trainiert wurden ● Erfordert mehrere Aufrufe.
● Aufruf des Extraktionsmodells für jedes identifizierte Dokument in der Eingabedatei.
● Aufrufen des Extraktionsmodells.
● Erfordert einen einzelnen Aufruf eines zusammengesetzten Modells.
● Das zusammengesetzte Modell ruft das Komponentenmodell einmal für die erste Instanz des Dokuments auf.
●Die übrigen Dokumente werden ignoriert.

Sprachunterstützung

Klassifizierungsmodelle unterstützen derzeit nur Dokumente in englischer Sprache.

Klassifizierungsmodelle können nun mit Dokumenten verschiedener Sprachen trainiert werden. Eine vollständige Liste finden Sie unter Unterstützte Sprachen.

Eingabeanforderungen

Unterstützte Dateiformate:

Modell PDF Image:
jpeg/jpg, png, bmp, tiff, heif
Microsoft Office
Word (docx), Excel (xlxs), PowerPoint (pptx)
Lesen Sie
Layout ✔ (2024-02-29-Vorschau, 2023-10-31-Vorschau und höher)
Allgemeines Dokument
Vordefiniert
Benutzerdefinierte Extraktion
Benutzerdefinierte Klassifizierung
  • Um optimale Ergebnisse zu erzielen, stellen Sie fünf deutliche Fotos oder qualitativ hochwertige Scans pro Dokumenttyp bereit.

  • In den Formaten PDF und TIFF können bis zu 2,000 Seiten verarbeitet werden (bei einem kostenlosen Abonnement werden nur die ersten beiden Seiten verarbeitet).

  • Die Dateigröße für die Analyse von Dokumenten beträgt 500 MB für die kostenpflichtige (S0) und 4 MB für die kostenlose (F0) Stufe.

  • Die Bildgrößen müssen im Bereich zwischen 50 × 50 Pixel und 10.000 × 10.000 Pixel liegen.

  • Wenn Ihre PDFs kennwortgeschützt sind, müssen Sie die Sperre vor dem Senden entfernen.

  • Die Mindesthöhe des zu extrahierenden Texts beträgt 12 Pixel für ein Bild von 1024 × 768 Pixel. Diese Abmessung entspricht etwa einem 8-Punkt-Text bei 150 Punkten pro Zoll (DPI).

  • Die maximale Anzahl Seiten für Trainingsdaten beträgt beim benutzerdefinierten Modelltraining 500 für das benutzerdefinierte Vorlagenmodell und 50.000 für das benutzerdefinierte neuronale Modell.

  • Für das Training des benutzerdefinierten Extraktionsmodells beträgt die Gesamtgröße der Trainingsdaten 50 MB für das Vorlagenmodell und 1G-MB für das neuronale Modell.

  • Für das Training des benutzerdefinierten Klassifizierungsmodells beträgt die Gesamtgröße der Trainingsdaten 1 GB mit einem Maximum von 10.000 Seiten.

Dokumentaufteilung

Wenn Sie mehr als ein Dokument in einer Datei haben, kann der Klassifizierer die verschiedenen Dokumenttypen identifizieren, die in der Eingabedatei enthalten sind. Die Antwort des Klassifizierers enthält die Seitenbereiche für jeden der identifizierten Dokumenttyp, die in einer Datei enthalten sind. Diese Antwort kann mehrere Instanzen desselben Dokumenttyps enthalten.

Der analyze-Vorgang enthält jetzt eine splitMode-Eigenschaft, die Ihnen eine präzise Kontrolle über das Aufteilungsverhalten bietet.

  • Um die gesamte Eingabedatei als einzelnes Dokument für die Klassifizierung zu behandeln, legen Sie die splitMode-Eigenschaft auf none fest. Wenn Sie dies tun, gibt der Dienst nur eine Klasse für die gesamte Eingabedatei zurück.
  • Um jede Seite der Eingabedatei zu klassifizieren, legen Sie splitMode auf perPage fest. Der Dienst versucht, jede Seite als einzelnes Dokument zu klassifizieren.
  • Legen Sie splitMode auf auto fest, und der Dienst identifiziert die Dokumente und zugeordneten Seitenbereiche.

Bewährte Methoden

Benutzerdefinierte Klassifizierungsmodelle erfordern mindestens fünf Beispiele pro Klasse zum Trainieren. Bei ähnlichen Klassen kann die Modellgenauigkeit durch Hinzufügen zusätzlicher Trainingsbeispiele verbessert werden.

Der Klassifizierer versucht, jedes Dokument einer der Klassen zuzuweisen. Wenn Sie davon ausgehen, dass das Modell Dokumenttypen nicht in den Klassen anzeigt, die Teil des Trainingsdatasets sind, sollten Sie einen Schwellenwert für die Klassifizierungsbewertung festlegen oder ein paar repräsentative Beispiele der Dokumenttypen zu einer "other"-Klasse hinzufügen. Durch das Hinzufügen einer "other"-Klasse wird sichergestellt, dass nicht benötigte Dokumente keine Auswirkungen auf die Klassifizierungsqualität haben.

Trainieren eines Modells

Benutzerdefinierte Klassifizierungsmodelle werden von v4.0: 2024-02-29-preview, 2024-07-31-preview and v3.1: 2023-07-31 (GA) APIs unterstützt. Dokument Intelligenz Studio bietet eine Benutzeroberfläche ohne Code zum interaktiven Trainieren eines benutzerdefinierten Klassifizierers. Folgen Sie den Leitfaden für die ersten Schritte.

Wenn Sie ihre Dokumente in Ordnern organisiert haben, können Sie bei Verwendung der REST-API die azureBlobSource-Eigenschaft der Anforderung verwenden, um ein Klassifizierungsmodell zu trainieren.


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/"
            }
    }
  }
}

Alternativ können Sie die azureBlobFileListSource-Eigenschaft zum Trainieren des Modells verwenden, wenn Sie über eine flache Liste von Dateien verfügen oder nur einige ausgewählte Dateien in jedem Ordner zum Trainieren des Modells verwenden möchten. Für diesen Schritt ist eine file list im Format JSON-Zeilen erforderlich. Fügen Sie für jede Klasse eine neue Datei mit einer Liste von Dateien hinzu, die für das Training übermittelt werden sollen.

{
  "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"
      }
    }
  }
}

Als Beispiel enthält die Dateiliste car-maint.jsonl die folgenden Dateien.

{"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"}

Überschreiben eines Modells

Hinweis

Ab der 2024-07-31-preview API unterstützen die benutzerdefinierten Klassifizierungsmodelle das Überschreiben eines Modells an Ort und Stelle.

Sie können die benutzerdefinierte Klassifizierung jetzt direkt aktualisieren. Durch das direkte Überschreiben des Modells würden Sie die Möglichkeit verlieren, die Qualität des Modells zu vergleichen, bevor Sie sich entscheiden, das vorhandene Modell zu ersetzen. Modellüberschreibung ist zulässig, wenn die Eigenschaft allowOverwrite explizit im Anforderungstext angegeben wird. Es ist unmöglich, das überschriebene, ursprüngliche Modell wiederherzustellen, sobald diese Aktion durchgeführt wurde.



{
  "classifierId": "existingClassifierName",
  "allowOverwrite": true,  // Default=false
  ...
}

Kopieren eines Modells

Hinweis

Ab der 2024-07-31-preview API unterstützen die benutzerdefinierten Klassifizierungsmodelle das Kopieren eines Modells in und aus einer der folgenden Regionen:

  • USA, Osten
  • USA, Westen 2
  • Europa, Westen

Verwenden Sie die REST-API oder Dokument Intelligenz Studio, um ein Modell in eine andere Region zu kopieren.

Generieren einer Autorisierungsanforderung für den Kopiervorgang

Mit der folgenden HTTP-Anforderung wird eine Autorisierung für den Kopiervorgang von Ihrer Zielressource abgerufen. Sie müssen den Endpunkt und den Schlüssel Ihrer Zielressource als Header eingeben.

POST https://myendpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers:authorizeCopy?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}

Anforderungstext

{
  "classifierId": "targetClassifier",
  "description": "Target classifier description"
}

Sie erhalten den Antwortcode 200 mit Antworttext, der die JSON-Nutzdaten enthält, die zum Initiieren des Kopiervorgangs erforderlich ist.

{
  "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"
}

Starten des Kopiervorgangs

Mit der folgenden HTTP-Anforderung wird der Kopiervorgang für die Quellressource gestartet. Sie müssen den Endpunkt und den Schlüssel Ihrer Quellressource als URL und Header eingeben. Beachten Sie, dass die Anforderungs-URL die Klassifizierer-ID des Quellklassifizierers enthält, das Sie kopieren möchten.

POST {endpoint}/documentintelligence/documentClassifiers/{classifierId}:copyTo?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}

Der Text Ihrer Anforderung ist die Antwort aus dem vorherigen Schritt.

{
  "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"
}

Modellantwort

Analysieren einer Eingabedatei mit dem Dokumentklassifizierungsmodell

https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview

Ab der 2024-07-31-preview API können Sie die zu analysierenden Seiten aus dem Eingabedokument mit dem Abfrageparameter pages in der Anforderung angeben.

https://{service-endpoint}/formrecognizer/documentClassifiers/{classifier}:analyze?api-version=2023-07-31

Die Antwort enthält die identifizierten Dokumente mit den zugeordneten Seitenbereichen im Dokumentabschnitt der Antwort.

{
  ...

    "documents": [
      {
        "docType": "formA",
        "boundingRegions": [
          { "pageNumber": 1, "polygon": [...] },
          { "pageNumber": 2, "polygon": [...] }
        ],
        "confidence": 0.97,
        "spans": []
      },
      {
        "docType": "formB",
        "boundingRegions": [
          { "pageNumber": 3, "polygon": [...] }
        ],
        "confidence": 0.97,
        "spans": []
      }, ...
    ]
  }

Nächste Schritte

Erfahren Sie, wie Sie benutzerdefinierte Klassifizierungsmodelle erstellen: