XTRACT Formulardefinitionen

Formulardefinitionen

In jedem XTRACT Projekt können über das Designstudio beliebige Formulardefinitionen angelegt werden welche eine eigenständige Verarbeitung und Interpretation der Inhalte erlauben.

Je Formulardefinition werden automatisch drei Prozessgruppen angelegt:

  • Identifier
  • Extraction
  • Splitter

Die Gruppen unterscheiden sich jeweils im Funktionsumfang und den Eigenschaften. Einige Optionen sind hingegen bei allen Definitionen identisch, wie z.B. der Zonentyp. Alle Eigenschaften der Definitionen werden weiter unten im Detail vorgestellt und beschrieben.

Beim Anlegen einer neuen Formulardefinition können alle im Feldschema definierten Felder automatisch importiert werden. Das Feldschema muss dazu zuvor in den Projekt-Grundeinstellungen dem Projekt zugeordnet werden.

Eine Formulardefinition kann auch von einer bestehenden Definition abgeleitet werden (Vererbung / Parent). Dabei bleiben alle Eigenschaften und Funktionen des übergeordneten Formulars bestehen. Felder können dabei ergänzt oder überschrieben werden.

Hinweis

Ist nur ein Formular mit dem Namen Default im Projekt definiert und verfügt es über keine speziellen Identifier, so wird es automatisch als erkannt angesehen. Das Default Formular wird auch verwendet falls keine der anderen Formulare erkannt wurden.

Formularoptionen

Das Fenster zur Bearbeitung eines Formulars hat folgende Darstellung:

Der Name entspricht dem Formularnamen, Parent gibt eine optionale Elterndefinition an von der das Formular geerbt wird. Script definiert ein optionales Formular-Verarbeitungsskript.

Description ist der Beschreibungstext des Formulars.

Über das Background form kann ein Formular (JPEG oder PDF) hinterlegt werden. 

Hinweis

Das ausgewählte Hintergrundformular wird in die Datenbank übertragen und wird für die weitere Verwendung nicht mehr vom Ursprungsverzeichnis geladen. Das File kann also nach dem Speichern der Konfiguration gelöscht werden.

Optional kann über die Funktion Remove empty PDF background frames leere Rahmenobjekte aus den PDF Quelldateien entfernt werden um das Formular sichtbar zu machen. 

Feldgruppen

Identifier

Identifier (Identifizierer) steuern die Formularerkennung und können beliebig viele Felder enthalten. Sobald der Confidence (Zuversicht, Vertrauen) Wert aller Felder 100% erreicht, wird das Formular als erkannt angesehen.
Weitere Formulare werden nicht geprüft.

Splitter

Durch die Splitdefinionen kann eine Dokumenttrennung innerhalb eines Stapels definiert werden. Auch hier können mehrere Felder definiert werden. Eine Dokumenttrennung kommt zustande sobald der Confidence Wert 100% erreicht. Hier könnten z.B. zwei Zonen definiert werden die jeweils einen Umbruch zu 50% feststellen. Ändern sich die Inhalte beider Zonen wird eine Trennung vorgenommen.

Extraction

Extraktionsdefinitionen regeln den Output der Erkennung. Also was wird aus den Belegen gelesen und an die weitere Verarbeitungsstrecke (WARP) übergeben.

Die Extraktion bezieht sich jeweils immer nur auf den entsprechenden Teil des Dokuments der durch den Splitter erzeugt wurde. Also immer beginnend mit der ersten Seite. Ohne Splitdefinition wird das Dokument als ganzes gesehen.

Feldeigenschaften

 Aufstellung aller Feldeigenschaften:

EigenschaftBeschreibungIdentifierExtraction  Splitter
FormName des aktuellen Formulars.


Field nameName des aktuellen Feldes.


External fieldName des über das Feldschema zugeordnete externe Feld.


Field type

Feldtyp:

  • Identifier
  • Extraction
  • Splitter

Field scopeHeader oder Position ermittelt aus den Feldschemas


Business typeGeschäftsfeldtyp wie z.B. Menge und Einzelpreis. Wird zur Prüfung und Berechnung von Abhängigkeiten herangezogen. Zum Beispiel für das Positionstraining.

Data typeDefiniert einen der festgelegten Datentypen aus dem Bereich des Solution Builder. Zum Beispiel Identifier_IBAN. Im Ergebnis erhalten Sie aus der angegebenen Zone alle IBAN Nummern.

User data typeIndividueller Benutzerdatentyp welcher über den Solution Builder im Compiler des Projekts definiert wurde.

Description

Feldbeschreibung.

Value

Fester Inhalt eines Feldes.



Zone type

Zonen-Typ:

  • Object
  • Text
  • Barcode
  • OMR_Rectangle
  • OMR_Oval

