Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > Übersicht tags


agorum core docform training - Elemente und Eigenschaften

Eine Übersicht der ausgelesenen bzw. markierten Elemente wird rechts dargestellt. Per Drag&Drop können die Elemente in der Baumstruktur verschoben und so in Bezug gesetzt werden. Über das Kontextmenü können sie gelöscht oder eine Konstante erstellt werden.

Eine weitere Option ist Auf allen Seiten suchen bei Such-Elementen. Wenn nicht genau feststeht, ob der Text nur auf einer Seite steht, kann so im ganzen Dokument gesucht werden.
Beispielsweise steht in einem Dokument mit mehrere Rechungsseiten nicht definitiv fest, wo der tatsächliche Betrag zur Referenz Gesamt-Brutto zu finden ist.

ACHTUNG: Der Haken ist nur einmalig aktiv, er setzt die nötigen Optionen in den unteren Eigenschaften und erweitert das Suchfeld. Wird später erneut trainiert, so sitzt dieser Haken nicht mehr, die Optionen sind jedoch noch aktiv.

Für jedes Element, das man oben mit der linken Maustaste anklickt, wird unten die entsprechende Eigenschaft eingeblendet. Im nachfolgenden werden die Elemente mitsamt der relevanten Eigenschaften erklärt.

 

Definitionselement 

Die Wurzel des Elementebaums. 

Identifizierungselement 

Ein Identifizierungselement ist gleichzeitig ein Suchelement, da das Dokument nach der Information zur Identifizierung durchsucht wird. Daher stimmen die Eigenschaften überein und werden im folgenden beschrieben. 

Suchelement

 

Suchen

Unter Wert ist die Referenz gemeint, nach welcher gesucht wird. Diese wird (abgesehen vom Identifikationsfeld) vom definierten Dokumenttyp vorgegeben.

Sie können die Genauigkeit, mit welcher der Text erkannt werden soll, einstellen. Durch einen niedrigen Wert erzielen Sie eine Unscharf-Suche. Das bedeutet, dass es Abweichungen bei der Schreibweise der gefundenen Worte geben kann. Diese Suche wird meisten dann verwendet, wenn die Dokumente mit einem schlechten OCR erkannt werden, welcher viele Fehler macht.

Beispiel: Wenn das Suchwort aus 10 Buchstaben besteht und die Genauigkeit auf 80% steht, wird das Wort auch bei 8 erkannten Buchstaben gefunden.

Wird ein Haken bei rückwärts suchen gesetzt, so wird der Text von hinten nach vorne durchsucht.

Ist ein Haken bei ersten Treffer verwenden gesetzt, wird der erste gefundene Treffer zur Referenz ausgelesen.
Dies kann beispielsweise bei der Unscharf-Suche wichtig sein. So wird immer der erste Treffer verwendet, unabhängig davon ob es weitere oder bessere Treffer gibt.

Tipp

Sie können statt einer Textsuche auch eine Regular Expression verwenden. Das ist dann sinnvoll, wenn die Daten schon im Dokument enthalten sind (z.B. durch ein ERP, welches immer eine durchsuchbare PDF erzeugt) und nicht erst über den OCR erkannt werden müssen. Dann können RegExp-Suchen genaue Treffer erzeugen. Es können auch bestimmte Muster gesucht werden. Die Suche können Sie nach Abschluss des Assistenten durch Eintragen in das Feld Wert ändern.

Inhalt

Sie können sich für Text oder Barcode ignorieren entscheiden. Sofern z.B. nur nach einem Barcode gesucht wird, sollte Text ignoriert werden.

Seite(n)

Die Seitenzahlen immer passend zum aktuell vorliegenden Dokument, die Optionen darunter zur Info für docform für weitere Dokumente

Hier können Anfang und Ende der Seiten definiert und in Bezug gesetzt werden. 

Beispiel: In einem Dokument mit 20 Seiten steht das Gesuchte immer auf der vorletzten Seite. Dementsprechend muss ich nicht das ganze Dokument durchsuchen lassen, sondern nur die vorletzte Seite. Daher stelle ich die Seitenzahlen wie folgt ein: 

Anfang

Ende

Jetzt wird nur Seite 19, die Vorletzte, durchsucht und der Suchdurchlauf geht schneller.

Ankerpunkt

Der Ankerpunkt bezieht sich auf eine der Ecken bzw. Seiten der grünen Region. Im Standard ist dies die obere linke Ecke. Bei z.B. rechtsbündigem Text empfiehlt sich eine Änderung des Ankerpunkts.

Position und Größe

Je nach Element kann hier die relative bzw. absolute Definition der Kanten/Breite/Höhe geändert werden.

Ausleseelement

Auslesen

Hier wird der Name des Metadatums angezeigt. Wenn eine Liste von Metadaten für den gewählten Dokumenttyp vordefiniert wurde, kann der gewünschte Inhalt per Drop-Down Menü (grau=bereits trainiert/gefunden) ausgewählt werden.

