-
Info
- Neue Funktionen in ABBYY FlexiCapture 12
- Unterstützte Dokumenttypen in ABBYY FlexiCapture
- Kurzbeschreibung der Dokumentverarbeitung mit ABBYY FlexiCapture
- Installieren und Ausführen des Programms
- Architektur von ABBYY FlexiCapture
-
Konfigurieren des Programms
- Konfiguration von ABBYY FlexiCapture
- Mehrinstanzenfähigkeit
-
Erstellen eines Projekts
- Projekteigenschaften
- Umgebungsvariablen
- Bildimport
- Stapeltypen
- Workflow-Konfiguration
- Extras
- Standard-Stapelpriorität
- SLA-Einstellungen
- Benutzerdefinierte Operatorrollen
- Registrierungsparameter
- Hochladen eines Projekts zum Anwendungsserver
- Projekt testen
- Designeinstellungen
- Qualität der angezeigten Bilder
-
Dokumentdefinitionen
- Erstellen von statische Dokumentdefinitionen
- Erstellen einer Dokumentdefinition zum Verarbeiten nicht strukturierter und flexibler Dokumente
- Document Definitions without automatic fields extraction
- Dokumentenmappen
-
Dokumentdefinitionsfelder
- Texteingabefeld
- Checkmarks
- Gruppen von Auswahlfeldern
- Barcode
- Bilder
- Tabellen
- Feldgruppe
- Dienstfeld
- Indexfelder
- Link zu vorhandenem Feld
- Felder ohne Bereich
- Erstellen eines Felds mit einem nicht rechteckigen Bereich
- Felder mit mehreren Instanzen
- Felder mit mehreren Bereichen
- Ändern eines Feldnamens
- Kopieren, Verschieben und Löschen von Feldern
- Ausschließen eines Bereichs von der Erkennung
- Dokumentdefinitionsassistent
- Bearbeitung und Veröffentlichung einer Dokumentdefinition
- Zusammenstellung mehrseitiger Dokumente
- Eigenschaften der Dokumentdefinition
- Eigenschaften eines Dokumentdefinitionsbereichs
- Regelbasierte Validierung
- Konfigurieren des Datenexports
- Konfigurieren der Datendarstellung im Dokumentfenster
- Testen von Dokumentdefinitionen
- Lokalisierung einer Dokumentdefinition
-
Klassifizierung
- Klassifizierungsszenarien
- Klassifizierungsprofile
- Aufruf-Genauigkeit-Balance
-
Erstellen eines Klassifizierers
- Einrichtung von Klassifizierern
- Einrichten Ihrer Klassifizierer und Laden von Bildern
- Trainings-Klassifizierer
- Analysis of classification results
- Improving your classifier
- Exportieren und Importieren von Klassifizierern
- Zuordnung von Klassen zu Dokumentdefinitionsbereichen
- Klassifizierung anhand einer Unternehmensdatenbank_2
- Training für Feldextrahierung
- Arbeiten mit einem konfigurierten Projekt
-
ABBYY FlexiCapture für Rechnungen
- Funktionen von ABBYY FlexiCapture for Invoices
- Erfassen von Rechnungen
-
Einrichtung eines Projekts zur Rechnungserfassung
- Land- und Spracheinstellungen
- Verbindung mit Datenbanken für Lieferanten und Geschäftseinheiten
- Einstellungen für den Datenexport
- Der Status von Dokumenten in Projekten von ABBYY FlexiCapture for Invoices
- ABBYY FlexiCapture for Invoices Trainieren
- Regeln
- Erfassung zusätzlicher Rechnungsfelder
- Kontrolle von Rechnungspositionen
- Zusätzliche Programmfunktionen für Operatoren aktivieren
- Verwenden mehrerer Dokumentdefinitionen
- Einstellungen der Rechnungsverarbeitung in XML-Dateien bearbeiten
- Aktualisierung der Dokumentdefinition für Rechnungen
- Spezifikationen
- Capturing receipts
- Capturing purchase orders
-
Verarbeiten nicht strukturierter Dokumente mit NLP
- Installation des NLP-Moduls
- Erstellen einer neuen Dokumentdefinition
- Erstellen von NLP-Modellen
- Trainieren Ihrer NLP-Modelle
- NLP model training based on feedback from verification operators
- Laden eines vorhandenen NLP-Modells
- In welchen Fällen Sie Extraktionsskripte verwendet sollten
- Bekannte Einschränkungen
- Glossar
- Benutzeroberfläche von ABBYY FlexiCapture
-
Anhang
-
Verwenden von Skripten in ABBYY FlexiCapture
- Besonderheiten von in .Net-Sprachen geschriebenen Skripten
- Externe Assemblys
- Objektmodell
-
Skripte für die benutzerdefinierte Anpassung der Verarbeitungsphasen
-
Skripttypen
- Skriptregel
- Autokorrekturskript
- Exportskript
- Benutzerskript (benutzerdefinierte Aktion)
- Skript für Dokumentzusammenstellung
- Benutzerdefiniertes Erkennungsskript
- Phasenregel
- Verarbeitungsskripte
- Aktualisierungsskript für Datensätze
- Validierungsskripte für Datensätze
- Skript für die Dokumentklassifizierung
-
Event-Handler
- Stapel erstellt
- Stapel gelöscht
- Stapelparameteränderung
- Änderung der Stapelstruktur (Seite hinzugefügt/Seite gelöscht/Dokument hinzugefügt/Dokument gelöscht)
- Seiten verschoben
- Stapel geöffnet/geschlossen
- Stapelintegritätsprüfung
- Dokumentparameter geändert
- Dokumentstatus geändert
- Export abgeschlossen
- Skript, das nach Regelprüfungen ausgeführt wird
- Vor der Zuordnung
- Feldüberprüfungsanforderung
-
Objekte
- 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
- Beispielskripte
- Interne Namen der Erkennungssprachen
-
Skripttypen
-
Skripts für die Verarbeitung von Schnittstellenevents
-
Event-Handler
- Bei Aktivierung des Dokuments
- Bei Schließen des Projekts
- Bei Aktivierung des Dokuments
- Bei Steuerelement des Feldes aktivieren
- Bei Rückgabe von Task
- Bei Benutzerbefehl
- Bei Steuerlement des Felds deaktivieren
- Bei Schließen des Dokuments
- Bei Schließen des Tasks
- Bei Schließen des Projekts
- Bei Bereichsänderung
- Bei Änderung des Taskfenstermodus
- Bei Öffnen des Dokuments
- Bei Taskfenster erstellen
- Bei Taskablehnung
- Bei Bereichssteuerung zeichnen
- Bei Senden des Tasks zur Phase
- Bei Textfeld Überprüfung
-
Objekte
- 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
-
Event-Handler
- Benutzerskript für Web-Überprüfungsstation
- Erstellen von maschinenlesbaren Formularen
-
Tastenkombinationen
- Tastenkombinationen für die Projektkonfigurationsstation
- Tastenkombinationen für die Überprüfungsstation
- Tastaturbefehle im Hauptfenster der Datenverifizierungsstation
- Tastenkombinationen für den Dokumentdefinitionseditor
- Tastaturbefehle im Fenster für die Gruppenüberprüfung
- Tastaturbefehle im Fenster für die Feldüberprüfung
- Tastenkombinationen
- Zusätzliche Optionen
- Description of Processing Server commands
- ABBYY FlexiCapture-Beispielprojekte
- Unterstützte Erkennungssprachen
- Supported classifier languages
- Schriftarten für die korrekte Darstellung von Zeichen
- Unterstützte Texttypen
- Unterstützte Barcodetypen
- Unterstützte Eingabeformate
- PDF-Dateien werden verarbeitet
- Exportdateiformate
- Datumsformate
- Alphabet in regulären Ausdrücken
- Patente
- Drittpartei-Technologien
- Glossar
- Technischer Support
- Informationen zum Kauf von ABBYY FlexiCapture
- Endbenutzer-Lizenzvertrag (EULA)
-
Verwenden von Skripten in ABBYY FlexiCapture
Skript für die Dokumentklassifizierung
Ein ABBYY FlexiCapture-Klassifizierer verarbeitet übermittelte Dokumente und bestimmt deren Klasse. Auf diese Weise können Sie eine Dokumentdefinition auswählen, die für die Feldextraktion verwendet werden soll.
Jeder Klassifizierer entspricht einem bestimmten Trainingsstapel der Klassifizierung.
Wenn Sie mehrere Klassifizierer für einen einzelnen Stapel verwenden möchten, müssen Sie ein Skript für Klassifizierung einrichten. Dies kann nützlich sein, wenn Dokumente vorhanden sind, die einer zusätzlichen Klassifizierung unterzogen werden müssen. In diesem Fall wird der erste Klassifizierer verwendet, um die Dokumente nach ihrer Klasse zu klassifizieren, und dann wird abhängig von den Klassifizierungsergebnissen ein zusätzlicher Klassifizierer aus dem Skript ausgewählt. Beispielsweise können Dokumente zuerst in "Rechnungen" und "Verträge" klassifiziert werden und dann weiter nach Firmennamen.
Hinweis. Dieses Skript kann nur für einen vorhandenen Stapeltyp verwendet und beim Erstellen eines Stapeltyps nicht ausgeführt werden.
Zur Einrichtung eines Skript für Klassifizierung:
- Öffnen Sie Projekt → Project Properties....
- Öffnen Sie die RegisterkarteErkennung im Fenster Projekteigenschaften.
- Öffnen Sie den Skript-Editor für Klassifizierung, indem Sie Festlegen... rechts von Use script im Bereich Klassifizierung klicken.
- Wählen Sie im Dialogfeld einen entsprechenden Klassifizierer, indem Sie auf Hinzufügen... klicken und einen Klassifizierungsstapel aus der Liste wählen.
- Jetzt können dieAliasname eines Klassifizierers geändert werden. Auf diese Weise müssen Sie ein Skript nicht neu schreiben, wenn der Name eines Klassifizierers während der Verarbeitung geändert wurde. Das Skript verweist auf den in der SpalteAliasname angegebenen Namen.
- Öffnen Sie das Fenster des Skripteditors, indem Sie auf klickenSkript bearbeiten...
Parameter
Name | Typ | Zugriff | Beschreibung |
BatchTypeClassifier | IBatchTypeClassifier | Schreibgeschützt | Ein Klassifizierer im Stapeltyp. |
IsConfident | bool | Schreibgeschützt |
Klassifizierungszuverlässigkeit. Im Gegensatz zur Arbeit mit automatischen Klassifizierern muss dieser Parameter bei der Arbeit mit dem Skript manuell in den Seiteneigenschaften angegeben werden. BeispielIClassificationResult result = Classifiers[0].ClassifyPage( Page ); Page.ResultClassName = result.ClassName; Page.IsResultClassConfident = result.IsConfident; |
Page | IPage | Lesen/Schreiben | Dokumentseite. |
Processing | IProcessingCallback | Lesen/Schreiben | Das Objekt für die Protokollierung der Informationen über die Verarbeitung. |
Beispiele für ein Skript
Dieses Skript klassifiziert Seiten und fügt den Namen einer Klasse deren Eigenschaften hinzu
IBatchTypeClassifierResult classifierResult = BatchTypeClassifier.ClassifyPage( Page, null );
Page.ResultClassName = classifierResult.ClassName;
Das folgende Beispielskript ermöglicht Ihnen, den Grad der Klassifizierungszuverlässigkeit zurückzugeben:
IClassificationResult result = Classifiers[0].ClassifyPage( Page ); FCTools.ShowMessage( "Class: " + result.ClassName ); Page.ResultClassName = result.ClassName; FCTools.ShowMessage( "IsConfident: " + result.IsConfident );
Beispielskript, das mehrere Klassifizierer für die kaskadierende Klassifizierung kombiniert
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);
Beispielskript, das die Klasse "Unbekannt" Dokumenten zuweist, deren Klassifizierungszuverlässigkeit niedriger als der angegebene Wert ist
Das folgende Skript kann verwendet werden, wenn in Ihrem Szenario keine Dokumente mit einem niedrigen Zuverlässigkeitsgrad einer Klasse zugewiesen werden müssen (auch wenn für sie bereits eine Klasse angegeben wurde). Solche Dokumente sollten von einem Operator manuell klassifiziert werden.
Wichtig! Damit das Skript funktioniert, sollte zuvor eine neue Klasse erstellt werden, wie z. B. "Unbekannt". Anschließend sollte es mit der Dokumentdefinition im DialogKlassenzuordnung... verknüpft werden. Weitere Informationen finden Sie unter Zuordnung von Klassen zur Dokumentdefinition.
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() ); // records the classification confidence value in the event log Page.Comment = Page.Comment + c.Name + "-" + c.Confidence.ToString() + "; "; // records the classification confidence value in the page comments } if (classVars.Count>0) { if (classVars[0].Confidence<80) Page.IsResultClassConfident=false; // confidence threshold below which a document will be classified as uncertainly classified else Page.IsResultClassConfident=true; if (classVars[0].Confidence<20) Page.ResultClassName="Unknown"; // confidence threshold below which a document will be assigned the "Unknown" class 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 );
Hinweis. Die Schwellenwerte für Zuverlässigkeit in diesem Skript dienen nur zu Demonstrationszwecken und können vom Benutzer abhängig von einem bestimmten Workflow geändert werden.
1/14/2021 2:17:18 PM