Meilleures pratiques : génération de jeux de données étiquetés
Ce contenu s’applique à : v4.0 (GA) | Versions précédentes : v3.1 (GA) v3.0 (GA)
Les modèles personnalisés (modèle et neural) nécessitent un jeu de données étiqueté d’au moins cinq documents pour entraîner un modèle. La qualité du jeu de données étiqueté affecte la précision du modèle entraîné. Ce guide vous aide à en savoir plus sur la génération d’un modèle avec une grande précision en assemblant un jeu de données diversifié et fournit les meilleures pratiques pour l’étiquetage de vos documents.
Comprendre les composants d’un jeu de données étiqueté
Un jeu de données étiqueté se compose de plusieurs fichiers :
Vous fournissez un ensemble d’exemples de documents (généralement des fichiers PDF ou des images). Un minimum de cinq documents est nécessaire pour effectuer l’apprentissage d’un modèle.
Le processus d’étiquetage génère en plus les fichiers suivants :
Un fichier
fields.json
est créé lors de l’ajout du premier champ. Il existe un fichierfields.json
pour l’ensemble du jeu de données d’entraînement. La liste des champs contient le nom du champ, ainsi que les sous-champs et types associés.Studio exécute chacun des documents via l’API Disposition. La réponse de disposition pour chacun des exemples de fichiers dans le jeu de données est ajoutée en tant que
{file}.ocr.json
. La réponse de disposition est utilisée pour générer les étiquettes de champ lorsqu’une étendue de texte spécifique est étiquetée.Un fichier
{file}.labels.json
est créé ou mis à jour lorsqu’un champ est étiqueté dans un document. Le fichier d’étiquette contient les étendues de texte et les polygones associés de la sortie de disposition pour chaque étendue de texte que l’utilisateur ajoute en tant que valeur pour un champ spécifique.
Vidéo : conseils et pointeurs personnalisés sur les étiquettes
La vidéo suivante est la première de deux présentations destinées à vous aider à créer des modèles personnalisés avec une précision plus élevée (la deuxième présentation se penche sur les Meilleures pratiques pour l’étiquetage des documents).
Nous découvrons comment créer un jeu de données équilibré, mais aussi comment sélectionner les documents appropriés à étiqueter. Ce processus vous permet d’atteindre des modèles de qualité supérieure.
Créer un jeu de données équilibré
Avant de commencer l’étiquetage, il est judicieux d’examiner quelques exemples différents du document pour identifier les exemples que vous souhaitez utiliser dans votre jeu de données étiqueté. Un jeu de données équilibré représente toutes les variantes typiques que vous attendez à voir pour le document. La création d’un jeu de données équilibré abouti à un modèle avec la plus grande précision possible. Voici quelques exemples à considérer :
Formats de document : si vous prévoyez d’analyser des documents numériques et numérisés, ajoutez quelques exemples de chaque type au jeu de données d’entraînement.
Variantes (modèle de modèle) : envisagez de fractionner le jeu de données en dossiers et d’entraîner un modèle pour chacune des variantes. Les variantes qui incluent la structure ou la disposition doivent être divisées en différents modèles. Vous pouvez ensuite composer les modèles individuels en un seul modèle composé.
Variantes (modèles neuraux) : lorsque votre jeu de données a un jeu de variantes gérable, environ 15 ou moins, créez un jeu de données unique avec quelques exemples de chacune des différentes variantes pour entraîner un modèle unique. Si le nombre de variantes de modèle est supérieur à 15, vous entraînez plusieurs modèles et les composez ensemble.
Tables : pour les documents contenant des tables avec un nombre variable de lignes, assurez-vous que le jeu de données d’entraînement représente également les documents avec différents nombres de lignes.
Tables à plusieurs pages : lorsque les tables s’étendent sur plusieurs pages, étiquetez une seule table. Ajoutez des documents au jeu de données d’apprentissage avec les variantes attendues représentées : documents avec la table sur une seule page uniquement et documents avec la table couvrant deux pages ou plus avec toutes les lignes étiquetées.
Champs facultatifs : si votre jeu de données contient des documents avec des champs facultatifs, vérifiez que le jeu de données d’apprentissage contient quelques documents avec les options représentées.
Commencez par identifier les champs
Prenez le temps d’identifier chacun des champs que vous prévoyez d’étiqueter dans le jeu de données. Faites attention aux champs facultatifs. Définissez les champs avec les étiquettes qui correspondent le mieux aux types pris en charge.
Utilisez les instructions suivantes pour définir les champs :
Pour les modèles neuraux personnalisés, utilisez des noms sémantiquement pertinents pour les champs. Par exemple, si la valeur extraite est
Effective Date
, nommez-laeffective_date
ouEffectiveDate
non un nom générique comme date1.Dans l’idéal, nommez vos champs avec cas pascal ou cas de chameau.
Si une valeur fait partie d’une structure visuellement répétée et que vous n’avez besoin que d’une seule valeur, étiquetez-la en tant que table et extrayez la valeur requise pendant le post-traitement.
Pour les champs tabulaires couvrant plusieurs pages, définissez et étiquetez les champs sous la forme d’une table unique.
Notes
Les modèles neuronaux personnalisés partagent le même format et la même stratégie d’étiquetage que les modèles de modèles personnalisés. Actuellement, les modèles neuronaux personnalisés ne prennent en charge qu’un sous-ensemble des types de champs pris en charge par les modèles de modèles personnalisés.
Fonctionnalités des modèles
Les modèles neuraux personnalisés ne prennent actuellement en charge que les paires clé-valeur, les champs structurés (tableaux) et les marques de sélection.
Type de modèle | Champs de formulaire | Marques de sélection | Champs tabulaires | Signature | Région | Champs qui se chevauchent |
---|---|---|---|---|---|---|
Modèle neuronal personnalisé | ✔️ Pris en charge | ✔️ Pris en charge | ✔️ Pris en charge | Non pris en charge | ✔️ Pris en charge1 | ✔️Pris en charge2 |
Modèle personnalisé | ✔️ Pris en charge | ✔️ Pris en charge | ✔️ Pris en charge | ✔️ Pris en charge | ✔️ Pris en charge | Non pris en charge |
1 L’implémentation de l’étiquetage régional diffère entre les modèles de modèle et les modèles neuraux. Pour les modèles de modèles, le processus d’entraînement injecte des données synthétiques au moment de l’apprentissage si aucun texte n’est trouvé dans la région étiquetée. Avec les modèles neuraux, aucun texte synthétique n’est injecté et le texte reconnu est utilisé tel quel.
2 Les champs qui se chevauchent sont pris en charge à partir de la version v4.0 2024-11-30 (GA)
de l’API. Les champs qui se chevauchent ont des limites. Pour plus d’informations, consultez Champs qui se chevauchent.
Champs tabulaires
Les champs tabulaires (tables) sont pris en charge avec les modèles neuraux personnalisés avec la version v4.0 2024-11-30 (GA)
de l’API . Les modèles entraînés avec l’API version 2022-06-30-preview ou ultérieure acceptent les étiquettes de champs tabulaires et les documents analysés avec le modèle avec l’API version 2022-06-30-preview ou ultérieure produisent des champs tabulaires dans la sortie dans la documents
section du résultat dans l’objet analyzeResult
.
Les champs tabulaires prennent en charge les tables de page croisées par défaut. Pour étiqueter une table qui s’étend sur plusieurs pages, étiquetez chaque ligne de la table sur les différentes pages dans la seule table. En guise de bonne pratique, assurez-vous que votre jeu de données contient quelques exemples des variations attendues. Par exemple, incluez à la fois des exemples où une table entière se trouve sur une seule page et des exemples d’une table couvrant au moins deux pages.
Les champs tabulaires sont également utiles lors de l’extraction d’informations répétées dans un document qui n’est pas reconnu comme une table. Par exemple, une section répétée d’expériences de travail dans un CV peut être étiquetée et extraite en tant que champ tabulaire.
Remarque
Les champs de table, une fois étiquetés, sont extraits dans le cadre de la section documents
de la réponse. La réponse contient également une section tables
contenant les tables extraites du document par le modèle de disposition. Si vous avez étiqueté un champ comme table, recherchez le champ dans la section des documents de la réponse.
Instructions relatives à l’étiquetage
Les valeurs d’étiquetage sont requises. N’incluez pas le texte environnant. Par exemple, lors de l’étiquetage d’une case à cocher, nommez le champ pour indiquer la sélection de la case à cocher, par exemple
selectionYes
, auselectionNo
lieu d’étiqueter le texte oui ou non dans le document.Ne fournissez pas de valeurs de champ entrelacées. La valeur des mots et/ou des régions d’un champ doit être une séquence consécutive dans l’ordre de lecture naturel.
Étiquetage cohérent. Si une valeur apparaît dans plusieurs contextes au sein du document, choisissez systématiquement le même contexte dans tous les documents pour étiqueter la valeur.
Données visuellement répétées. Les tables prennent en charge la répétition visuelle de groupes d’informations, pas seulement les tables explicites. Les tables explicites sont identifiées dans la section tables des documents analysés dans le cadre de la sortie de la disposition, sans besoin d’être étiquetées comme tables. Étiqueter un champ de table uniquement si les informations se répètent visuellement et ne sont pas identifiées en tant que table dans le cadre de la réponse de disposition. Par exemple, la section expérience professionnelle répétée d’un CV.
Étiquetage des régions (modèle personnalisé). L’étiquetage de régions spécifiques vous permet de définir une valeur quand il n’en existe aucune. Si la valeur est facultative, veillez à laisser quelques exemples de documents avec la région non étiquetée. Lors de l’étiquetage des régions, n’incluez pas le texte environnant avec l’étiquette.
Champs qui se chevauchent (neural personnalisé). Étiqueter le champ se chevauche à l’aide de l’étiquetage de la région. Assurez-vous d’en avoir au moins sur l’exemple qui décrit la façon dont les champs peuvent chevaucher votre jeu de données d’entraînement.
Étapes suivantes
Entraîner un modèle personnalisé :
Affichez les API REST :