Ajouter une étiquette aux documents

Un ensemble de données de documents étiquetés est requis pour entraîner, surentraîner ou évaluer une version de l'outil de traitement.

Cette page décrit comment appliquer des étiquettes du schéma de l'outil de traitement aux documents importés dans votre ensemble de données.

Cette page suppose que vous avez déjà créé un processeur compatible avec l'entraînement, le surentraînement ou l'évaluation. Si votre processeur est compatible, l'onglet Entraînement s'affiche désormais dans la console Google Cloud. Il suppose également que vous avez créé un ensemble de données, importé des documents et défini un schéma de processeur.

Champs de nom pour l'extraction d'IA générative

La façon dont les champs sont nommés influence la précision de leur extraction à l'aide de l'IA générative. Nous vous recommandons de respecter les bonnes pratiques suivantes lorsque vous nommez des champs:

  • Nommez le champ avec le même langage que celui utilisé pour le décrire dans le document : par exemple, si un document comporte un champ décrit comme Employer Address, nommez-le employer_address. N'utilisez pas d'abréviations telles que emplr_addr.

  • Les espaces ne sont actuellement pas acceptés dans les noms de champs: au lieu d'utiliser des espaces, utilisez _. Par exemple, First Name sera nommé first_name.

  • Itérer sur les noms pour améliorer la précision: Document AI présente une limite qui ne permet pas de modifier les noms de champ. Pour tester différents noms, utilisez l'outil de renommage du nom de l'entité pour remplacer l'ancien nom de l'entité par un nouveau dans l'ensemble de données, importez l'ensemble de données, activez les nouvelles entités dans le processeur, puis désactivez ou supprimez les champs existants.

Options de libellé

Vous avez le choix entre différentes options pour ajouter des libellés aux documents:

Étiqueter manuellement dans la console Google Cloud

Dans l'onglet Entraînement, sélectionnez un document pour ouvrir l'outil de libellé.

Dans la liste des libellés de schéma sur le côté gauche de l'outil de libellé, sélectionnez le symbole "Ajouter" pour sélectionner l'outil Cadre de délimitation afin de mettre en surbrillance les entités du document et de les attribuer à un libellé.

Dans la capture d'écran suivante, des libellés ont été attribués aux champs EMPL_SSN, EMPLR_ID_NUMBER, EMPLR_NAME_ADDRESS, FEDERAL_INCOME_TAX_WH, SS_TAX_WH, SS_WAGES et WAGES_TIPS_OTHER_COMP du document.

label-process-1

Lorsque vous sélectionnez une entité de case à cocher avec l'outil Cadre de délimitation, ne sélectionnez que la case à cocher elle-même, et non le texte associé. Assurez-vous que l'entité de case à cocher affichée à gauche est cochée ou décochée pour correspondre à ce qui est indiqué dans le document.

label-process-2

Lorsque vous ajoutez des libellés aux entités parent-enfant, ne le faites pas pour les entités parents. Les entités parents ne sont que des conteneurs des entités enfants. Ne nommez que les entités enfants. Les entités parentes sont mises à jour automatiquement.

Lorsque vous ajoutez un libellé à des entités enfants, ajoutez-le à la première entité enfant, puis associez les entités enfants associées à cette ligne. Vous le remarquerez pour la deuxième entité enfant la première fois que vous lui attribuerez un libellé. Par exemple, avec une facture, si vous ajoutez le libellé description, elle ressemble à n'importe quelle autre entité. Toutefois, si vous attribuez ensuite le libellé quantité, vous êtes invité à sélectionner le parent.

Répétez cette étape pour chaque article de campagne en sélectionnant Nouvelle entité parente pour chaque nouvel article de campagne.

Les entités parent-enfant sont une fonctionnalité en version Preview et ne sont compatibles qu'avec les tables à une seule couche d'imbrication. Les modèles de base acceptent trois niveaux de champs (grand-parent, parent, enfant). Les entités enfants peuvent donc avoir un niveau d'enfants.

Tableaux rapides

Lorsque vous ajoutez des libellés à un tableau, il peut être fastidieux de le faire pour chaque ligne. Il existe un outil très pratique qui peut répliquer une structure d'entité de ligne. Notez que cette fonctionnalité ne fonctionne que sur les lignes alignées horizontalement.

  1. Commencez par ajouter un libellé à la première ligne comme d'habitude.
  2. Maintenez ensuite le pointeur sur l'entité parente représentant la ligne. Sélectionnez Ajouter des lignes. La ligne devient un modèle pour créer d'autres lignes.

    label-process-3

  3. Sélectionnez le reste de la zone du tableau.

    label-process-4

L'outil devine les annotations, et cela fonctionne généralement. Pour toutes les tables qu'il ne peut pas gérer, annotez-les manuellement.

Utiliser les raccourcis clavier dans la console

