- À propos d'ABBYY FlexiCapture
- Architecture d'ABBYY FlexiCapture
-
Utilisation de scripts sous ABBYY FlexiCapture
- Règles spécifiques aux scripts écrits en langages .Net
- Assemblages externes
- L'éditeur de script
- Modèle d'objet
-
Scripts permettant de personnaliser les étapes de traitement
-
Types de scripts
- Règle de script
- Script d'autocorrection
- Script d'exportation
- Script utilisateur (action personnalisée)
- Script d'assemblage de document
- Script de reconnaissance personnalisée
- Règle d'étape
- Scripts de traitement
- Script de mise à jour de jeu de données
- Script de validation de jeu de données
- Document classification script
-
Gestionnaires d'événements
- Lot créé
- Lot supprimé
- Modification des paramètres du lot
- Modification de la structure d'un lot (page ajoutée/page supprimée/document ajouté/document supprimé)
- Pages déplacées
- Lot ouvert/fermé
- Vérification de l’intégrité du lot
- Modification de paramètres du document
- Modification de l'état du document
- Exportation terminée
- Scripté exécuté après la vérification des règles
- Avant l'association
- Requête de vérification de champs
-
Objets
- IActionResult
- IAssemblingError
- IAssemblingErrors
- IBatch
- IBatchCheckResults
- IBatchItem
- IBatchItems
- IBatchTypeClassifier
- IBatchTypeClassifierResult
- IBinarizationParams
- IBoxedBoolean
- ICharacterParams
- ICharactersParams
- ICheckmarkGroupValue
- ICheckmarkValue
- IDataSet
- IDataSetQuery
- IDataSetRecord
- IDocument
- IDocuments
- IDocumentExportResults
- IDocumentsExportResults
- IDocumentDefinitionInfo
- IDocumentDefinitionInfoArray
- IEditablePictureObject
- IExportFieldsToRedact
- IExportImageSavingOptions
- IField
- IFieldRegion
- IFieldRegions
- IFields
- IFlexiCaptureTools
- ILocalContrastParams
- IMatchedSectionInfo
- IMatchingInfo
- IPage
- IPageClassificationResult
- IPages
- IPictureObject
- IPictureObjectsInfo
- IPrincipal
- IPrincipals
- IProcessingCallback
- IProject
- IProperties
- IProperty
- IPropertyModificationInfo
- IRecordCheckResult
- IRecordset
- IRect
- IRects
- IRoutingRuleResult
- IRuleContext
- IRuleError
- IRuleErrors
- IRuleTag
- IRuleTags
- IScriptBinaryAttributes
- IScriptDefinitionContext
- ISectionDefinitionInfo
- ISectionDefinitionInfoArray
- IShadowsHighlightsParams
- IStageInfo
- IUserAttachment
- IUserAttachments
- IUserSessionInfo
- IValue
- IVARIANTArray
- TAssemlingErrorType
- TBatchItemType
- TColorToFilter
- TExportFieldType
- TExportType
- TImageCompressionType
- TPageClassificationType
- TPdfAVersion
- TPdfDocumentInfoType
- TPdfTextSearchAreaType
- TPrincipalType
- TProcessingPriority
- TPropertyType
- TRuleErrorType
- TStateType
- Exemples de scripts
- Noms internes des langues de reconnaissance
-
Types de scripts
-
Scripts de traitement des évènements de l'interface
-
Gestionnaires d'événements
- À la fermeture du document
- À la fermeture du projet
- À l'activation du document
- À l'activation du contrôle de champ
- Au retour de la tâche
- En cas de commande utilisateur
- À la désactivation du contrôle de champ
- À la fermeture du document
- À la fermeture de la tâche
- À la fermeture du projet
- À la modification de région
- À la modification du mode de la fenêtre Tâche
- À l'ouverture du document
- À la création de la fenêtre Tâche
- Au rejet de la tâche
- À la conception du contrôle de région
- À l'étape Envoyer vers
- À la validation du champ de texte
-
Objets
- IBoolean
- IBoxedFieldControl
- IDocumentEditor
- IDocumentItem
- IDocumentItems
- IDocumentsCollection
- IDocumentsWindow
- IDrawContext
- IErrorControl
- IErrorControls
- IErrorsWindow
- IFieldControl
- IFieldRegionControl
- IFieldRegionControls
- IFormWindow
- IImageWindow
- IMainMenu
- IMainWindow
- IMenu
- IMenuItem
- IPageControl
- IPageItem
- IPageItems
- IPagesCollection
- IPoint
- ISelection
- IShellRational
- IShellRect
- IShellRects
- ITaskWindow
- ITextEditor
- IToolbar
- IToolbarButton
- IToolbars
- TCommandBarType
- TCommandID
- TDockingType
- TDocumentState
- TErrorType
- TSelectionType
- TTaskWindowMode
- TTextSize
- TUserRole
- TWorkWindowType
-
Gestionnaires d'événements
- Script utilisateur pour le poste de vérification Web
-
Application Programming Interface (API)
- About the ABBYY FlexiCapture Application Server Web Services API
- Using the Web Services API of the ABBYY FlexiCapture Application Server
-
References
- API Methods
- Data types
- Working with files
- Web Services Mobile API
- Web Services for user account management
- Examples of API Use
- Intégration des postes Web dans des systèmes tiers
- Configuration de paramètres supplémentaires et personnalisation des postes Web
- Custom reports
-
Annexe
- Sauvegarde de FlexiCapture
- Langues de reconnaissance prises en charge
- Polices requises pour un rendu correct des caractères
- Types de textes pris en charge
- Types de codes barres pris en charge
- Formats d'entrée pris en charge
- Formats de fichiers d'exportation
- Formats de la date
- Caractères alphabétiques utilisés dans les expressions régulières
- Protection de définitions de documents et des modules supplémentaires
- Glossaire
- Brevets
- Technologies tierces
- Support technique
- Contrat de licence utilisateur final (CLUF)
Script de classification de documents
Un classificateur ABBYY FlexiCapture traite les documents soumis et détermine leur catégorie. Cela vous laisse le choix de la définition de document à utiliser pour l'extraction de champs.
Chaque classificateur correspond à un lot d'apprentissage de classification spécifique.
Si vous souhaitez utiliser plusieurs classificateurs pour un seul lot, vous devez configurer un script de classification. Cela peut être utile lorsque certains documents doivent faire l'objet d'une classification supplémentaire. Dans ce cas, le premier classificateur sera utilisé pour classer les documents en fonction de leur catégorie, puis un classificateur supplémentaire sera sélectionné dans le script en fonction des résultats de la classification. Par exemple, les documents peuvent d'abord être classés en « factures » et « contrats », puis les factures peuvent être classées en fonction du nom de l'entreprise.
Remarque : Ce script peut être utilisé uniquement pour un type de lot existant et ne peut pas être exécuté lors de la création d'un type de lot.
Pour configurer un script de classification :
- Ouvrez Projet –> Project Properties....
- Accédez à l'onglet Reconnaissance dans la fenêtre Propriétés du projet.
- Ouvrez l'éditeur de script de classification en cliquant sur Définir... à droite de Use script dans la section Classification.
- Dans la boîte de dialogue, sélectionnez un classificateur approprié en cliquant sur Ajouter... et choisissez un lot de classification dans la liste.
- Vous pouvez maintenant modifier le Alias Namedu classificateur. Cela vous dispense de devoir réécrire un script si le nom d'un classificateur a été modifié en cours de traitement. Le script renverra au nom précis spécifié dans la colonne Alias Name.
- Ouvrez la fenêtre de l'éditeur de script en cliquant sur Éditer le script....
Paramètres
Nom | Type | Accès | Description |
BatchTypeClassifier | IBatchTypeClassifier | Lecture seule | Un classificateur du type de lot. |
IsConfident | booléen | Lecture seule |
Confiance de la classification. Contrairement à ce que vous faites lors de l'utilisation des classificateurs automatiques, lors de l'utilisation du script, ce paramètre doit être spécifié manuellement dans les propriétés de la page. ExempleIClassificationResult result = Classifiers[0].ClassifyPage( Page ); Page.ResultClassName = result.ClassName; Page.IsResultClassConfident = result.IsConfident; |
Page | IPage | Lecture/écriture | Page de document |
Traitement | IProcessingCallback | Lecture/écriture | L'objet permettant de journaliser des informations concernant le traitement. |
Exemples de script
Ce script classe les pages et ajoute le nom d'une catégorie dans leurs propriétés :
IBatchTypeClassifierResult classifierResult = BatchTypeClassifier.ClassifyPage( Page, null );
Page.ResultClassName = classifierResult.ClassName;
L'exemple de script ci-dessous vous permet de retourner le niveau de confiance de la classification :
IClassificationResult result = Classifiers[0].ClassifyPage( Page ); FCTools.ShowMessage( "Class: " + result.ClassName ); Page.ResultClassName = result.ClassName; FCTools.ShowMessage( "IsConfident: " + result.IsConfident );
Exemple de script qui combine plusieurs classificateurs pour une classification en cascade
var res0 = Classifiers.Get ( "Batch" ).ClassifyPage( Page ); IClassConfidences classVars = res0.Classes; foreach( IClassConfidence c in classVars ) { FCTools.ShowMessage( c.Name + " --> " + c.Confidence.ToString() ); } FCTools.ShowMessage( "Class res0: " + res0.ClassName); if (res0.ClassName == "Invoice") { var res1 = Classifiers.Get ( "Batch2" ).ClassifyPage( Page ); IClassConfidences classVars1 = res1.Classes; foreach( IClassConfidence d in classVars1 ) { FCTools.ShowMessage( d.Name + " --> " + d.Confidence.ToString() ); } FCTools.ShowMessage( "Class res1: " + res1.ClassName); Page.ResultClassName = res1.ClassName; } else { Page.ResultClassName = res0.ClassName; } FCTools.ShowMessage( "Page.ResultClassName: " +Page.ResultClassName);
Exemple de script qui attribue la catégorie « Inconnu » aux documents dont la classification affiche un degré de confiance inférieur à la valeur spécifiée
Le script suivant peut être utilisé si votre scénario n'impose pas l'attribution d'une classe aux documents présentant un faible niveau de confiance (même si une classe a déjà été spécifiée pour eux). Les documents de ce type doivent être classifiés manuellement par un opérateur.
Important ! Pour le bon fonctionnement du script, une nouvelle catégorie doit d'abord être créée, par exemple, « Inconnu ». Puis, il doit être lié à la définition de document dans la boîte de dialogue Class Mapping.... Pour plus d'informations, consultez Mappage des catégories vers les sections de la définition de document.
using System; IClassificationResult result = Classifiers.Get ( "ClassifierBatch" ).ClassifyPage(Page); Page.ResultClassName = result.ClassName; IClassConfidences classVars = result.Classes; Page.Comment = ""; foreach( IClassConfidence c in classVars ) { //FCTools.ShowMessage( c.Name + " -- " + c.Confidence.ToString() ); // enregistre la valeur du degré de confiance de la classification dans le journal des événements Page.Comment = Page.Comment + c.Name + "-" + c.Confidence.ToString() + "; "; // enregistre la valeur du degré de confiance de la classification dans la page des commentaires } if (classVars.Count>0) { if (classVars[0].Confidence<80) Page.IsResultClassConfident=false; // le seuil de confiance en dessous duquel un document sera classé comme incertain else Page.IsResultClassConfident=true; if (classVars[0].Confidence<20) Page.ResultClassName="Unknown"; // le seuil de confiance en dessous duquel la catégorie « Inconnu » sera attribuée à un document if (classVars.Count>1) { int classesToShow = Math.Min(classVars.Count, 3); for(int i=0; i<classesToShow; i++) { Page.Comment = Page.Comment + classVars[i].Name + "-" + classVars[i].Confidence.ToString() + "; "; } } } FCTools.ShowMessage( "Class: " + Page.ResultClassName );
Remarque : Dans ce script, les valeurs du seuil de confiance sont uniquement destinées à des fins de démonstration et peuvent être modifiées par l'utilisateur en fonction d'un flux de travail spécifique.
02.03.2021 8:10:42