Zone accuracy

Zonengenauigkeit:

  • Strict
  • Loose

Definiert ob angeschnittene Objektzonen in die Betrachtung mit einbezogen werden oder nicht.

Zone area

Definiert die Zone auf die alle Operationen durchgeführt werden. Auch ROI genannt - Region Of Interest. Angabe in Twips oder Prozent - je nach Coordinates mode.

Zone page

Seite auf der sich die Zone befindet.


Coordinates mode

Koordinatenmodus:

  • Twips
  • Dynamic (Angabe in Prozent)

Im Standard sollte Twips verwendet werden.

Relevance

Relevanz in Prozent von 0 - 100 des Inhalts für Formularerkennung und das Splitting. Mehrere Felder werden entsprechend kombiniert bzw. aufaddiert.


Keywords

Schlüsselwörter und reguläre Ausdrücke für die Suche und weiteren Verarbeitung bzw. Positionierung.

Alternativ zur direkten Angabe von Schlüsselbegriffen, kann hier auch auf eine Projektressource verwiesen werden. Diese wird dann in der folgenden Form angegeben:

<Resource>[Name]</Resource>


Keyword excusions

Begriffe welche explizit von den eigentlichen Schlüsselwörtern ausgeschlossen werden sollen. Siehe RegEx Compare.

Alternativ zur direkten Angabe von Schlüsselbegriffen, kann hier auch auf eine Projektressource verwiesen werden. Diese wird dann in der folgenden Form angegeben:

<Resource>[Name]</Resource>

Keyword accuracy

Erforderliche Genauigkeit für einen Schlüsselworttreffer. Angabe in Prozent von 0 - 100. Die Genauigkeit wird über den entsprechenden Suchalgorithmus bestimmt und berechnet. Siehe Search algorithm.


Search algorithm

Verwendeter Suchalgorithmus für die Schlüsselwörter:

  • clarc_Pattern_Matching
  • clarc_Fuzzy_Compare
  • Damerau_Levenshtein_Distance
  • Colone_Phonetics_Equivalent
  • Regular_Expression


Extraction type

Extraktionstyp:

  • Complete
  • RelativeZoneToKeyWord
  • NextValueToKeyWord_Left
  • NextValueToKeyWord_Right
  • NextValueToKeyWord_Above
  • NextValueToKeyWord_Below
  • Keyword
  • None


Extraction zone

Die relative Zone zum Schlüsselwort. Verwenden Sie zur Bestimmung den Wizard.



Anchor pointAnkerpunkt zur Berechnung der relativen Zone - verwennden Sie den Wizard aus Extraction Zone.

RegEx(Extract)Regulärer Ausdruck zur Extraktion von Inhalten aus der ROI.

RegEx(Verify)Regulärer Ausdruck zur Prüfung des ermittelten Inhalts. Zum Beispiel im Bereich Traning.



Charset

Gültige Zeichen des Inhalts – alle anderen Zeichen werden ignoriert.

Verify

Verifizierung des Inhalts gegen eine Datenbank mit entsprechender Rückgabe.



Tap search

Spezielle Suche mit Bewertungssystem von Inhalten gegen eine Datenbank.



Training relevance

Bestimmt, an ob es sich beim Feld um Mandatory oder Optional handelt. Die Option "Mandatory" erfordert zwingend einen Wert beim Training.



ScriptFeldbezogenes Script aus C4.

Value

Mit der Eigenschaft Value kann ein fester Wert für ein Feld gesetzt werden (z.B. die Belegart).

Zone type

Der Zonen-Typ gibt an welche Art von Zonen oder Auswertung angewendet werden soll. In der regel ergibt sich der Typ automatisch aus dem Designer – je nachdem an welcher Stelle eine Zone gezogen wird.

  • Object ~ Alle normalen Text-Zonen
  • Text ~ Gibt an das die Zone auf das Textlayout angewendet werden soll (nicht empfohlen)
  • Barcode ~ Nur Barcodezonen werden im Ergebnis berücksichtigt

Zone accuracy

Die Zonengenauigkeit gibt an wie der gewählte Bereich (Zone area) die Dokumentzonen einschließt. Ist die Eigenschaft auf Stricht gestellt, so werden nur Zonen herangezogen die sich komplett im Auswahlbereich befinden. Mit Loose genügt es wenn nur ein kleiner Teil der Zone im Bereich der Auswahl liegt.

Soll z.B. explizit nur ein ganz spezieller Bereich oder nur ein Wert verwendet werden, sollte die Option Stricht gewählt werden. Bei allen anderen Varianten ist Loose die bessere Wahl.

Zone area

Primäre Zone für alle weiteren Auswertungen (die Angabe erfolgt entweder fest in Twips oder dynamisch). 