Pour afficher les raccourcis clavier disponibles, sélectionnez le menu  en haut à droite de la console de création de libellés. Il affiche une liste de raccourcis clavier, comme indiqué dans le tableau suivant.

Action Raccourci
Zoom avant Alt+ = (Option+ = sous macOS)
Zoom arrière Alt+- (Option+- sur macOS)
Zoomer pour ajuster Alt+0 (Option+0 sous macOS)
Faire défiler pour zoomer Alt+Scroll (Option+Scroll sous macOS)
Panoramique Défilement
Panoramique inversé Maj+Balayage
Faire glisser pour effectuer un panoramique Espace + Glisser la souris
Annuler Ctrl+Z (Ctrl+Z sous macOS)
Répéter Ctrl+Maj+Z (Ctrl+Maj+Z sous macOS)

Étiqueter automatiquement

Si la fonction est disponible, vous pouvez commencer à ajouter des étiquettes en utilisant une version existante de votre processeur.

  1. L'étiquetage automatique peut être lancé lors de l'import. Tous les documents sont annotés à l'aide de la version du processeur spécifiée.

    label-process-5

  2. L'étiquetage automatique peut être lancé après l'import pour les documents de la catégorie "Sans étiquette" ou "Étiquette automatique". Tous les documents sélectionnés sont annotés à l'aide de la version du processeur spécifiée.

    label-process-6

Vous ne pouvez pas entraîner ni surentraîner un modèle avec des documents étiquetés automatiquement, ni les utiliser dans l'ensemble de test, sans les marquer comme étiquetés. Examinez et corrigez manuellement les annotations libellées automatiquement, puis sélectionnez Marquer comme libellées pour enregistrer les corrections. Vous pouvez ensuite attribuer les documents en fonction de vos besoins.

Importer des documents préalablement étiquetés

Vous pouvez importer des fichiers JSON Document. Si le entity du document correspond au libellé du schéma du processeur, l'importateur convertit le entity en instance de libellé. Vous pouvez obtenir des fichiers de documents JSON de plusieurs manières:

Bonnes pratiques pour l'étiquetage des documents

Un étiquetage cohérent est nécessaire pour entraîner un outil de traitement de haute qualité. Voici nos recommandations:

  • Créez des instructions d'étiquetage: vos instructions doivent inclure des exemples pour les cas courants et les cas critiques. Voici quelques conseils:

    • Expliquez quels champs doivent être annotés et comment rendre le libellé cohérent. Par exemple, lorsque vous ajoutez un libellé à "montant", indiquez si le symbole de la devise doit être libellé. Si les libellés ne sont pas cohérents, la qualité du processeur est réduite.
    • Étiquetez toutes les occurrences d'une entité, même si le type d'étiquette est REQUIRED_ONCE ou OPTIONAL_ONCE. Par exemple, si invoice_id apparaît deux fois dans le document, ajoutez un libellé à toutes ses occurrences.
    • En règle générale, il est préférable de commencer par utiliser l'outil de cadre de délimitation par défaut. Si cela ne fonctionne pas, utilisez l'outil de sélection de texte.
    • Si la valeur de l'étiquette n'est pas correctement détectée par la technologie OCR, ne corrigez pas manuellement la valeur. Il ne serait alors plus utilisable à des fins d'entraînement.

Voici quelques exemples d'instructions de libellé:

  • Former les annotateurs: assurez-vous que les annotateurs comprennent et peuvent suivre les consignes sans erreur systématique. Pour ce faire, vous pouvez demander à différents stagiaires d'annoter le même ensemble de documents. Le formateur peut ensuite vérifier la qualité du travail d'annotation de chaque stagiaire. Vous devrez peut-être répéter ce processus jusqu'à ce que les participants atteignent un niveau de précision de référence.
  • Examens initiaux: les premiers documents (une dizaine environ) libellés pour un cas d'utilisation par un nouveau libellé doivent être examinés avant que de nombreux documents ne soient libellés afin d'éviter un grand nombre d'erreurs à corriger.
  • Évaluations de la qualité des annotations: compte tenu de la nature laborieuse de l'annotation, même les annoteurs expérimentés peuvent faire des erreurs. Nous vous recommandons de faire vérifier les annotations par au moins un autre annoteur formé.

Resynchroniser l'ensemble de données

La resynchronisation maintient la cohérence du dossier Cloud Storage de votre ensemble de données avec l'index interne des métadonnées de Document AI. Cette fonctionnalité est utile si vous avez accidentellement modifié le dossier Cloud Storage et que vous souhaitez synchroniser les données.

Pour resynchroniser:

Dans l'onglet Détails du processeur, à côté de la ligne Emplacement de stockage, sélectionnez , puis Résynchroniser l'ensemble de données.

label-process-8

