- 汎用FlexiLayout。これはすべての請求書の処理に使用され、さらに次の2種類のFlexiLayoutに分かれます。
- FlexiLayoutバリアント。これは特定のベンダーの請求書を処理するために使用されます。FlexiLayoutバリアントでは、それぞれのDocument Definitionで定義された任意のフィールドを検出でき、ユーザーが作成することも、FCFORINVOICESが特定のベンダーの請求書を使って学習した際に作成することもできます。
1. 汎用 FlexiLayout のマッチング
A. まず、プログラムはメインのFlexiLayoutを適用します。
事前認識パラメーター
請求書画像は、Document Definition で指定した事前認識パラメーターを使用して事前認識されます。
- 言語は、Document Definition Properties ダイアログの [Settings] タブの [国と言語一覧] で指定します。
- 事前認識モード (高速/ バランス/ 通常/ 高精度) は、Document Definition Properties ダイアログの [FlexiLayout] タブで指定します。
メインの FlexiLayout を適用して得られる結果
- 検出された場合は、ベンダー ID と事業部門 ID
- 標準 field の領域。 (詳細は キャプチャされた field を参照してください。)
事前認識パラメーター
追加のFlexiLayoutの適用によって得られる結果
2. FlexiLayout候補の適用
事前認識パラメーター
FlexiLayout バリアントのマッチング結果
3. 結果のマージ
合計金額 field の領域は、別の方法で選択されます。汎用 FlexiLayout を適用すると、プログラムは 合計金額 field の領域がどの程度の confidence で検出されたかを示します。領域が確実に検出されなかった場合、合計金額 field は Verification が必要になります。指定したベンダーの請求書で学習させた FlexiLayout バリアントが存在し、汎用 FlexiLayout が 合計金額 field を十分な confidence レベルで検出できない、またはまったく検出できない場合は、FlexiLayout バリアントで検出された 合計金額 field の領域が使用されます。また、常に FlexiLayout バリアントで検出された 合計金額 field の領域を使用するようにプログラムを設定することもできます。これを行うには、[HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\DAForms]”UseTrainedInvoiceAmounts” registry key の値を true に設定します (既定値は false です) 。
例
例
Document Definition で定義されている field の一部を例に見てみましょう。2 つの標準請求書 field、InvoiceDate と InvoiceNumber、および 2 つのユーザー定義 field、CustomFieldA と CustomFieldB を考えます。
- InvoiceDate と InvoiceNumber は標準 field であり、これらの field の検出アルゴリズムは、汎用 FlexiLayout に含まれるメイン FlexiLayout で指定されています。
- CustomFieldA と CustomFieldB はユーザー定義 field であり、これらの field の検出アルゴリズムは、汎用 FlexiLayout に含まれる追加の FlexiLayout で指定されています。
- InvoiceNumber - この領域は、メイン FlexiLayout で得られた結果から取得されます
- CustomFieldA - この領域は、追加の FlexiLayout で得られた結果から取得されます
- InvoiceDate と CustomFieldB - これらの領域は、このベンダーの請求書を使ってプログラムを学習させることで生成された FlexiLayout バリアントの結果から取得されます。
- InvoiceDate と InvoiceNumber - これらの領域は、メイン FlexiLayout で得られた結果から取得されます。
- CustomFieldA と CustomFieldB - これらの領域は、追加の FlexiLayout で得られた結果から取得されます。