Diese Zone wird auch ROI - Region Of Interest - genannt.

Zone page

Die Seitennummer auf der sich die ROI befindet.

  • Seitennummer = 0 ~ automatische Seitenfindung.
  • Seitennummer = -1 ~ letzte Seite.

Coordinates mode

Der Koordinatenmodus gibt an wie sich die Zone relativ zur Größe der Seite verhalten soll. Wird coordinates mode auf Twips gestellt, so wird die Zone immer identisch positioniert. In der Einstellung Dynamic sind alle Angaben in Prozent was bedeutet das die Größe und Position der Zone relativ zur Seitengröße verändert wird. Diese Einstellung eignet sich besonders um z.B. den Bereich auf „das obere Drittel“ oder „den mittleren Bereich“ zu setzen.

Relevance

Die Relevanz betrifft nur die beiden Feldtypen Identifier und Splitter. Bei den Identifizierern gibt die Relevanz an mit welcher Wahrscheinlichkeit das entsprechende Formular erkannt wurde, bei den Splitdefinitionen wann ein neues Dokument beginnt. Relevance kann einen ganzzahligen Wert zwischen 0 und 100 annehmen. Mehrere Definitionen pro Bereich werden bei zutreffenden Ergebnissen addiert. Wird der Wert 100 erreicht oder überstiegen gilt das Ergebnis als zutreffend und das Formular bzw. der Dokumentumbruch als erkannt.

Keywords

Die Schlüsselwörter oder Keywords bilden einen Satz an möglichen Treffern wodurch z.B. die Formularerkennung durchgeführt werden kann. Alle Wörter werden untereinander aufgelistet wobei der erste Eintrag den höchstwertigen darstellt. D.h. wird das erste Schlüsselwort mit einer ausreichenden Wahrscheinlichkeit (s. keyowrd accuracy und search algorithm) erkannt, werden die nachfolgenden Werte nicht weiter geprüft.

Beispiel:

Rechnung
Rechnungen
RECHNUNGEN
Invoice

Eine weitere Verwendungsmöglichkeit sind relative Zonenabgriffe zum Schlüsselwort für die Extraktion.

Hier könnte z.B. definiert werden: suche im Bereich x nach dem Schlüsselwort y und gib den Wert rechts davon zurück. Oder: suche im Bereich x nach dem Schlüsselwort y und gib dazu relativ eine Zone z zurück. Etc.

Diese Abgriffe werden durch den Extraction type geregelt.

Die Schlüsselwörter können direkt aus dem Kontextmenü im Dokumentenbereich in die Liste übernommen werden.

Schlüsselwörter können ebenfalls in eine Ressource ausgelagert werden. Dazu wird auf Projektebene ein globaler Ressourcen-Pfad konfiguriert. Auf Keyword-Ebene wird dann auf die jeweilige Property verwiesen. Die Definition sieht dazu wie folgt aus:

<Resource>Name der Ressourcen Property</Resource>

Siehe auch Ressourcen.

Keyword exclusions

Explizite Ausschlüsse zu den Schlüsselwörtern.

Beispielsweise sollen alle Begriffe zu einer "Nummer" gefunden werden, jedoch explizit nicht die "RE-Nummer". Somot kann diese entsprechend von den Schlüsselwörtern ausgeschlossen werden.

Ausschlüsse kommen vor allem bei der Verwendung von Regulären Ausdrücken zur Suche von Schlüsselbegriffen zum Einsatz, da via RegEx eine recht breite Auswahl an Werten angesprochen werden kann, einige wenige jedoch außen vor bleiben sollen.

Keyword accuracy

Gibt an ab welchem Schwellwert ein Schlüsselwort als erkannt angesehen wird. Die Angabe erfolgt in ganzzahligen Werten zwischen 0 und 100. Ein typischer Wert wäre z.B. 80%. Der Wert für die Übereinstimmung hängt vom gewählten Suchalgorithmus ab (s. search algorithm) und kann je nach Verwendung etwas variieren.

Search algorithm

Der Suchalgorithmus gibt an nach welcher Methode Schlüsselwörter im Dokument gesucht und auf Übereinstimmung geprüft werden.

Folgende Methoden können gewählt werden:

  • clarc Pattern Macthing
  • clarc Fuzzy Compare
  • Colone Phonetics Equivalent
  • Damerau Levenshtein Distance
  • Regular Expression

Im Abschnit XTRACT Suchalgorithmen finden Sie eine weiterführende Beschreibung der entsprechenden Suchalgorithmen und deren Einsatzgebiet bzw. Verwendungsmöglichkeiten.

Extraction type

