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

Un tableau avec des en-têtes nommés Catégorie A et Catégorie B, où la catégorie A comprend des sous-en-têtes : Type X et type Y.

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

Un exemple de tableau pouvant être transposé.

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.