- 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
- Valider manuellement des documents numérisés
- Extraction de données basée sur des ancres à l'aide de l'Extracteur de formulaires intelligent
- Station de validation
- 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é
Extraction de données basée sur des ancres à l'aide de l'Extracteur de formulaires intelligent
L'exemple ci-dessous explique comment extraire des données d'un formulaire pouvant également inclure du texte manuscrit. Le scénario de cas d'utilisation suivant explique comment extraire des données d'une commande d'achat.
Il présente des activités telles que Numériser le document ( Digitize Document), Étendue de l'extraction de données ( Data Extraction Scope) ou Extracteur de formulaires intelligents ( Intelligent Form Extractor). Vous pouvez trouver ces activités dans le package UiPath.IntelligentOCR.Activities .
Les packages suivants doivent être installés avant de créer le workflow ci-dessous :
- UiPath.DocumentProcessing.Contracts.Activities
- UiPath.IntelligentOCR.Activities
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.WebApi.Activities
Steps:
- Ouvrez Studio et démarrez un nouveau Processus.
- Ajoutez un conteneur Séquence dans le champ concepteur de workflow, nommez-le Sequence1 et créez la variable suivante :
Tableau 1. Variables à créer Types de variables
Valeur par défaut
item
Chaîne de caractères (string)
S/O classificationResult
ClassificationResult[]
S/O outputFileName
ValeurGénérique
S/O - Ajoutez un autre conteneur Séquence dans le champ Concepteur de workflow après le premier, nommez-le Sequence2 et créez les variables indiquées dans la table suivante :
Tableau 2. Variables à créer Types de variables
Valeur par défaut
text
Chaîne de caractères (string)
S/O taxonomy
DocumentTaxonomy
S/O dom
Document
S/O documentPath
Chaîne de caractères (string)
S/O classificationResult2
ClassificationResult[]
S/O outputFileName2
ValeurGénérique
S/O - Ajoutez une activité Message Box à l’intérieur de la séquence.
- Dans le panneau Propriétés , sélectionnez l'option OK dans la liste déroulante Boutons . Ajoutez le message suivant dans le champ Texte : « Sélectionnez un fichier PDF ».
- Cochez la case de l’option PlusHaut. La boîte de message se retrouve au premier plan.
- Ajoutez une activité Sélectionner un fichier (Select File) après l’activité Zone de message (Message Box).
- Dans le panneau Propriétés, ajoutez le texte suivant dans le champ Filtre :
Pdf files (*.pdf)|*.pdf
- Ajoutez la variable
documentPath
dans le champ FichierSélectionné .
- Dans le panneau Propriétés, ajoutez le texte suivant dans le champ Filtre :
- Ajoutez une activité Affecter (Assign) après l’activité Sélectionner un fichier (Select File).
- Ajoutez la variable
outputFileName2
dans le champ À . - Ajoutez l’expression
".temp/" + Path.GetFileName(documentPath)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une activité Désérialiser JSON (Deserialize JSON) après l’activité Affecter (Assign).
- Ajoutez l’expression
File.ReadAllText("DocumentProcessing axonomy.json")
dans le champ Chaîne JSON. - Dans le panneau Propriétés , sélectionnez l'option UiPath.DocumentProcessing.Contracts.Taxonomy.DocumentTaxonomy dans la liste déroulante TypeArgument .
- Ajoutez la variable
taxonomy
dans le champ ObjetJSON.
- Ajoutez l’expression
- Ajoutez une activité Numériser le document (Digitize Document) après l’activité Désérialiser JSON (Deserialize JSON).
- Dans le panneau Propriétés, ajoutez la valeur
1
dans le champ LigneTableau. - Ajoutez la variable
documentPath
dans le champ CheminDocument . - Ajoutez la variable
dom
dans le champ ModèleObjetDocument. - Ajoutez la variable
text
dans le champ TexteDocument. - Add the UiPath® Document OCR engine inside the activity.
- Ajoutez votre clé API dans le champ Clé API.
- Ajoutez l'expression
"https://du.uipath.com/ocr"
dans le champ Point de terminaison.
- Dans le panneau Propriétés, ajoutez la valeur
- Ajoutez une activité Écrire un fichier texte (Write Text File) après l’activité Numériser le document (Digitize Document).
- Ajoutez l'expression
JsonConvert.SerializeObject(dom)
dans le champ Texte. - Ajoutez l’expression
outputFileName2 + ".dom.json"
dans le champ NomFichier.
- Ajoutez l'expression
- Ajoutez une autre activité Écrire un fichier texte (Write Text File) après l’activité Écrire un fichier texte (Write Text File).
- Ajoutez la variable
text
dans le champ Texte. - Ajoutez l’expression
outputFileName2 + ".text.txt"
dans le champ NomFichier.
- Ajoutez la variable
- Faites glisser un autre conteneur Séquence dans le champ concepteur de workflow, nommez-le Sequence3 et créez la variable suivante :
Tableau 3. Variables à créer Types de variables
Valeur par défaut
extractionResult
RésultatExtraction
S/O validatedResults
RésultatExtraction
S/O doubleValidatedResults
RésultatExtraction
S/O dataset
JeuDonnées
S/O i
Int32
S/O - Ajoutez une activité Étendue d’extraction de données (Data Extraction Scope) à l’intérieur de Sequence3.
- Dans le panneau Propriétés , ajoutez la variable
dom
dans le champ ModèleObjetDocument . - Ajoutez la variable
documentPath
dans le champ CheminDocument . - Ajoutez la variable
text
dans le champ TexteDocument. - Ajoutez l'expression
"All.Benchmarks.Invoice"
dans le champ IDTypeDocument . - Ajoutez la variable
taxonomy
dans le champ Taxonomie. - Ajoutez la variable
extractionResult
dans le champ ExtractionResults .
- Dans le panneau Propriétés , ajoutez la variable
- Ajoutez une activité Intelligent Form Extractor à l’intérieur de l’activité Data Extraction Scope .
- Ajoutez votre clé API dans le champ CléAPI.
- Ajoutez une activité Écrire un fichier texte (Write Text File) après l’activité Étendue de l’extraction de données (Data Extraction Scope).
- Ajoutez l'expression
JsonConvert.SerializeObject(extractionResult)
dans le champ Texte. - Ajoutez l’expression
outputFileName2 + ".results.json"
dans le champ NomFichier.
- Ajoutez l'expression
- Ajoutez une activité Présenter la station de validation (Present Validation Station) après l’activité Écrire un fichier texte (Write Text File).
- Ajoutez la variable
extractionResult
dans le champ RésultatsExtractionAutomatique. - Ajoutez la variable
dom
dans le champ ModèleObjetDocument. - Ajoutez la variable
documentPath
dans le champ CheminDocument . - Ajoutez la variable
text
dans le champ TexteDocument. - Ajoutez la variable
taxonomy
dans le champ Taxonomie. - Ajoutez la variable
validatedResults
dans le champ RésultatsExtractionValidés.
- Ajoutez la variable
- Ajoutez une activité Écrire un fichier texte (Write Text File) après l’activité Présenter la station de validation (Present Validation Station).
- Ajoutez l'expression
JsonConvert.SerializeObject(validatedResults)
dans le champ Texte. - Ajoutez l’expression
outputFileName2 + ".savedinVS.results.json"
dans le champ NomFichier.
- Ajoutez l'expression
- Ajoutez une autre activité Écrire un fichier texte (Write Text File) après l’activité Écrire un fichier texte (Write Text File).
- Ajoutez l'expression
JsonConvert.SerializeObject(doubleValidatedResults)
dans le champ Texte. - Ajoutez l’expression
outputFileName2 + ".doubleSavedinVS.results.json"
dans le champ NomFichier.
- Ajoutez l'expression
- Exécutez le processus. Le processus d'automatisation doit ouvrir la station de validation, extraire les données, les valider et les stocker dans le dossier de sortie.
ZIP
: Exemple.
Vous avez créé votre workflow, défini toutes les variables et personnalisé toutes les activités. Il est maintenant temps de définir votre taxonomie. Visitez la page Charger la taxonomie pour en savoir plus sur la définition de votre propre taxonomie.
Créez votre taxonomie pour pouvoir extraire des informations d’une facture. Vous devez vous concentrer sur la création d’un type de document Facture contenant les champs indiqués dans le tableau suivant :
Type de champ | |
---|---|
NonFacture |
|
Sous-total |
|
Taxe de vente |
|
Total |
|
Il est maintenant temps de créer le modèle du processus d’extraction. Consultez la page Charger la taxonomie pour découvrir comment créer un modèle.
- Type de document : facture.
- Nom du modèle : exemple de facture.
- Modèle de document : sélectionnez le fichier cible.
- Moteur OCR : Microsoft OCR.
- Langues : fr.
- Profil : numérisation.
- Échelle : 1.
Les ancres sont une fonctionnalité très spéciale et utile à utiliser lorsque vous devez extraire des informations précises d’un document. En définissant une zone d'extraction avec une ancre, vous pouvez vous attendre à une grande précision dans l'extraction des données.
Une fois la taxonomie définie et le modèle créé, vous pouvez commencer à configurer le modèle en utilisant des ancres, ce qui signifie que la zone d'extraction est définie dans une boîte et que les ancres sont utilisées pour définir la position de la boîte.
Consultez la liste de conseils suivante concernant l’ancrage avant de commencer à ajouter des ancres à votre modèle :
- La boîte d'ancrage doit être aussi grande que possible (hauteur, largeur) pour couvrir tout type de numéro de facture, long, court, gros caractères, etc.
- Une zone d'extraction peut avoir autant d'ancres que nécessaire, mais une seule définie comme principale (la première).
- Utilisez des ancres formées de plusieurs mots côte à côte.
- L'ancre principale doit être aussi proche que possible de la zone d'extraction.
- Les positions de la zone d'extraction et de l'ancre principale sont fixes dans le modèle, même lorsqu'elles sont appliquées à des documents différents. La seule chose qui peut varier est la distance entre l'ancre principale et les ancres secondaires.
Continuons à configurer le modèle et découvrons comment extraire des données à l’aide d’une ancre.
- Définissez la zone d’extraction :
- Dans la zone droite de la Station de validation, sélectionnez Modes de sélection.
- Sélectionnez Ancrer.
- Commencez à sélectionner la zone souhaitée.
Image 3. Illustration animée montrant comment définir la zone d’extraction
Remarque :L'ancre principale doit contenir deux ou trois mots pour une grande précision et de meilleurs résultats dans le processus d'extraction.
Sélectionnez plusieurs mots lorsque vous balisez une ancre en appuyant sur Ctrl et en sélectionnant les mots souhaités.
- Définissez l’ancre principale :
- Toujours dans le mode Ancre relatif à la sélection d’ancres, sélectionnez la zone souhaitée en tant qu’ancre principale.
- Sélectionnez la valeur d’extraction du champ souhaité.
Image 4. Illustration animée montrant comment définir l’ancre principale
- Définissez les ancres secondaires :
- Veillez à rester dans le mode Ancre de sélection d’ancres et vérifiez que les sélections d’ancres principales soient bien activées.
- Sélectionnez les nouvelles zones des ancres secondaires.
- Sélectionnez les Options du champ souhaité, puis sélectionnez Modifier la valeur extraite.
Image 5. Illustration animée montrant un exemple de définition d’ancres secondaires
Répétez le processus jusqu'à ce que vous ayez fini de définir toutes les zones d'extraction et d'ajouter toutes vos ancres. Une fois terminé, enregistrez le modèle.