Für Variablen-Regionen ist ebenfalls das Drop-Down Menü für die Auswahl der Extraktion sichtbar. Durch Anpassung des Datentyps kann die Extraktion optimiert werden.

Des Weiteren können Sie beispielsweise festlegen, mit welcher Mindestqualität der Text erkannt werden soll. Liegt der ermittelte Wert unter dieser Schwelle, wird das Dokument an das Audit gesendet, wo ein User die ausgelesenen Metadaten kontrollieren muss.

Durch Setzen des Hakens bei Tabellenfeld wird das Metadatum als Tabellenfeld markiert. 

Inhalt - "Verarbeiten als"

Achtung

Diese Möglichkeit verlangsamt die Erkennung und sollte nur dort eingesetzt werden, wo es unbedingt notwendig ist.

Unter Verarbeiten als kann zusätzlich ausgewählt werden, ob dieses Feld nochmals vom OCR ausgelesen wird. Es wird dann nur der markierte Bereich an den OCR übergeben und eine zweite Erkennung durchgeführt. Dies ist sinnvoll, wenn das Dokumente eine schlechte Scan-Qualität hat, da der OCR auf einem kleineren Bereich höhere Trefferquoten erzielt.
Es kann auch verwendet werden, wenn Handschrift ausgelesen werden soll, da es dort sinnvoll ist jeden Buchstabe einzeln erkennen zu lassen.

Was kann alles dort eingestellt werden:

Verarbeiten als Suchen nach Beschreibung
Bitte wählen - nicht vorhanden -  Wenn nichts gewählt ist, ist diese Auslesemöglichkeit abgeschaltet.
OCR - nicht vorhanden - Wenn OCR ausgewählt ist, wird der markierte Bereich für dieses "Auslese-Element" nochmals an den OCR gesendet. Dieser prüft den Bereich erneut auf Text.
ACHTUNG: Barcode und Handschrift wird hier ignoriert und nicht ausgelesen.
Barcode Auswahl eines Barcodetyps.
Beispiel:
  • Versuche alle Typen (versucht jeden Type zu erkennen)
  • OR Code
  • ....
Wenn Barcode ausgewählt ist, wird der markierte Bereich für dieses "Auslese-Element" nochmals an den OCR gesendet.Dieser prüft den Bereich erneut auf Barcodes. Es wird der Barcode ausgelesen, der unter "Suchen nach" definiert ist. Wenn dort "Versuche alle Typen" ausgewählt ist, werden alle Barcodetypen gesucht.
Handschrift

Auswahl, was erkannt werden soll:

  • Zeichen A-Z und Nummern 0-9
     
  • Zeichen A-Z
  • Nummern 0-9
Wenn Handschrift ausgewählt ist, wird der markierte Bereich für dieses "Auslese-Element" nochmals an den OCR gesendet. Dieser prüft den Bereich erneut auf Handschrift. Die Handschrifterkennung kann für Buchstaben A-Z (auch a-z) und Zahlen 0-9 oder jeweils separat aufgerufen werden. Was erkannt werden soll, wird unter "Suchen nach" definiert. 

Wenn Sie OCR, Barcode und Handschrift benötigen, müssen Sie drei Elemente definieren, die den selben Bereich ausgewählt haben. Bei jedem Element nehmen Sie die gewünschte Einstellung vor. Danach können Sie diese Einzelelemente, z.B. per js, optional zu einem einzigen neuen Element zusammenfassen.

Konstante

Eine Konstante bedeutet, dass Sie ein Metadatum setzen können, welches nicht ausgelesen, sondern fest vergeben wird. Da Sie dafür den Assistent beenden müssen, empfiehlt es sich, dies am Schluss zu machen.

Bezeichnung Erklärung Beispiel
Name Wenn der Name das Prefix hidden vorangestellt hat, wird dieses Metadatum am Ende nicht auf das Dokument gesetzt, sondern ist ein reines Hilfskonstrukt während der Erkennung.
Der Name kann sowohl ein Metadatum aus dem zugehörigen Dokumenttyp sein, wie auch ein neu eingegebener Wert mit dem Prefix 'hidden_'.
hidden_xy
Wert Hier kann ein einfacher Wert oder ein Javascript eingetragen werden.
Durch eine JS-Engine laufen alle JS der Konstanten im selben Kontext. Dadurch können interne Variablen über mehrere Konstanten hinweg verwendet werden.

Ein Javascript beginnt immer mit js:

 js: (docformdemo_nettoBetrag + docformdemo_mwstBetrag === docformdemo_bruttoBetrag)

Gilt nicht für Extraktoren.

Darf bearbeitet werden: Wenn dieses angehakt ist, kann im Schritt Audit in dieses Feld was eintgetragen werden  
Testen Damit kann ein JS ausgeführt werden und getestet werden ob es läuft.

 

