Extraction de tables Document AI : Meilleures pratiques¶
avec Document AI, vous pouvez extraire des informations à partir d’entités sous la forme d’une valeur unique ou d’une liste de valeurs, ou à partir de tables basées sur une liste de colonnes spécifiées. pour plus d’informations sur l’utilisation de l’extraction de tableau dans l’interface Document AI, consultez Définir des valeurs pour la version intermédiaire du modèle Document AI.
cette rubrique présente les meilleures pratiques lorsque vous utilisez l’extraction de tableau dans Document AI.
Utiliser une seule version intermédiaire du modèle pour l’extraction des entités et des tables¶
pour extraire les valeurs des entités et des tables, utilisez le type de traitement d’extraction de tableau lors de la création d’une version intermédiaire du modèle. Définissez des valeurs pour toutes les tables, puis ajoutez un tableau supplémentaire pour y regrouper toutes les entités qui s’y trouvent. Pour les noms de colonnes, utilisez les noms des entités extraites. Notez qu’un entraînement peut être nécessaire pour améliorer les résultats.
Utiliser une version intermédiaire du modèle pour un type spécifique de document¶
Chaque version intermédiaire du modèle doit contenir des documents du même type, et les données que vous souhaitez extraire doivent être similaires pour la plupart des tables. Si le nombre de colonnes du document source diffère d’un document à l’autre, mais que tous les documents contiennent un sous-ensemble défini de colonnes à extraire et que les colonnes communes ont le même nom et le même emplacement, ces colonnes communes peuvent être extraites.
Par exemple, les factures peuvent comporter un nombre différent de colonnes avec des données diverses, mais si toutes les tables ont les trois mêmes premières colonnes — Item Description
, Quantity
, et Price
— ces données peuvent être extraites.
Utiliser le langage naturel pour définir les noms des colonnes¶
Vous pouvez copier les noms des colonnes à partir du document pour qu’ils soient exactement les mêmes. Par exemple, ne nommez pas les colonnes product_code
ou REPORT_DATE
; au lieu de cela, nommez-les Product Code
ou Report Date
.
Lors de l’examen, spécifiez correctement les lignes vides¶
Lorsque vous examinez les réponses fournies par le modèle, pour les lignes vides, utilisez -
dans chaque cellule, au lieu de None
. les lignes avec None
dans chaque cellule sont ignorées par le modèle pendant l’entraînement.
Définir les colonnes dans le même ordre qu’elles apparaissent dans le document¶
pour améliorer la précision, définissez les colonnes dans le même ordre que celui dans lequel elles apparaissent dans le document, c’est-à-dire généralement de gauche à droite, ou de haut en bas pour les tables transposées. Si vous choisissez de définir l’ordre différemment, une formation peut être nécessaire.
Cependant, pour les colonnes qui regroupent plusieurs lignes, comme Invoice Number
et Invoice Date
, ajoutez les colonnes au début. Par exemple :
Invoice Number
Invoice Date
Item Code
Item Name
Quantity
Définir les valeurs en utilisant la casse du document¶
Lorsque cela est possible, définissez les valeurs en utilisant la casse (majuscules et minuscules) du document. Si la casse dans le document change, utilisez les majuscules.
Utiliser le champ du localisateur uniquement en cas de besoin¶
le champ du localisateur est facultatif ; dans la plupart des cas, vous n’êtes pas obligé de le remplir. Toutefois, s’il existe plusieurs tables similaires dans un document, le modèle peut répondre de manière inexacte. Si les réponses proviennent d’un tableau source différent de celui attendu, essayez d’utiliser le champ du localisateur. Ajoutez des informations qui aident le modèle à identifier le bon tableau, comme le titre ou le numéro du tableau.
Ajouter une colonne de section pour décrire la disposition du tableau¶
Si le tableau est divisé en plusieurs sections nommées, ajoutez une colonne de section. Cela aide le modèle à mieux comprendre la disposition et à améliorer la précision. Par exemple, vous pouvez nommer la colonne Section
, Item section
, ou Item category
. s’il existe un deuxième niveau d’imbrication dans les sections, vous pouvez ajouter deux colonnes : Section
et Subsection
.
Pour regrouper des valeurs, créez une colonne supplémentaire¶
Comme décrit dans Utiliser une seule version intermédiaire du modèle pour l’extraction des entités et des tables, vous pouvez ajouter un tableau supplémentaire pour contenir toutes les entités. Toutefois, vous pouvez également ajouter une colonne au tableau existant au lieu de créer un tableau séparé. De cette manière, vous pouvez joindre les résultats de l’ensemble des documents dans un seul tableau ; par exemple :
Numéro de facture |
Détails de l’article |
Prix de l’article |
Quantité |
---|---|---|---|
A |
Article A1 |
10.00 |
1 |
A |
Article A2 |
20.00 |
1 |
A |
Article A3 |
30,00 |
1 |
B |
Article B1 |
15,00 |
1 |
B |
Article B2 |
25,00 |
1 |
B |
Article B3 |
35.00 |
1 |
Notez que la valeur de la première colonne est répétée pour les éléments correspondants.
Si vous voulez ajouter plus de colonnes ou si le tableau est grand, Snowflake recommande de créer un tableau supplémentaire avec une seule ligne (comme expliqué dans la section Utiliser une seule version intermédiaire du modèle pour l’extraction des entités et des tables), pour optimiser les coûts.
Distinguer les noms de colonnes entre les documents¶
Essayez de distinguer sémantiquement une colonne. n’utilisez pas de noms tels que col1
, val1
, item1
.
Dans certains cas, la transposition peut mieux fonctionner, en particulier lorsque les noms des lignes ne diffèrent pas entre les documents ou diffèrent légèrement et se trouvent dans un ensemble de valeurs fermé.
Notez que l’entraînement sur l’ensemble de colonnes spécifié peut améliorer les résultats.
Utiliser le nom du parent comme préfixe lorsque vous travaillez avec des en-têtes hiérarchiques¶
Pour extraire des informations à partir de tables avec des en-têtes hiérarchiques, joignez le chemin d’en-tête en utilisant chaque nom de parent comme préfixe. Par exemple, pour le tableau suivant, définissez les colonnes comme suit :
Category A Type X Column 1
Category A Type Y Column 2
Category A Type Y Column 3
Category B Column 4
Category B Column 5

