メインフィールドの検出

この記事では、インボイスのメインフィールドがどのように検出され、キャプチャされるかについて説明します。

プログラムは、文書定義設定に従ってインボイスのコンテンツを事前認識して処理を開始します:

  • 事前認識モード(非常に高速/高速/バランス保持/徹底的に)は、事前認識のスピード、および結果として取得されるテキストレイヤーの品質を決定します。事前認識モードを指定するには、文書定義エディタで文書定義 →文書定義プロパティ...認識)。
  • 事前認識言語とは、事前認識で使用される言語のことです。事前認識言語を指定するには、文書定義エディタで文書定義→文書定義プロパティ...文書定義設定をクリックしてから編集国と言語グループにあるのでクリックし、目的の言語を選択します。

インボイスが事前認識されると、プログラムはフィールドをキャプチャし始めます。

請求書のフィールドを検出してキャプチャするには、つぎのプログラムを使用することができます:

両方の方法について以下で説明するとともに、アレゴリズムをご紹介します。このアレゴリズムは、これらの両方の方法を使用して得られた結果を組み合わせるか、最良の結果を選択するものです。

FlexiLayoutの使用

部署とベンダー

抽出された値とともに事前定義のベンダー値や部署値の使用

インボイスの発行元に基づいて、インボイスの会社の仕入先または部署を事前できます(スキャンオペレータの名前や、メッセージ送信者のメールアドレス)。

ユーザーは、自動検出前にベンダーや部署を明示的に指定しておくことができます。

そのためには、文書登録パラメータの値fc_Predefined:InvoicePredefinedVendorId(fc_Predefined:InvoicePredefinedBusinessUnitId)を、ID(ID)のエントリーのVendorsまたはBusinessUnitsデータセットに存在するかどうかチェックします。

これを実行しても、ベンダーや部署の自動検出が機能しなくなることはありません。この操作によって、事前定義されたベンダーや部署に加え、信頼値(事前定義された値と画像から抽出された値のマッチの程度)のほか、ベンダーグループや部署グループからのフィールド領域も取得できます。

インボイスヘッダーのフィールドのグループ

フィールドの金額グループ

フィールドの発注グループ

フィールドの明細項目グループ

 

ニューラルネットワークの使用

ニューラルネットワークにみられるおもだった長所のひとつは、自己学習能力です。ニューラルネットワークは、入力データのあいだに存在する複雑な依存関係を検出し、有益なものを複数件、一般化することが可能です。

プログラムには、つぎのフィールドをキャプチャするために使用できる2つのニューラルネットワークが含まれています。

  • InvoiceNumber
  • InvoiceDate
  • 合計
  • ベンダー\名前
  • ベンダー\住所
  • 部署\名称
  • 部署\所在地
  • 発注書\発注書番号
  • 明細項目:
    • 発注書番号
    • 発注日
    • 役職
    • 商品コード
    • 摘要
    • 数量
    • 測定単位
    • 単価
    • 正味金額合計
    • 付加価値税率

最高の精度を得るために、このプログラムではFlexiLayoutとニューラルネットワークの両方を使って、請求書フィールドをキャプチャします。プログラムがニューラルネットワークを使って抽出できなかったフィールドについては、FlexiLayoutで抽出します。ニューラルネットワークとFlexiLayoutの両方でフィールドを抽出できる場合、プログラムは、両方の方法で得られた結果を、データ処理能力を駆使して組み合わせます。結果の組み合わせ方は、フィールドによって異なります(詳しくは「フィールド検出結果の組み合わせ」を参照してください)。

 

ニューラルネットワークの無効化

デフォルトでは、ニューラルネットワークは、文書フィールドをキャプチャする2番めの方法として使用されます。請求書プロジェクト内で請求書以外の文書を処理する必要がある場合、ニューラルネットワークを無効にする必要に迫られる場合があります。これは、ニューラルネットワークが、請求書フィールドをキャプチャするように特別にトレーニングされており、他のタイプの文書ではうまく機能しないことがあるためです。

明細項目グループのニューラルネットワークを無効にするには、つぎのとおりにしてください:

  • 文書定義エディタを開きます。
  • つぎをクリックしてください:文書定義プロパティ...文書定義設定追加フィールドと機能
  • オプションを高度な請求書の明細行無効にしてください。

請求書ヘッダー、ベンダー、部署、発注書グループのニューラルネットワークを無効にするには、つぎのとおりにしてください:

  • 文書定義エディタを開きます。
  • つぎをクリックしてください:文書定義プロパティ...文書定義設定追加フィールドと機能
  • オプションを高度な請求書ヘッダーフィールド無効にしてください。

     

フィールド検出結果の組み合わせ

プログラムがフィールド検出結果を組み合わせる方法、または最良の結果を選択する方法は、フィールドによって異なります。原則として、それぞれのニューラルネットワークで得られた結果が優先されます。データセットにもとづく検索と、特定の顧客の文書向けに作成された正規表現を使用した検索は、例外として、このルールの適用を受けません。

   

請求書ヘッダーフィールドグループ

ニューラルネットワークによって取得された結果は、つぎのフィールドでは常に優先されます。

  • 請求書番号
  • 請求日
  • 合計

   

部署とベンダー

データセットが選択されている場合、デフォルトでは、部署とベンダーはデータセットにもとづいて検出されます。

また、データセットに対応する記録がない場合、ニューラルネットワークを使用してつぎのフィールドが検出される場合があります。

  • 名前
  • 付加価値税登録番号(オーストラリア企業納税登録番号)
  • 住所

データセットが選択されていない場合は、ニューラルネットワークのみが使用されます。

   

発注書フィールドグループ

データセットまたは正規表現によって値が検出されない場合にかぎって、ニューラルネットワークが使用されます。

   

明細項目

明細項目フィールドの場合、ニューラルネットワークで得られた結果が優先されます。ニューラルネットワークが明細項目の表全体を検出した場合、この表がそれ以降の処理に使用されます。それ以外の場合、プログラムはFlexiLayoutによって検出された明細項目を使用します。

ニューラルネットワークでは、各明細項目の「摘要」や「正味金額合計」のフィールドしか検出しなかった場合、FlexiLayoutによって検出されたフィールドで補完されます。

14.01.2021 14:17:22


Please leave your feedback about this article