Tipp

Wir empfehlen Ihnen Konstanten, die nicht positionsbezogen sind, gerne auf den ersten Ident zu setzen. Dadurch sehen Sie im Training auf einen Blick, welche Werte nicht ausgelesen werden, sondern fixe, bzw. durch JavaScript errechnete Werte erhalten.

 

Doch achten Sie auf eines! Der ausgewählte Ident, darf NICHT die Option "Darf nicht gefunden werden" besitzen. Dann werden Konstanten nicht ausgewertet und das Feld bleibt im Audit leer.

Positionsankerelement

Hinweis

Nur bei agorum core docform positions enthalten. Bei dieser Art von Training, können die Positionsdaten nicht im Training angezeigt werden, sondern erst wenn dieses durchgeführt wird als Ergebnis.

Position

Zuerst wird der Name der Positions-Definition aus dem Dokumententyp eingetragen. Dieser ist wichtig, da die Positionsdaten zu diesem Feld in ein Array gespeichert werden.

Als Wert kann ein Text oder eine RegExp. eingegeben werden. Im Standard wird aus einer hinterlegten Liste von Expressions ausgewählt und diese angezeigt.

Tipp

Bei komplexen Positionsdaten ist es besser mit mehreren Suchen und Identifizierungen für die Bestimmung der nächsten Position zu arbeiten.

Auf Positionsbereich einschränken bedeutet, dass nur ab dem Positionsbereich gesucht wird. Dieser befindet sich zwischen zwei Positionsankern (nicht 2 verschiedene Elemente Positionsanker, sondern erkannte Positionen) und reicht von der unteren bis zur oberen Kante des jeweiligen Start- und Endankers. Wenn nur eine Position vorhanden ist, hat der Haken keine Wirkung.
Ein Positionsanker beschreibt im Normalfall ein Muster, das immer wiederkehrend auftritt, bis es keine weiteren Positionen mehr gibt. Anhand dieses Musters wird so erkannt, dass es keine weitere Position gibt.

Auf einem Positionsanker kann man ein Kontextmenü per rechte Maustaste öffnen. Dort gibt es die Aktion Positionen, die alle gefundenen Positionen anhand der gewählten Expression anzeigt. Mit dem Klick auf eine Position, kann im Training zu dieser gesprungen werden. Jetzt werden die Positionsfelder gefüllt und angezeigt.

Besteht eine Position aus einem Positionsanker gefolgt von einem oder mehreren Identifizierungselementen, werden die Metadaten bei nicht gültigen Positionen rot markiert.

 

Tipp

Beim Trainieren der Positionen wird die Referenz oft übersprungen, weil diese durch die bereits vorhandene Referenz des Ankers überflüssig ist.

 

Beispiele in JavaScript zu Konstanten und Positionen

Achtung

Im JavaScript kann nur auf bereits definierte Variablen und Metadaten zugegriffen werden.

Ausschnitt einer Rechnung

 

Hier wird ein MwSt-Satz für eine Rechnung mit 1-3 möglichen MwSt-Sätzen vorbereitet. Der MwSt-Satz für A,B oder C steht an einer Stelle der Rechnung und wird dort zuerst ausgelesen. Die nachfolgenden Skripte zeigen die durchzuführenden Schritte.

1.

Name: hidden_pos

Hier werden 2 Variablen initialisiert, die im späteren Training wieder verwendet werden können 
Wert:
----------------
js:
var pos = 0;
var mwst = {
};
----------------

2.

Name: hidden_mwst_A

Hier wird der MwSt-Satz von A belegt
Wert:
----------------
js:
mwst.A=acmf_mwst_A;
----------------

3.

Name: hidden_mwst_B

Hier wird der MwSt-Satz von B belegt
Wert:
----------------
js:
mwst.B=acmf_mwst_B;
----------------

4.

Name: hidden_mwst_C

Hier wird der MwSt-Satz von C belegt
Wert:
----------------
js:
mwst.C=acmf_mwst_C;
----------------

Auf Positionsebene wird nur angegeben, ob MwSt A,B oder C ist. Ausgelesen wird in diesem Falle A,B oder C:

5.

Name: acmf_positionsMwst

Der MwSt-Satz wird als A,B oder C in die Variable "hidden_acmf_positionsMwst" eingelesen und jetzt hier in das eigentliche Metadatum gesetzt, indem er aus der Hilfsvariable ausgelesen wird.
Wert:
----------------
js:
mwst[hidden_acmf_positionsMwst];
----------------

6. Weiter wird auf Positionsebene noch ein Positionszähler erhöht und auf die Positionsnummer gesetzt:

Name: acmf_positionsNummer

Hier wird die Positionsnummer hochgezählt und gesetzt
Wert:
----------------
js:
++pos;
----------------

 

Weiterführendes

agorum core docform - Tabellenfeld

Zurück zur undefined>agorum core docform - Dokumentation