Modèle de classification personnalisé Intelligence documentaire

Important

  • Les mises en production de préversion publique Document Intelligence fournissent un accès anticipé aux fonctionnalités en cours de développement actif.
  • Les fonctionnalités, approches et processus peuvent changer, avant la disponibilité générale (GA), en fonction des commentaires des utilisateurs.
  • La version d'aperçu publique des bibliothèques clientes Document Intelligence est par défaut la version 2024-02-29-preview de l'API REST.
  • La version d’évaluation publique 2024-02-29-preview est actuellement disponible uniquement dans les régions Azure suivantes :
  • USA Est
  • USA Ouest 2
  • Europe Ouest

Ce contenu s’applique à :cochev4.0 (préversion) | Version Coche bleueprécédente :v3.1 (GA)

Ce contenu s’applique à :cochev3.1 (GA) | Dernière version :Coche violettev4.0 (préversion)

Important

  • L'API 2024-02-29-preview, modèle de classification personnalisé, ne divisera pas les documents par défaut pendant le processus d'analyse.
  • Vous devez définir explicitement la propriété splitMode pour conserver automatiquement le comportement des versions précédentes. La valeur par défaut de splitMode est de none.
  • Si votre fichier d’entrée contient plusieurs documents, vous devez activer le fractionnement en définissant le splitMode sur auto.

Azure AI Intelligence Documentaire est un service cloud Azure AI Services, qui permet aux développeurs de créer des solutions intelligentes de traitement de documents. Les API Document Intelligence analysent les images, les PDF et autres fichiers de documents pour extraire et détecter divers éléments de contenu, de mise en page, de style et de sémantique.

Les modèles de classification personnalisés sont des types de modèles d’apprentissage profond qui combinent des fonctionnalités de disposition et de langage pour détecter et identifier avec précision des documents que vous traitez dans votre application. Les modèles de classification personnalisés effectuent la classification d'un fichier d'entrée page par page pour identifier les documents qu'il contient et peuvent également identifier plusieurs documents ou plusieurs instances d'un seul document dans un fichier d'entrée.

Fonctionnalités des modèles

Remarque

  • À partir de l’API 2024-02-29-preview, les modèles de classification personnalisés prennent en charge la formation incrémentielle. Vous pouvez ajouter de nouveaux échantillons aux classes existantes ou ajouter de nouvelles classes en référençant un classificateur existant.

Les modèles de classification personnalisés peuvent analyser des documents à fichier unique ou à plusieurs fichiers pour déterminer si l’un des types de documents entraînés est contenu dans un fichier d’entrée. Voici les scénarios actuellement pris en charge :

  • Fichier unique contenant un document. Par exemple, un formulaire de demande de prêt.

  • Fichier unique contenant plusieurs documents. Par exemple, un package de demande de prêt contenant un formulaire de demande de prêt, une fiche de paie et un relevé bancaire.

  • Fichier unique contenant plusieurs instances du même document. Par exemple, une collection de factures numérisées.

✔️ L’apprentissage d’un classifieur personnalisé nécessite au moins two classes distinctes et un minimum de five exemples de documents par classe. La réponse du modèle contient les plages de pages pour chacune des classes de documents identifiées.

✔️ Le nombre maximal autorisé de classes est 500. Le nombre maximal autorisé d’exemples de documents par classe est 100.

Le modèle classe chaque page du document d’entrée dans l’une des classes du jeu de données étiqueté. Pour définir le seuil de votre candidature, utilisez le score de confiance de la réponse.

Formation progressive

Avec les modèles personnalisés, vous devez conserver l'accès à l'ensemble de données de formation pour mettre à jour votre classificateur avec de nouveaux échantillons pour une classe existante ou ajouter de nouvelles classes. Les modèles de classificateur prennent désormais en charge la formation incrémentielle dans laquelle vous pouvez référencer un classificateur existant et ajouter de nouveaux échantillons pour une classe existante ou ajouter de nouvelles classes avec des échantillons. La formation incrémentielle permet des scénarios dans lesquels la conservation des données constitue un défi et où le classificateur doit être mis à jour pour s'adapter à l'évolution des besoins de l'entreprise. La formation incrémentielle est prise en charge avec les modèles entraînés avec la version API 2024-02-29-preview et versions ultérieures.

