Warum jede Variante von statischem Text aufgeführt werden muss
Dies ist aus den folgenden Gründen notwendig:- Um eine Hypothese zu erzeugen, die dem angegebenen Wert entspricht. Wenn Sie zum Beispiel die Variante Invoice: nicht angeben, sondern nur die Variante Invoice, wird der Doppelpunkt nicht in die Hypothese für die Feldbezeichnung aufgenommen. Er kann dann in den Suchbereich der Rechnungsnummer geraten, nach der rechts vom Namen gesucht wird. Wenn die Suche nach der Nummer Nicht-Ziffern oder nicht angegebene Zeichen zulässt, kann der Doppelpunkt in die Hypothese des Elements gelangen, das die Rechnungsnummer beschreibt.
- Um zu vermeiden, dass eine Hypothese für Zeichen abgestraft wird, die im Fenster Search text nicht angegeben sind. Wenn zum Beispiel der Wert Invoice: im Abschnitt Search text angegeben ist und auf den verarbeiteten Bildern auch die Bezeichnung Invoice# vorkommt, wird dennoch eine Hypothese erzeugt, sofern für das Element einige Fehler zulässig sind, aber ihre Quality wird herabgesetzt (in diesem Beispiel erlaubt das FlexiLayout mindestens einen Fehler).
- Wenn Variantenhypothesen verfügbar sind, zum Beispiel Invoice|Invoice:, weist FlexiLayout Studio der längeren Hypothese eine etwas höhere Quality zu, sodass die Hypothese Invoice: bevorzugt wird. Wenn eine Variante mit einem Doppelpunkt angegeben ist, wird die Variante ohne Doppelpunkt mit 0.001 abgestraft, weil die Zeichenkette Invoice eine Teilzeichenkette von Invoice: ist. Durch das Abwerten der kürzeren Namenszeichenkette, die eine Teilzeichenkette der anderen ist, wird die längere Hypothese zum Gewinner.
Das Beispielprojekt StaticText.fsp
Das BeispielprojektStaticText.fsp (Ordner %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Variants of StaticText) zeigt, wie die Angabe der Werte eines Static Text-Elements dabei hilft, die Feldbezeichnung Rechnungsnummer und das Feld selbst zu erkennen.
Das Projekt hat fünf Seiten, die jeweils eine Variante der Feldbezeichnung Rechnungsnummer zeigen.
Alle Namensvarianten im Element InvoiceHeader angeben
Im Dialogfeld Eigenschaften des Static Text-Elements mit dem Namen InvoiceHeader sind alle möglichen Bezeichnungen für das Feld angegeben, die in den verarbeiteten Dokumenten gefunden werden können, in diesem Fall die zuvor aufgeführten Werte. Die Groß-/Kleinschreibung in den Bezeichnungen ist für die Suche irrelevant: Invoice|Invoice:|Invoice#:|Invoice-.Um die Suche nach dem Element zu beschleunigen, werden alle Varianten ohne Leerzeichen geschrieben. Das Fehlen oder Vorhandensein von Leerzeichen beeinflusst die Quality einer Hypothese nicht.
Alle Werte außer Invoice entfernen und erneut abgleichen
Versuchen Sie nun, vorübergehend alle Static Text-Werte bis auf den ersten (Invoice) aus dem Element InvoiceHeader zu entfernen, und versuchen Sie dann erneut, das FlexiLayout mit allen Seiten abzugleichen. Sie werden sehen, dass die Bezeichnung und die Rechnungsnummer nur auf Seite 1 erfolgreich erkannt wurden, da die Bezeichnung dort vollständig mit dem angegebenen Wert (Invoice) übereinstimmt. Auf den Seiten 2–4 ist ein Teil der Bezeichnung in die Rechnungsnummer geraten. Auf Seite 5 gab es einen Fehler beim Lokalisieren des Zahlenfelds.
Stellen Sie die Werte wieder her und vergleichen Sie die Hypothesen auf Seite 5
Stellen Sie nun die entfernten Werte wieder her und betrachten Sie die Analyseergebnisse auf Seite 5, wo das Wort Invoice zweimal vorkommt. Wie Sie sehen, hat FlexiLayout Studio fünf Hypothesen für das Element InvoiceHeader erzeugt. Die höchste Quality (Chain quality = 1, was in diesem Fall der Pre-search quality entspricht) wird der Hypothese für die Bezeichnung Invoice: zugewiesen. Hypothesen wurden auch für die Werte Invoice und Invoice d erzeugt, da diese Zeichenfolgen von den für das Element InvoiceHeader angegebenen Werten abgeleitet sind und dabei ein bestimmter Fehlerprozentsatz zulässig ist. Diese Hypothesen wurden aus den weiter oben auf dieser Seite beschriebenen Gründen abgewertet, daher ist ihre endgültige Quality geringer.