Der Extraktionstyp gibt an wie die Zone oder der via Keywords ermittelte Bereich ausgelesen werden soll.

  • Complete ~ der komplette Bereich aus zone area wird im Ergebnis übergeben.
  • None ~ keine Inhaltsrückgabe aus dem Dokument. Sofern das Feld via Skript oder Verifier befüllt wird.
  • RelativeZoneToKeyWord ~ der Inhalt aus der relative Zone zum Schlüsselwort wird übergeben.
  • NextValueToKeyWord_Left ~ der Wert der dem Schlüsselwort links am nächsten steht.
  • NextValueToKeyWord_Right ~ der Wert der dem Schlüsselwort rechts am nächsten steht.
  • NextValueToKeyWord_Above ~ der Wert der dem Schlüsselwort oberhalb am nächsten steht.
  • NextValueToKeyWord_Below ~ der Wert der dem Schlüsselwort unterhalb am nächsten steht.
  • Keyword ~ ermittelt das passendste Schlüsselwort im entsprechenden Bereich.

Extraction zone

Relative Zone zum Schlüsselwort – die Zone kann im Design Studio über einen Wizard erfasst werden.

Klicken Sie dazu auf den Button "..." rechts neben der Eingabemöglichkeit. Der Wizard wird gestartet:

  1. Klicken Sie das linke obere Eck des Schlüsselworts an zu dem der eigentliche Begriff im Verhältnis zu Suchen ist. Z.B. das "R" von Rechnungsnummer.
  2. Ziehen Sie eine Zone um den zu erkennenden Wert - in unserem Beispiel die Rechnungsnummer.

Der Wizard ist abgeschlossen und Sie können das Ergebnis testen in dem Sie die Anpassung speichern und eine Erkennung ausführen. 

Regular expression

Jeder extrahierte Wert aus dem Dokument kann über einen regulären Ausdruck gefiltert werden. Hier kann z.B. aus dem Inhalt eines größeren Bereichs eine Nummer mit einem bestimmten Aufbau herausgeholt werden ohne dies mit einem Algorithmus bzw. Script zu realisieren.

Mehrere Ausdrücke können an dieser Stelle untereinander aufgelistet werden.

Einen Überblick über die Möglichkeiten und Anwendungsgebiete von regulären Ausdrücken finden Sie im Abschnitt reguläre Ausdrücke weiter unten in der Dokumentation.

Über den Wizard bzw. das Test-Tool im Design Studio lassen sich die im C4 gepflegten regulären Ausdrücke auswählen und testen. Im C4 werden die Ausdrücke unter /clarc/Expressions/Regular gepflegt.

Charset

Das Charset beinhaltet alle gültigen Zeichen welche im Ergebnis oder der weiteren Verarbeitung berücksichtigt werden. Ein mögliches Charset wäre z.B.: „0123456789“ – hier würden nur numerische Zeichen akzeptiert werden.

Wird Charset leer gelassen, erfolgt keine Prüfung oder Anpassung von Inhalten.

Verify

Mit dem Verify Tool können Extraktionsergebnisse gegen eine Datenbanktabelle (verschiedene Spalten) geprüft werden. Wird keine Übereinstimmung gefunden, bleibt der Inhalt des ursprünglichen Feldes leer.

Die Einrichtung eines Verifiers erfolgt über ein Wizard Tool direkt im Design Studio. Scripting ist nicht erforderlich für MSSQL, Oracle und DB2. Für eine Verbindung mit einer Access Datenbank ist ein Script erforderlich.

Das Tool kann auch als einfacher Datenbankrückgriff verwendet werden um z.B. Zusatzinformationen zu einer Rechnungsnummer etc. zu beziehen. Die Ergebnisse können auf die einzelnen Extraktionsfelder verteilt werden.

Hinweis: Achten Sie dabei darauf, dass die entsprechenden Felder vom Extraktionstyp „None“ sind. Ansonsten werden diese wieder überschrieben.

Tap search

Tap search ist ein Tool um undefinierte Inhalte gegen eine Datenbank prüfen zu lassen und ein definiertes valides Ergebnis zurück zu erhalten. Bei der Prüfung wird der bestmögliche Treffer aus der Datenbasis ermittelt und mit optionalen Zusatzinformationen an das Feld zurückgeliefert.

Das Tool eignet sich z.B. sehr gut für eine Kreditoren-Erkennung über die Umsatzsteuer-Ident-Nummer, Bankverbindung etc.

Script

Das Skript wird nach der Extraktion ausgeführt und kann den Inhalt (oder andere Feld-Inhalte) des Feldes modifizieren. Bei den Feldtypen Identifier und Splitter dient das Skript als mögliche Gültigkeitsprüfung.

Weitere Informationen zum Feldskripting erhalten Sie im Abschnitt XTRACT Scripting.