Important

La formation incrémentielle n’est prise en charge qu’avec les modèles entraînés avec la même version de l’API. Si vous essayez d'étendre un modèle, utilisez la version de l'API avec laquelle le modèle d'origine a été formé pour étendre le modèle. La formation incrémentielle est pris en charge uniquement avec l’API version 2024-02-29-preview ou ultérieure.

La formation incrémentielle nécessite que vous fournissiez l'ID de modèle d'origine comme baseClassifierId. Consultez la formation incrémentielle pour en savoir plus sur l’utilisation de la formation incrémentielle.

Prise en charge des types de documents Office

Vous pouvez désormais former les classificateurs à reconnaître les types de documents dans différents formats, notamment PDF, images, Word, PowerPoint et Excel. Lors de l’assemblage de votre ensemble de données de formation, vous pouvez ajouter des documents de n’importe quel type pris en charge. Le classificateur ne vous oblige pas à étiqueter explicitement des types spécifiques. Il est recommandé de garantir que votre ensemble de données d'entraînement contient au moins un échantillon de chaque format afin d'améliorer la précision globale du modèle.

Comparer la classification personnalisée et les modèles composés

Un modèle de classification personnalisée peut remplacer un modèle composé dans certains scénarios, mais il existe quelques différences à prendre en compte :

Fonctionnalité Processus de classifieur personnalisé Processus de modèle composé
Analysez un document unique de type inconnu appartenant à l’un des types entraînés pour le traitement du modèle d’extraction. ● Nécessite plusieurs appels.
● Appelez le modèle de classification basé sur la classe de document. Cette étape permet une vérification basée sur la confiance avant d’appeler l’analyse du modèle d’extraction.
● Appelez le modèle d’extraction.
● Nécessite un appel unique à un modèle composé contenant le modèle correspondant au type de document d’entrée.
Analysez un document unique de type inconnu appartenant à plusieurs types entraînés pour le traitement du modèle d’extraction. ●Nécessite plusieurs appels.
● Appelez le classificateur qui ignore les documents ne correspondant pas à un type désigné pour l'extraction.
● Appelez le modèle d’extraction.
● Nécessite un seul appel à un modèle composé. Le service sélectionne un modèle personnalisé dans le modèle composé avec la correspondance la plus élevée.
● Un modèle composé ne peut pas ignorer les documents.
Analysez un fichier contenant plusieurs documents de type connu ou inconnu appartenant à l’un des types entraînés pour le traitement du modèle d’extraction. ● Nécessite plusieurs appels.
● Appelez le modèle d'extraction pour chaque document identifié dans le fichier d'entrée.
● Appelez le modèle d’extraction.
● Nécessite un seul appel à un modèle composé.
● Le modèle composé appelle le modèle de composant une fois sur la première instance du document.
●Les documents restants sont ignorés.

Support multilingue

Actuellement, les modèles de classification prennent uniquement en charge des documents en anglais.

Les modèles de classification peuvent désormais être formés sur des documents de langues différentes. Pour obtenir la liste complète, consultez Langues prises en charge.

Critères des entrées

Formats de fichiers pris en charge :

