FlexiLayout のマッチング結果を結合させる方法

この記事では、FlexiLayouts を文書とマッチングさせる順番とフィールド領域の選択方法について説明します。

ABBYY FlexiCapture for Invoicesは、文書定義のマッチングで複数のタイプの FlexiLayout を使用できます:

  1. 汎用 FlexiLayoutはすべてのインボイスの処理で使用され、2 つのタイプの FlexiLayout を含んでいます:
    1. メイン FlexiLayoutは既にプログラムで定義されている標準インボイスの検出に使用されます。この FlexiLayout はABBYY FlexiCapture for Invoicesとともに提供され、ユーザーが変更することはできません。
    2. 追加 FlexiLayoutは、ユーザー定義フィールドの検出、およびユーザーによって検出アルゴリズムが変更された標準インボイスフィールドの検出に使用されます。この FlexiLayout はユーザーによって作成されます
  2. FlexiLayout バリアントは、特定の種類のインボイス(特定のベンダーからのインボイスなど)を処理するために使用されます。この FlexiLayout は、それぞれの文書定義で定義されるフィールドの検出に使用できます。このFlexiLayoutは、トレーニングの結果としてユーザーやプログラムによって作成されますABBYY FlexiCapture for Invoices特別なベンダーからのインボイス

文書定義をインボイスとマッチングさせた後、プログラムはフィールド領域のセットを取得します。この領域セットは、文書定義に含まれているさまざまな FlexiLayout からのものです。

1. ジェネリック FlexiLayout のマッチング

  1. 最初にプログラムはメイン FlexiLayoutをマッチングさせます。これはジェネリック FlexiLayout の中心部分です。
    事前認識パラメータ
    文書画像は、文書定義で指定されたパラメータを使って事前認識されます:
    • 使用する言語は文書定義設定タブ)で指定します。このタブは、文書定義プロパティダイアログボックス(国と言語
    • 事前認識モード(非常に高速/高速/バランス保持/徹底的に)、FlexiLayoutタブで文書定義プロパティダイアログボックスで選択します。
      メイン FlexiLayout のマッチングで取得される結果
      メイン FlexiLayout をインボイスとマッチングさせた後、プログラムは以下を取得します:
  1. 次にプログラムは、ジェネリック FlexiLayout で使用可能であれば、プログラムが追加 FlexiLayoutにマッチングさせます。
    事前認識パラメータ
    文書画像は、FlexiLayout で指定されたパラメータ(使用される言語と事前認識モード)を使って事前認識されます。追加 FlexiLayout では、文書定義で指定されているものと同じ事前認識パラメータを指定することをお勧めします。それによってプログラムは、事前認識を再度行わずにステップ A で取得した事前認識結果を使用できるようになります。
    通常とは異なるフィールドの処理では、文書定義とは異なる追加 FlexiLayout の事前認識パラメータを指定することもありますが、その場合は処理速度が低下します。
    メイン FlexiLayout のマッチングで取得される結果
    メイン FlexiLayout とインボイスをマッチングさせた後、プログラムは追加 FlexiLayout で定義されているフィールドの領域をすべて取得します。これらは、検出アルゴリズムが変更されなければならなかった標準インボイスか、メイン FlexiLayout で定義されていない追加フィールドです。
  2. 次に、プログラムはジェネリック FlexiLayout のマッチングの集計結果を生成します。
    文書定義に追加 FlexiLayout が含まれている場合、プログラムはメイン FlexiLayout のマッチングで取得した結果と、追加 FlexiLayout のマッチングで取得した結果をこのステップで結合します。
    フィールドは名前によって識別されます。結果は、メイン FlexiLayout と追加 FlexiLayout から派生する固有のフィールドの集合になります。メイン FlexiLayout と追加 FlexiLayout に同じ名前のフィールドがある場合、プログラムは追加 FlexiLayout のマッチングで取得したフィールド領域を使用します。
    このアプローチでは、新しいフィールドを定義したり、標準インボイスフィールドをキャプチャするロジックを変更したりできます。

2. FlexiLayout バリアントのマッチング

ジェネリック FlexiLayout のマッチング後にプログラムがベンダーを検出し(ステップ A)、このベンダーにFlexiLayout バリアントが存在する場合、このステップではこのバリアントをマッチングさせます。

事前認識パラメータ

文書定義の事前認識パラメータが使用されます。これらは、ジェネリック FlexiLayout に含まれているメイン FlexiLayout のマッチング時に使用されたものと同じ事前認識パラメータです。したがって、追加の事前認識は必要ありません。

FlexiLayout バリアントのマッチングで取得される結果

FlexiLayout バリアントとインボイスをマッチングさせた後、プログラムはこの特定ベンダーの FlexiLayout バリアントで定義されているフィールドの領域をすべて取得します。FlexiLayout バリアントがさまざまなインボイスでのトレーニングから取得される場合は、文書定義で定義されたフィールドがすべて含まれることに注意してください。また、FlexiLayout バリアントが手動で作成された場合、検出で特定のベンダー固有のアクションが必要となるバリアントにはこれらのフィールドだけが残されることが必要です。

3. 結果の結合

このステップでは、汎用 FlexiLayoutのマッチングで取得した結果を、FlexiLayout バリアント

FlexiLayout バリアントがさまざまなインボイスでのトレーニングから取得された場合は、文書定義で定義されたフィールドがすべて含まれます。文書定義は、トレーニング中にユーザーが領域を変更しなければならなかったフィールド(ジェネリック FlexiLayout による検出結果が好ましくなかったフィールド)に関する情報を保存します。プログラムは、ジェネリック FlexiLayout から取得するフィールド領域や、この特定ベンダーのインボイスでトレーニングされた FlexiLayout バリアントから取得する領域を決定する際にこの情報を利用します。

注:Amountフィールドの領域を選択する方法は異なります。汎用FlexiLayoutを適用するときは、Amountフィールドの領域を検出した信頼度が指定されます。低い信頼度を検出した領域は、Totalフィールドの確認が必要です。ベンダーの請求書にトレーニング済みのFlexiLayoutバリエーションがあり、かつ汎用FlexiLayoutが十分な信頼度のAmountフィールドを検出できないか、全く検出できない場合は、FlexiLayoutバリエーションで検出したAmountフィールドの領域を使用します。常にFlexiLayoutバリエーションで検出したAmountフィールドの領域を使用する設定もできます。この場合、[HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\DAForms\]”UseTrainedInvoiceAmounts”レジストリキーの値をtrueに設定してください(デフォルトのキーはfalse)。

FlexiLayout バリアントが手動で作成されていれば、プログラムは FlexiLayout バリアントに含まれているすべてのフィールドの領域を使用します。他のフィールドの領域は、ジェネリック FlexiLayout とのマッチングで取得された結果から取得されます。

フィールドの領域の検出で使用された FlexiLayout の情報は、認識ログに記録されます。

14.01.2021 14:17:22


Please leave your feedback about this article