Dieser Artikel beschreibt die Reihenfolge, in der FlexiLayouts mit Dokumenten gematcht werden, und wie Feldregionen ausgewählt werden.
FlexiCapture for Invoices kann beim Matching der Dokumentdefinition mehrere Arten von FlexiLayouts verwenden:
- Ein generisches FlexiLayout, das zur Verarbeitung aller Rechnungen verwendet wird und selbst zwei Untertypen umfassen kann:
- Ein Haupt-FlexiLayout, das zum Erkennen der standardmäßigen vordefinierten Rechnungsfelder verwendet wird. Dieses FlexiLayout wird zusammen mit FlexiCapture for Invoices bereitgestellt und kann nicht geändert werden.
- Ein zusätzliches FlexiLayout, das zum Erkennen benutzerdefinierter Felder und standardmäßiger Rechnungsfelder verwendet wird, deren Erkennungslogik geändert wurde. Dieses FlexiLayout wird vom Benutzer erstellt.
- FlexiLayout-Varianten, die zur Verarbeitung von Rechnungen bestimmter Vendors verwendet werden. FlexiLayout-Varianten können beliebige Felder erkennen, die in der jeweiligen Dokumentdefinition definiert sind. Sie können vom Benutzer erstellt oder von FlexiCapture for Invoices generiert werden, wenn es mit Rechnungen bestimmter Vendors trainiert wird.
Nach dem Matching der Dokumentdefinition mit einer Rechnung erhält das Programm eine Menge von Feldregionen, die aus den verschiedenen in der Dokumentdefinition enthaltenen FlexiLayouts stammen.
Stufe 1: Das generische FlexiLayout abgleichen
Das Haupt-FlexiLayout anwenden
Zunächst wendet das Programm das Haupt-FlexiLayout an. Das Rechnungsbild wird mit den in der Dokumentdefinition angegebenen Vorerkennungsparametern vorerkannt:
- Die Sprachen werden unter Länder und Sprachen auf der Registerkarte Einstellung der Dokumentdefinition im Dialogfeld Eigenschaften der Dokumentdefinition angegeben.
- Der Vorerkennungsmodus (Schnell, Ausgeglichen, Normal oder Präzise) wird auf der Registerkarte FlexiLayout im Dialogfeld Eigenschaften der Dokumentdefinition angegeben.
Durch das Anwenden des Haupt-FlexiLayouts erhält das Programm:
- Die ID des Vendors und die ID des Geschäftsbereichs, sofern erkannt.
- Die Regionen der Standardfelder. Weitere Informationen finden Sie unter Erfasste Felder.
Anwenden des zusätzlichen FlexiLayouts
Als Nächstes wendet das Programm das zusätzliche FlexiLayout an, sofern es im generischen FlexiLayout verfügbar ist.
Das Bild der Rechnung wird mithilfe der im FlexiLayout angegebenen Vorerkennungsparameter (der Sprachen und des Vorerkennungsmodus) vorerkannt. Wir empfehlen, im zusätzlichen FlexiLayout dieselben Vorerkennungsparameter anzugeben wie in der Dokumentdefinition. In diesem Fall verwendet das Programm das Vorerkennungsergebnis, das beim Anwenden des Haupt-FlexiLayouts ermittelt wurde, anstatt die Rechnung ein zweites Mal vorzuerkennen.
Wenn Ihre Rechnungen einige ungewöhnliche Felder enthalten, können Sie im zusätzlichen FlexiLayout andere Vorerkennungsparameter angeben, dies verlangsamt jedoch die Verarbeitung.
Durch das Anwenden des zusätzlichen FlexiLayouts erhält das Programm die Regionen aller im zusätzlichen FlexiLayout definierten Felder. Dabei kann es sich entweder um Standardfelder einer Rechnung handeln, deren Erkennungslogik geändert werden musste, oder um zusätzliche Felder, die im Haupt-FlexiLayout nicht definiert sind.
Als Nächstes erzeugt das Programm das Gesamtergebnis aus der Anwendung des generischen FlexiLayouts. Wenn die Dokumentdefinition ein zusätzliches FlexiLayout enthält, führt das Programm in diesem Schritt die Ergebnisse aus dem Haupt-FlexiLayout mit denen aus dem zusätzlichen FlexiLayout zusammen.
Die Felder werden anhand ihrer Namen identifiziert. Das Ergebnis ist eine Sammlung eindeutiger Felder, die aus dem Haupt- und dem zusätzlichen FlexiLayout abgeleitet sind. Wenn es im Haupt- und im zusätzlichen FlexiLayout Felder mit identischen Namen gibt, verwendet das Programm die Region aus dem zusätzlichen FlexiLayout.
Mit diesem Ansatz können Sie neue Felder definieren oder die Erfassungslogik für beliebige Standardfelder einer Rechnung ändern.
Stufe 2: FlexiLayout-Varianten anwenden
Wenn das Programm den Vendor in Stufe 1 mithilfe des generischen FlexiLayouts erkannt hat und es für diesen Vendor eine FlexiLayout-Variante gibt, wird diese FlexiLayout-Variante in dieser Stufe angewendet.
Es werden die Vorerkennungsparameter aus der Dokumentdefinition verwendet. Das sind dieselben Vorerkennungsparameter, die beim Matching des im generischen FlexiLayout enthaltenen Haupt-FlexiLayouts verwendet wurden. Daher ist keine zusätzliche Vorerkennung erforderlich.
Nach dem Matching der FlexiLayout-Variante mit der Rechnung erhält das Programm die Regionen aller Felder, die in der FlexiLayout-Variante für diesen spezifischen Vendor definiert sind. Wenn eine FlexiLayout-Variante durch Training des Programms mit einer Vielzahl von Rechnungen erstellt wird, enthält sie alle in der Dokumentdefinition definierten Felder. Wenn eine FlexiLayout-Variante manuell erstellt wird, sollten nur die Felder in der Variante verbleiben, deren Erkennung vendor-spezifische Aktionen erfordert.
Stufe 3: Die Ergebnisse zusammenführen
In diesem Schritt werden die Ergebnisse aus dem Matching mit dem generischen FlexiLayout mit den Ergebnissen aus dem Matching mit der FlexiLayout-Variante zusammengeführt.
Wenn die FlexiLayout-Variante durch Training des Programms mit verschiedenen Rechnungen erstellt wurde, enthält sie alle in der Dokumentdefinition definierten Felder. Die Dokumentdefinition speichert Informationen über die Felder, deren Regionen während des Trainings vom Benutzer geändert werden mussten, also über die Felder, die vom generischen FlexiLayout nicht zuverlässig erkannt wurden. Anhand dieser Informationen entscheidet das Programm, welche Feldregionen aus dem generischen FlexiLayout und welche aus der auf die Rechnungen dieses Vendors trainierten FlexiLayout-Variante übernommen werden.
Die Regionen der Amount-Felder werden anders ausgewählt. Beim Anwenden des generischen FlexiLayouts gibt das Programm den Konfidenzwert an, mit dem die Regionen der Amount-Felder erkannt wurden. Wenn die Regionen nicht zuverlässig erkannt werden, muss das Feld Gesamtbetrag verifiziert werden. Wenn es eine auf Rechnungen des angegebenen Vendors trainierte FlexiLayout-Variante gibt und das generische FlexiLayout die Amount-Felder nicht mit einem ausreichenden Konfidenzwert oder überhaupt nicht erkennt, werden die von der FlexiLayout-Variante erkannten Regionen der Amount-Felder verwendet. Sie können das Programm auch so konfigurieren, dass immer die von der FlexiLayout-Variante erkannten Regionen der Amount-Felder verwendet werden. Setzen Sie dazu den Wert des Registrierungsschlüssels HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\DAForms\UseTrainedInvoiceAmounts auf true (standardmäßig ist der Schlüssel auf false gesetzt).
Wenn die FlexiLayout-Variante manuell erstellt wurde, verwendet das Programm die Regionen aller in der FlexiLayout-Variante enthaltenen Felder. Die Regionen der übrigen Felder stammen aus dem Matching mit dem generischen FlexiLayout.
Informationen darüber, welches FlexiLayout zum Erkennen der Region eines Feldes verwendet wurde, werden im Erkennungsprotokoll aufgezeichnet.
Betrachten wir einige der in der Dokumentdefinition definierten Felder.
Nehmen wir zwei Standardfelder für Rechnungen, InvoiceDate und InvoiceNumber, sowie zwei benutzerdefinierte Felder, CustomFieldA und CustomFieldB.
- InvoiceDate und InvoiceNumber sind Standardfelder, und der Erkennungsalgorithmus für diese Felder ist im Haupt-FlexiLayout angegeben, das im generischen FlexiLayout enthalten ist.
- CustomFieldA und CustomFieldB sind benutzerdefinierte Felder, und die Erkennungsalgorithmen für diese Felder sind im zusätzlichen FlexiLayout angegeben, das im generischen FlexiLayout enthalten ist.
Angenommen, der Operator ist mit der Erkennungsqualität der Felder InvoiceDate und CustomFieldB auf Rechnungen eines bestimmten Vendors nicht zufrieden und trainiert das Programm mit Rechnungen dieses Vendors.
Die Feldregionen für Rechnungen dieses Vendors werden wie folgt zusammengeführt:
- InvoiceNumber — Diese Region stammt aus den Ergebnissen des Haupt-FlexiLayout.
- CustomFieldA — Diese Region stammt aus den Ergebnissen des zusätzlichen FlexiLayout.
- InvoiceDate und CustomFieldB — Diese Regionen stammen aus den Ergebnissen der FlexiLayout-Variante, die durch Training des Programms mit Rechnungen dieses Vendors erzeugt wurde.
Bei Rechnungen anderer Vendors werden die Feldregionen wie folgt zusammengeführt:
- InvoiceDate und InvoiceNumber — Diese Regionen stammen aus den Ergebnissen des Haupt-FlexiLayout.
- CustomFieldA und CustomFieldB — Diese Regionen stammen aus den Ergebnissen des zusätzlichen FlexiLayout.