Transposer les tables si nécessaire¶
Vous pouvez extraire des informations des tables transposées en utilisant les valeurs de la première colonne de la table du document comme noms de colonnes dans la table de sortie.
Par exemple, pour le tableau suivant, nommez les colonnes :
Type A: Item 1
Type A: Item 2
Type B: Item 3
Type B: Item 4

Notez que cet exemple comprend des en-têtes hiérarchiques.
Pour les grandes tables, fractionner le document¶
Le modèle d’extraction de table renvoie des réponses d’une longueur maximale de 2048 jetons. Cela signifie que le modèle arrête l’extraction lorsqu’il atteint cette limite. Vous pouvez approcher ce problème de la manière suivante :
Si le tableau couvre plusieurs pages, divisez le document en plusieurs documents d’une page, et joignez les résultats lors du post-traitement.
Si le tableau est tellement plein que les données ne peuvent pas être extraites d’une seule page, divisez le tableau par colonnes.
Par exemple, si le tableau contient 10 colonnes, essayez de définir deux valeurs distinctes : l’une avec 5 colonnes de la moitié gauche et l’autre avec 5 colonnes de la moitié droite du tableau. Vous devrez peut-être essayer différents types de colonnes pour obtenir les meilleurs résultats.
Créer des noms pour les colonnes qui n’en ont pas dans le document¶
Si la première colonne du document n’a pas de nom, vous devez créer vous-même ce nom lors de la définition de la valeur. Vous pouvez l’approcher des manières suivantes :
Utilisez le titre du tableau ou une partie importante du titre.
Créez un nom descriptif qui représente les données de la colonne, par exemple
description
,type of asset
,year
,category
.
Comparer les données de deux périodes différentes¶
Si vous souhaitez comparer des données de deux périodes différentes, par exemple les années 2023 et 2024 dans des documents financiers tels que des rapports annuels, vous pouvez ajouter un préfixe aux colonnes tel que « actuel » et « précédent ». Notez qu’un entraînement peut être nécessaire pour améliorer les résultats.