- Vue d'ensemble (Overview)
- Document Processing Contracts
- Notes de publication
- À propos des contrats de traitement de documents
- Classe Zone
- Interface ActivitéIPersisted
- Classe PrettyBoxConverter
- Interface ActivitéIClassifier
- Interface FournisseurIClassifieurCapacités
- Classe TypeDocumentClassifieur
- Classe RésultatClassifieur
- Classe ActivitéCodeClassifieur
- Classe ActivitéClassifieurNatif
- Classe ActivitéClassifieurCodeAsync
- Classe CapacitéClassifieurTypeDocument
- Classe ActivitéExtracteurCodeAsync
- Classe ActivitéExtracteurCode
- Classe ExtracteurTypeDocument
- Classe ExtracteurDocumentTypeCapacités
- Classe ExtracteurChampCapacités
- Classe ActivitéExtracteurNatif
- Classe ExtracteurRésultat
- Interface FournisseurICapabilities
- Interface ActivitéIExtractor
- Classe ChargeUtileExtracteur
- Énumération PrioritéActionDocument
- Classe DocumentActionData
- Énumération StatutActionDocument
- Énumération TypeActionDocument
- Classe DocumentClassificationActionData
- Classe DocumentValidationActionData
- Classe DonnéesUtilisateur
- Classe Documents
- Classe RésultatDivisionDocument
- Classe ExtensionDom
- Classe Page
- Classe SectionPage
- Classe Polygone
- Classe ConvertisseurPolygones
- Classe de métadonnées
- Classe GroupeMot
- Classe Mot
- Énumération SourceTraitement
- Classe CelluleRésultatsTable
- Classe ValeurTableRésultats
- Classe InformationsColonnesTableRésultats
- Classe TableRésultats
- Énumération Rotation
- Énumération TypeSection
- Énumération TypeGroupeMot
- ProjectionTexteIDocument Interface
- Classe RésultatClassification
- Classe RésultatExtraction
- Classe ResultatsDocument
- Classe ResultatsLimitesDocument
- Classe ResultatsDonnéesPoint
- Classe RésultatsValeur
- Classe ResultatsContenuRéference
- Classe ResultatsValeurJetons
- Classe ResultatsChampDérivé
- Énumération ResultatsSourceDonnées
- Classe ResultatsConstantes
- Classe ChampValeurSimple
- Classe ValeurChampTable
- Classe GroupeDocument
- Classe DocumentTaxonomie
- Classe TypeDocument
- Classe Champ
- Énumération TypeChamp
- Classe InfoLangage
- Classe SaisieMétadonnées
- Énumération TypeTexte
- Classe TypeFieldTypeField Class
- Interface ActivitéISuivi
- ITrainableActivity Interface
- Interface ActivitéClassifieurITrainable
- Interface ActivitéExtracteurITrainable
- Classe ActivitéFormationClassifieurCodeAsync
- Classe ActivitéFormationClassifieurCode
- Classe ActivitéFormationClassifieurNatif
- Classe ActivitéFormationExtracteurCodeAsync
- Classe ActivitéFormationExtracteurCode
- Classe ActivitéFormationExtracteurNative
- Numériseur de Document Understanding
- Document Understanding ML
- Serveur local OCR Document Understanding
- Document Understanding
- Notes de publication
- À propos du package d’activités Document Understanding
- Compatibilité du projet
- Définir le mot de passe du PDF
- Merge PDFs
- Get PDF Page Count
- Extraire le texte PDF (Extract PDF Text)
- Extract PDF Images
- Extract PDF Page Range
- Extraire les données du document
- Create Validation Task and Wait
- Attendre la tâche de validation et reprendre
- Create Validation Task
- Classer un document (Classify Document)
- Créer une tâche de validation de classification (Create Classification Validation Task)
- Créer une tâche de validation de classification et attendre (Create Classification Validation Task and Wait)
- Attendre la tâche de validation de la classification et reprendre
- IntelligentOCR
- Notes de publication
- À propos du package d'activités IntelligentOCR
- Compatibilité du projet
- Configuration de l'authentification
- Load Taxonomy
- Digitize Document
- Classify Document Scope
- Keyword Based Classifier
- Classifieur de projet Document Understanding (Document Understanding Project Classifier)
- Intelligent Keyword Classifier
- Create Document Classification Action
- Attendre l'action de classification du document et reprendre
- Tester l'étendue des classifieurs
- Outil d'entraînement de classifieur basé sur des mots-clés
- Intelligent Keyword Classifier Trainer
- Data Extraction Scope
- Extracteur de projet Document Understanding (Document Understanding Project Extractor)
- Regex Based Extractor
- Form Extractor
- Extracteur de formulaires intelligents
- Present Validation Station
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Tester l'étendue des extracteurs
- Export Extraction Results
- Services ML
- OCR
- Contrats OCR
- Notes de publication
- À propos des contrats OCR
- Compatibilité du projet
- Interface ActivitéIOCR
- Classe OCRCodeAsync
- Classe ActivitéCodeOCR
- Classe ActivitéOCRNatif
- Classe Caractère
- Classe RésultatOCR
- Classe Mot
- Énumération StylesPolice
- Énumération RotationOCR
- Classe OCRCapabilities
- Classe BaseCaptureOCR
- Classe UsineCaptureOCR
- Classe BaseContrôleCapture
- Énumération UtilisationCaptureMoteur
- ScrapeEngineBase
- Classe ScrapeEngineFactory
- Classe ScrapeEngineProvider
- OmniPage
- PDF
- [Non listé] Abbyy
- Notes de publication
- À propos du package d'activités Abbyy
- Compatibilité du projet
- Reconnaissance optique des caractères ABBYY (ABBYY OCR)
- Reconnaissance optique des caractères ABBYY Cloud (ABBYY Cloud OCR)
- FlexiCapture Classifier
- FlexiCapture Extractor
- FlexiCapture Scope
- Classer un document (Classify Document)
- Traiter le document (Process Document)
- Valider le document (Validate Document)
- Exporter le document (Export Document)
- Obtenir le champ (Get Field)
- Obtenir la table (Get Table)
- Prepare Validation Station Data
- [Non listé] Abbyy intégré
Extracteur génératif - Bonnes pratiques
- 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.
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.
- 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 ?
- « 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 »
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.
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
.
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.
Un cas particulier de formatage est celui où la réponse fait partie d’un ensemble connu de réponses possibles.
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.
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.
Execute the following program:
1: Find termination section or clause
2: Find termination date
3: Return termination date in yyyy-mm-dd format
4: Stop
Execute 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.
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.
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.
- 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>}
.
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.