activities
latest
false
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique.
UiPath logo, featuring letters U and I in white
Activités Document Understanding
Last updated 14 nov. 2024

Extracteur génératif - Bonnes pratiques

Remarque :
  • Pour une meilleure stabilité, le nombre d'invites est limité à 50 maximum.
  • La réponse, résultat de l'extraction, également appelée Achèvement, a une limite de 700 mots. Ceci est limité à 700 mots. Cela signifie que vous ne pouvez pas extraire plus de 700 mots d'une seule invite. Si vos besoins d'extraction dépassent cette limite, vous pouvez diviser le document en plusieurs pages, les traiter individuellement, puis fusionner les résultats.

Utiliser un langage précis

Imaginez que vous posez la question que vous souhaitez poser à quatre ou cinq personnes différentes dans l'invite générative. Si vous pouvez imager ces personnes donner des réponses légèrement différentes, alors votre langue est trop ambiguë et vous devez la reformuler pour la rendre plus précise.

Par exemple, si vous donnez à l'invite une requête générale, telle que « Extraire toutes les informations personnelles du patient en tant que paires clé-valeur séparées par des virgules », cela s'attend à ce que le modèle trouve certaines informations par lui-même.

Compte tenu de la demande précédente, le modèle doit comprendre par lui-même les informations suivantes :
  • Où se situent les informations personnelles dans le document.
  • Ce qui est personnel et ce qui ne l'est pas (ce qui est très ambigu).
  • Ce que l’utilisateur attend pour obtenir comme « clé », et quelle est la valeur de chaque clé, et quel est le format exact attendu par l’utilisateur.
  • Doit-il utiliser des parenthèses ? Ou seulement chaque paire clé-valeur sur une ligne séparée ?
Il existe de nombreuses étapes et de nombreuses manières différentes de répondre à la requête, et comme l'IA générative est fondamentalement non déterministe, plus la réponse est longue, plus la probabilité que la réponse soit différente à chaque fois, même si la durée du modèle est mis à zéro.
Pour éviter le problème décrit précédemment, divisez votre requête générale, avec une réponse potentiellement longue, en d'autres questions plus simples, qui généreront une réponse courte. Par exemple, vous pouvez diviser votre demande d'invite générale en plusieurs requêtes plus petites :
  • « Extraire le prénom du patient »
  • « Extraire le nom de famille du patient »
  • « Extraire l'adresse postale du patient, y compris la ville, l'état et le code postal »
  • « Extraire la date de naissance du patient »
Si vous divisez votre requête en plusieurs requêtes plus petites, vous obtenez une plus grande précision, ainsi que des résultats beaucoup plus cohérents et reproductibles, avec une nécessité réduite d'analyser les longues chaînes de texte produites par l'IA.

Spécifier un format de sortie

Afin d'être plus spécifique, demandez à l’extracteur de renvoyer la réponse dans un format standardisé. Cela réduit les ambiguïtés, augmente la précision de la réponse et simplifie le traitement en aval.

Par exemple, si vous demandez à l'invite générative d'obtenir une date, spécifiez comment vous souhaitez que la date soit renvoyée : return date in yyyy-mm-dd format. Si vous avez seulement besoin de l'année, spécifiez : return the year, as a four digit number.
Vous pouvez également utiliser cette approche pour les nombres. Par exemple, vous pouvez spécifier : return numbers which appear in parentheses as negative ou return number in ##,###.## format afin d'harmoniser le séparateur décimal et le séparateur de milliers afin de simplifier le traitement en aval.

Fournir les options attendues

Un cas particulier de formatage est celui où la réponse fait partie d’un ensemble connu de réponses possibles.

Par exemple, sur un formulaire de candidature, vous pouvez demander : What is the applicant’s marital status? Possible answers: Married, Unmarried, Separated, Divorced, Widowed, Other.

Cela simplifie non seulement le traitement en aval, mais augmente également la précision de la réponse.

Étape par étape