Remarques concernant l'utilisation :

  • Si vous supprimez un document du dossier Cloud Storage, le résynchronisage le supprime de l'ensemble de données.
  • Si vous ajoutez un document au dossier Cloud Storage, la resynchronisation ne l'ajoute pas à l'ensemble de données. Pour ajouter des documents, importez-les.
  • Si vous modifiez les libellés de document dans le dossier Cloud Storage, la resynchronisation met à jour les libellés de document dans l'ensemble de données.

Migrer un ensemble de données

L'importation et l'exportation vous permettent de déplacer tous les documents d'un ensemble de données d'un processeur à un autre. Cela peut être utile si vous avez des processeurs dans différentes régions ou des projets Google Cloud , si vous avez différents processeurs pour le préproduction et la production, ou pour la consommation hors connexion générale.

Notez que seuls les documents et leurs libellés sont exportés. Les métadonnées de l'ensemble de données, telles que le schéma de l'outil de traitement, les attributions de documents (entraînement/test/non attribué) et l'état d'étiquetage des documents (étiquetés, non étiquetés, étiquetés automatiquement) ne sont pas exportées.

Copier et importer l'ensemble de données, puis entraîner l'outil de traitement cible n'est pas exactement la même chose que d'entraîner l'outil de traitement source. En effet, des valeurs aléatoires sont utilisées au début du processus d'entraînement. Utilisez l'appel d'API importProcessorVersion pour importer et migrer le même modèle entre les projets. Il s'agit d'une bonne pratique pour la migration des processeurs vers des environnements de niveau supérieur (par exemple, du développement à l'environnement de préproduction, puis à la production) si les règles le permettent.

Exporter l'ensemble de données

Pour exporter tous les documents en tant que fichiers JSON Document vers un dossier Cloud Storage, sélectionnez Exporter l'ensemble de données.

Quelques remarques importantes :

  1. Lors de l'exportation, trois sous-dossiers sont créés: Test, Train et Unassigned. Vos documents sont placés dans ces sous-dossiers en conséquence.

  2. L'état d'étiquetage d'un document n'est pas exporté. Si vous importez ultérieurement les documents, ils ne seront pas marqués comme étiquetés automatiquement.

  3. Si votre Cloud Storage se trouve dans un autre projet Google Cloud , assurez-vous d'accorder l'accès pour que Document AI soit autorisé à écrire des fichiers à cet emplacement. Plus précisément, vous devez attribuer le rôle Créateur d'objets Storage à l'agent de service principal de Document AI service-{project-id}@gcp-sa-prod-dai-core.iam.gserviceaccount.com. Pour en savoir plus, consultez la page Agents de service.

Importer un ensemble de données

La procédure est la même que pour Importer des documents.

Guide de l'utilisateur sur le libellé sélectif

L'étiquetage sélectif vous aide à obtenir des recommandations sur les documents à étiqueter. Vous pouvez créer différents ensembles de données d'entraînement et de test pour entraîner des modèles représentatifs. Chaque fois qu'un libellé sélectif est appliqué, les documents les plus divers (jusqu'à 30) de l'ensemble de données sont sélectionnés.

Obtenir des suggestions de documents

  1. Créez un processeur CDE et importez des documents.

    • Vous devez en disposer d'au moins 100 pour l'entraînement (25 pour le test).
    • Une fois que suffisamment de documents ont été importés et après l'étiquetage sélectif, la barre d'informations devrait s'afficher.

    label-process-9

    label-process-10

  2. Si un outil de traitement CDE ne propose aucun document, importez-en d'autres pour disposer d'un nombre suffisant de documents dans les deux divisions pour l'échantillonnage.

    • Les suggestions de documents devraient alors s'afficher dans la section Suggestion de catégorie. Vous devriez pouvoir demander manuellement des suggestions de documents.
    • Un nouveau filtre a été ajouté en haut de la page pour filtrer les documents suggérés.

    label-process-11

Étiqueter les documents suggérés

  1. Accédez à Suggestion de catégorie dans le panneau de liste des libellés de gauche. Commencez à étiqueter ces documents.

    label-process-12

  2. Sélectionnez Libellé automatique dans la barre d'informations si le processeur est entraîné. Étiquetez les documents suggérés.

    label-process-13

  3. Vous pouvez ensuite sélectionner Examiner maintenant dans la barre lorsque vous avez suggéré des documents dans l'outil de traitement vers lesquels vous souhaitez accéder. Tous les documents étiquetés automatiquement doivent être vérifiés pour s'assurer de leur exactitude. Commencez à examiner le contenu.

    label-process-14

Entraînement après avoir étiqueté tous les documents suggérés

Accédez à S'entraîner maintenant dans la barre d'informations. Lorsque les documents suggérés sont libellés, la barre d'informations suivante s'affiche pour recommander une formation.

label-process-15

Fonctionnalités compatibles et limites

Caractéristique Description Compatible
Compatibilité avec les anciens processeurs Il est possible que cette fonctionnalité ne fonctionne pas correctement avec les anciens processeurs et les ensembles de données précédemment importés.