Modèle PDF Image :
jpeg/jpg, png, bmp, tiff, heif
Microsoft Office :
Word (docx), Excel (xlxs), PowerPoint (pptx)
Lire
Layout ✔ (Aperçu du 29/02/2024, aperçu du 31/10/2023 et versions ultérieures)
Document général
Prédéfinie
Extraction personnalisée
Classification personnalisée
  • Pour obtenir de meilleurs résultats, fournissez cinq photos claires ou images numérisées de haute qualité par type de document.

  • Pour les PDF et TIFF, jusqu'à 2 000 pages peuvent être traitées (avec un abonnement gratuit, seules les deux premières pages sont traitées).

  • La taille de fichier pour l’analyse des documents est de 500 Mo pour le niveau payant (S0) et de 4 Mo pour le niveau gratuit (F0).

  • Les dimensions des images doivent être comprises entre 50 x 50 et 10 000 x 10 000 pixels.

  • Si vos fichiers PDF sont verrouillés par mot de passe, vous devez supprimer le verrou avant leur envoi.

  • La hauteur minimale du texte à extraire est de 12 pixels pour une image de 1024 x 768 pixels. Cette dimension correspond à un texte d'environ 8-point à 150 points par pouce (DPI).

  • Pour la formation de modèles personnalisés, le nombre maximal de pages pour les données de formation est de 500 pour le modèle personnalisé et 50 000 pour le modèle neural personnalisé.

  • Pour l’entraînement du modèle d’extraction personnalisé, la taille totale des données d’entraînement est de 50 Mo pour le modèle et 1G-Mo pour le modèle neural.

  • Pour la formation du modèle de classification personnalisé, la taille totale des données de formation est de 1 Go avec un maximum de 10 000 pages.

Fractionnement de document

Lorsque vous avez plusieurs documents dans un fichier, le classifieur peut identifier les différents types de documents contenus dans le fichier d’entrée. La réponse du classifieur contient les plages de pages pour chacun des types de documents identifiés contenus dans un fichier. Cette réponse peut inclure plusieurs instances du même type de document.

L’opération d’analyse inclut désormais une propriété splitMode qui vous donne un contrôle granulaire sur le comportement de fractionnement.

  • Pour traiter l’intégralité du fichier d’entrée en tant que document unique pour la classification, définissez le splitMode sur none. Lorsque vous le faites, le service retourne une seule classe pour l’ensemble du fichier d’entrée.
  • Pour classifier chaque page du fichier d’entrée, définissez le splitMode sur perPage. Le service tente de classifier chaque page en tant que document individuel.
  • Définissez le splitMode sur auto et le service identifie les documents et les plages de pages associées.

Bonnes pratiques

L’apprentissage des modèles de classification personnalisés nécessite au moins cinq exemples par classe. Si les classes sont similaires, l’ajout d’exemples d’entraînement supplémentaires améliore la précision du modèle.

Le classifieur tente d’affecter chaque document à l’une des classes. Si vous prévoyez que le modèle affiche des types de documents qui ne font pas partie du jeu de données de formation, vous devez planifier la définition d’un seuil sur le score de classification ou ajouter quelques exemples représentatifs des types de documents à une classe "other". L'ajout d'une classe "other" garantit que les documents inutiles n'affectent pas la qualité de votre classificateur.

Training a model

Les modèles de classification personnalisés sont pris en charge par les v4.0:2024-02-29-preview et v3.1:2023-07-31 (GA) APIs. Document Intelligence Studio fournit une interface utilisateur sans code pour effectuer l’apprentissage interactif d’un classifieur personnalisé. Suivez le guide pratique pour commencer.

Lorsque vous utilisez l’API REST, si vous organisez vos documents par dossiers, vous pouvez utiliser la propriété azureBlobSource de la requête pour entraîner un modèle de classification.


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

Sinon, si vous disposez d’une liste plate de fichiers ou que vous envisagez uniquement d’utiliser quelques fichiers sélectionnés dans chaque dossier pour entraîner le modèle, vous pouvez utiliser la propriété azureBlobFileListSource pour effectuer l’apprentissage du modèle. Cette étape nécessite un file list au format Lignes JSON. Pour chaque classe, ajoutez un nouveau fichier avec une liste de fichiers à soumettre pour l’apprentissage.

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

Par exemple, la liste de fichiers car-maint.jsonl contient les fichiers suivants.

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

Réponse du modèle

Analysez un fichier d'entrée avec le modèle de classification de documents.

https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview
https://{service-endpoint}/formrecognizer/documentClassifiers/{classifier}:analyze?api-version=2023-07-31

La réponse contient les documents identifiés avec les plages de pages associées dans la section documents de la réponse.

{
  ...

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

Étapes suivantes

Apprenez à créer des modèles de classification personnalisés :