Afin de maximiser la précision, décomposez les questions complexes en étapes simples. Au lieu de demander What is the termination date of this contract?, vous devriez poser la question First find termination section of contract, then determine termination date, then return date in yyyy-mm-dd format.
Il existe de nombreuses façons de décomposer cela. Vous pouvez même écrire votre requête sous la forme d’un petit programme informatique, comme suite :
Execute the following program:

1: Find termination section or clause

2: Find termination date

3: Return termination date in yyyy-mm-dd format

4: StopExecute the following program:

1: Find termination section or clause

2: Find termination date

3: Return termination date in yyyy-mm-dd format

4: Stop

Le fait de définir ce que vous voulez comme style de programmation, en utilisant éventuellement la syntaxe JSON ou XML, oblige le modèle génératif à utiliser ses compétences en programmation, ce qui permet que les instructions soient appliquées de façon plus précise.

Évitez les problèmes d'arithmétique ou de logique

Ne demandez pas à l'extracteur d'effectuer des additions, des multiplications, des soustractions, des comparaisons ou toute autre opération arithmétique, car il commet des erreurs de base, en plus d'être très lent et coûteux par rapport à un simple workflow robot, qui ne fera jamais d'erreur, est beaucoup plus rapide et coûte moins cher.

Ne lui demandez pas d’effectuer une logique complexe de type Si-Puis-Sinon (If-Then-Else), pour la même raison que ci-dessus. Le workflow du robot sera beaucoup plus précis et efficace grâce à ce type d’opérations.

Tables

L' Extracteur génératif ne prend actuellement pas en charge les champs de colonne. Bien que vous puissiez extraire des tables plus petites à travers des questions régulières et analyser leur sortie, veuillez noter qu’il ne s’agit que d’une solution de contournement et qu’elle est comportant des restrictions. Il n'est ni conçu ni recommandé pour extraire des tables génériques et arbitrairement volumineuses.

Extraire des données des tables est un défi pour l'extracteur génératif. La technologie d'IA générative fonctionne sur des chaînes de texte linéaires et ne comprend pas les informations visuelles bidimensionnelles dans les images. Il ne peut pas extraire les champs de table tels que définis dans le Taxonomy Manager, mais il peut extraire le texte et les tables des documents.

Pour extraire les données des tables de façon optimale, vous pouvez choisir au moins deux approches, notamment les suivantes :
  • Demandez à l' Extracteur génératif de renvoyer les colonnes séparément, puis assemblez les lignes vous-même dans un workflow. Vous pouvez vous demander : Please return the Unit Prices on this invoice, as a list from top to bottom, as a list in the format [<UnitPrice1>, <UnitPrice2>,…]
  • Demandez-lui de renvoyer chaque ligne séparément, en tant qu'objet JSON. Vous pourriez demander : Please return the line items of this invoice as an JSON array of JSON objects, each object in format: {"description”: <description>, “quantity”:<quantity>, “unit_price”:<unit price>, “amount”:<amount>}.

Niveau de confiance

Les modèles d’IA générative ne fournissent pas de niveaux de confiance pour les prédictions. Cependant, l’objectif étant de détecter les erreurs, les niveaux de confiance ne sont qu’un des moyens d’atteindre cet objectif... et pas le meilleur. Un moyen bien plus efficace et bien plus fiable pour détecter les erreurs consiste à poser la même question de plusieurs manières différentes. Plus l’énoncé de la question sera différent, mieux ce sera. Si toutes les réponses aboutissent à un résultat commun, alors la probabilité d’erreur est très faible. Si les réponses ne concordent pas, la probabilité d’erreur est élevée.

Par exemple, vous pouvez répéter la même question deux, trois, voire cinq fois (selon l'importance critique pour éviter les erreurs non détectées dans votre procédure), en combinant les suggestions susmentionnées dans des combinaisons diverses. Si toutes les réponses sont cohérentes, une révision humaine peut ne pas être nécessaire. Cependant, si l'une des réponses diffère, un examen manuel par une personne dans Action Center peut être nécessaire.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.