Partage via


Utiliser des classifieurs incrémentiels Document Intelligence

Ce contenu s’applique à : coche v4.0 (préversion) coche

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 Intelligence documentaire 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 Intelligence documentaire sont des types de modèles de Deep Learning qui combinent des fonctionnalités de disposition et de langage pour détecter et identifier avec précision les documents que vous traitez dans votre application. Les modèles de classification personnalisés effectuent la classification des fichiers d’entrée page par page afin d’identifier les documents qu’ils contiennent, et peuvent également identifier plusieurs documents ou plusieurs instances d’un document unique dans un fichier d’entrée.

Les classifieurs de documents Intelligence documentaire identifient les types de documents connus dans les fichiers. Lors du traitement d’un fichier d’entrée avec plusieurs types de documents, ou lorsque vous ne connaissez pas le type de document, utilisez un classifieur pour identifier le document. Les classifieurs doivent être régulièrement mis à jour chaque fois que les modifications suivantes se produisent :

  • Vous ajoutez de nouveaux modèles pour une classe existante.
  • Vous ajoutez de nouveaux types de documents pour la reconnaissance.
  • La confiance du classifieur est faible.

Dans certains scénarios, vous ne pouvez plus avoir l’ensemble de documents d’origine utilisé pour entraîner le classifieur. Avec la formation incrémentielle, vous pouvez mettre à jour le classifieur avec uniquement les nouveaux exemples étiquetés.

Remarque

L’entraînement incrémentiel s’applique uniquement aux modèles de classifieurs de documents, et non aux modèles personnalisés.

L’entraînement incrémentiel est utile lorsque vous souhaitez améliorer la qualité d’un classifieur personnalisé. L’ajout de nouveaux exemples d’entraînement pour les classes existantes améliore la confiance du modèle pour les types de documents existants. Par exemple, si une nouvelle version d’un formulaire existant est ajoutée ou s’il existe un nouveau type de document. Cela peut être notamment le cas lorsque votre application commence à prendre en charge un nouveau type de document comme entrée valide.

Bien démarrer avec l’entraînement incrémentiel

  • L’entraînement incrémentiel n’introduit aucun nouveau point de terminaison d’API.

  • La charge utile de requête documentClassifiers:build est modifiée afin de prendre en charge l’entraînement incrémentiel.

  • L’entraînement incrémentiel entraîne la création d’un nouveau modèle de classifieur, le classifieur existant étant laissé intact.

  • Le nouveau classifieur contient tous les exemples et types de documents de l’ancien classifieur, ainsi que les exemples nouvellement fournis. Vous devez veiller à ce que votre application soit mise à jour pour fonctionner avec le classifieur nouvellement entraîné.

    Remarque

    L’opération de copie pour les classifieurs n’est actuellement pas disponible.

Créer une requête de génération de classifieur incrémentiel

La requête de création d’un classificateur incrémentiel est similaire à la classify documentrequête de création, mais elle inclut la nouvelle baseClassifierIdpropriété. Le baseClassifierId est défini sur le classifieur existant que vous souhaitez étendre. Vous devez également fournir les docTypes pour les différents types de documents dans l’exemple de jeu. Lorsque vous fournissez un docType qui existe dans le baseClassifier, les exemples fournis dans la requête sont ajoutés à ceux fournis lors de l’entraînement du classifieur de base. Les nouvelles valeurs docType ajoutées dans l’entraînement incrémentiel ne sont ajoutées qu’au nouveau classifieur. Le processus de spécification des exemples reste inchangé. Pour plus d’informations, consultez Entraînement d’un modèle de classifieur.

Exemple de demande POST

Exemple de requête POST pour générer un classifieur de document incrémentiel

POST {votre_point_de_terminaison}/documentintelligence/documentClassifiers:build?api-version=2024-02-29-preview

{
  "classifierId": "myAdaptedClassifier",
  "description": "Classifier description",
  "baseClassifierId": "myOriginalClassifier",
  "docTypes": {
    "formA": {
      "azureBlobSource": {
        "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer?mySasToken",
        "prefix": "formADocs/"
      }
    },
    "formB": {
      "azureBlobFileListSource": {
        "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer?mySasToken",
        "fileList": "formB.jsonl"
      }
    }
  }
}

Réponse POST

Toutes les API Intelligence documentaire sont asynchrones ; l’interrogation de l’emplacement de l’opération retournée fournit un état concernant l’opération de génération. Les classifieurs sont rapides à entraîner, et votre classifieur peut être prêt à l’emploi en une minute ou deux.

Après la réussite de l’opération :

  • La méthode POST réussie retourne un code de réponse 202 OK indiquant que le service a créé la requête.
  • Les documents traduits figurent dans votre conteneur cible.
  • La requête POST retourne également des en-têtes de réponse, notamment Operation-Location. La valeur de cet en-tête contient un resultId qui peut être interrogé pour obtenir l’état de l’opération asynchrone et récupérer les résultats à l’aide d’une requête GET avec votre même clé d’abonnement de ressource.

Exemple de demande GET

Exemple de requête GET pour récupérer le résultat d’un classifieur de document incrémentiel

GET {votre_point_de_terminaison}/documentintelligence/documentClassifiers/{ID_classifieur}/analyzeResults/{ID_résultat}?api-version=2024-02-29-preview


{
  "classifierId": "myAdaptedClassifier",
  "description": "Classifier description",
  "createdDateTime": "2022-07-30T00:00:00Z",
  "expirationDateTime": "2023-01-01T00:00:00Z",
  "apiVersion": "2024-02-29-preview",

  "baseClassifierId": "myOriginalClassifier",

  "docTypes": {
    "formA": {
      "azureBlobSource": {
        "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer",
        "prefix": "formADocs/"
      }
    },
    "formB": {
      "azureBlobFileListSource": {
        "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer",
        "fileList": "formB.jsonl"
      }
    }
  }
}

Réponse GET

La réponse GET d’un classifieur entraîné de manière incrémentielle diffère de la réponse GET d’un classifieur standard. Le classifieur entraîné de manière incrémentielle ne retourne pas tous les types de documents pris en charge. Il retourne les types de documents ajoutés ou mis à jour dans l’étape d’entraînement incrémentiel ainsi que le classifieur de base étendu. Pour obtenir la liste complète des types de documents, le classifieur de base doit être répertorié. La suppression d’un classifieur de base n’affecte pas l’utilisation d’un classifieur entraîné de manière incrémentielle.

Limites

  • L’entraînement incrémentiel fonctionne uniquement lorsque le classifieur de base et le classifieur entraîné de manière incrémentielle sont tous deux entraînés sur la même version d’API. Par conséquent, le classifieur entraîné de manière incrémentielle a le même cycle de vie de modèle que le classifieur de base.

  • Les limites de taille du jeu de données d’entraînement pour le classifieur incrémentiel sont identiques à celles des autres modèles de classifieurs. Pour obtenir la liste complète des limites applicables, consultez les limites de service.

Étapes suivantes