- 認識モード (Fast, Balanced, Normal, or Accurate) は、認識速度と、その結果得られるテキストレイヤーの品質を決定します。認識モードを指定するには、Document Definition Editor で Document Definition → Document Definition Properties… → Recognition をクリックします。
- 認識言語 は、認識に使用する言語です。認識言語を指定するには、Document Definition Editor で Document Definition → Document Definition Properties… → Document Definition Settings をクリックし、次に 国と言語一覧 グループで Edit をクリックして必要な言語を選択します。
Recognition languages in FlexiCapture for Invoices are tied to the country settings. When you add an invoice country to the Countries and Languages group, the corresponding languages automatically appear in the Document Definition settings. Invoice fields are extracted upon recognition.
FlexiLayout の使用
事業部門とベンダー
- Document Definition の設定: IBAN (国際銀行口座番号) 、VATID、NationalVATID の書式、および対応するキーワード。
- データ セット レコードのfields: IBAN (国際銀行口座番号) , VATID, NationalVATID, Name, 住所, 市区町村, 郵便番号。
自動会社検出アルゴリズム
- 一意の会社識別子が入力されていること。 一意の値を持つ列 (VATID、NationalVATID、IBAN) を入力すると、これらの値は各会社に固有であるため、正しく検出される可能性が大幅に高まります。
- 会社レコードに重複がないこと。 重複するレコードがないと、会社を正しく検出できる可能性が高まります。詳しくは、外部データベース内の重複レコードを削除するを参照してください。
- 無関係なレコードが含まれていないこと。 データ セットに古いレコードや無効なレコードが含まれていると、さまざまなフィールド値が偶然似ているために、会社が誤って検出される可能性があります。
- すべての会社レコードで、すべてのfieldが入力されていること。 会社に関する情報は、できるだけ多く指定してください。入力されているfieldが多いほど、会社を正しく検出できる可能性が高くなります。
- 複数値列は、表記の異なる同じ情報を保存するために使用し、まったく別の情報を保存するためには使用しないでください。 たとえば、1 つの会社に複数の住所がある場合は、他のすべてのfieldに同じ情報が含まれていても、住所ごとに個別のレコードが必要です。詳しくは、ベンダーおよび事業部門データベースの準備を参照してください。
1
一意の識別子の検索
次の field は、一意の会社識別子と見なされます。プログラムは、こうした field について画像上で完全一致を検索します。拡張正規表現を使用することで、正規表現に起こり得る認識エラーも考慮させることができます。詳しくは、拡張正規表現を参照してください。検出された値は、次のように正規化されます。
- VATID
- NationalVATID
- IBAN
キーワードと識別子の形式を正しく設定すると、検出品質が大幅に向上します。
ABBYY FlexiCapture for Invoices にはあらかじめ用意された正規表現がありますが、必要に応じて独自に作成することもできます。その場合は、Document Definition Settings タブの 国と言語一覧 グループに移動し、該当する国を選択して Edit… をクリックします。
- 英字は大文字に変換されます。
- スペースと次の文字は削除されます:
.,,,—,/,\\.
DE12345 が OE12345 と認識されることがあります。この場合、検出されたプレフィックス OE は正しいプレフィックス DE に置き換えられます。文書画像で検出された VATID、NationalVATID、IBAN の field は、データ セット を照会するために使用されます。データ セット から取得した VATID、NationalVATID、IBAN 列の値は、画像で検出された値と同じ方法で正規化され、その後、画像で検出された正規化済みの値と照合されます (完全一致を使用) 。2
会社名と住所の検索
文書全体のテキストを使用して、それに最も正確に一致するレコードを検索するクエリが データ セット に送信されます。画像上で検出された Name、Street、ZIP、City の値は、対応する データ セット のレコードの値と照合されます。
可能な限り最適な名前および会社の検索結果を得るには、対応する データ セット の列に値が入力されていることを確認してください。会社名と住所の情報は、VATID、NationalVATID、IBAN を使用して会社を識別できない場合に特に重要です。
3
仮説の形成
前の手順で見つかった会社を使用して、一連の仮説が形成されます。ABBYY FlexiCapture for Invoices はこれらの仮説を評価し、文書画像上の field 値と最も高い信頼性で一致する 5 件のベンダー レコードと 5 件の事業部門レコードを選択します。これらのレコードから 25 個のベンダー–事業部門の組み合わせが作成され、各組み合わせは個別の仮説として扱われます。次に、ニューラル ネットワーク アルゴリズムが仮説を信頼性に基づいて評価し、最も適合するベンダー–BU の組み合わせが最終仮説となり、ベンダーと事業部門の検出結果になります。
ベンダー データベースのみが接続されている場合、ベンダー–BU の組み合わせ評価の品質に悪影響が及ぶ可能性があります。事業部門の検出が不要な場合でも、事業部門データベースを接続することをお勧めします。詳しくは、ベンダー データベースと事業部門データベースの使用を参照してください。
事業部門の数がごく少ない場合 (たとえば 1 つ) 、そのようなデータベースを接続しても評価に大きな影響はありません。ただし、事業部門が誤ってベンダーとして検出されている場合には、検出品質が向上することがあります。
仮説のフィルタリング
- 文書画像と高い信頼性で一致する
- 文書画像と低い信頼性で一致する
InvoiceReader/ShouldFilterUnsureCompanyHypotheses レジストリ フラグを使用します。設定可能な値は次のとおりです。
true— フィルタリングが有効になり、最終仮説は信頼性の高い仮説からのみ選択されます (既定) 。false— フィルタリングが無効になり、最終仮説は信頼性に関係なく、すべての仮説から選択されます。
- ベンダーを検出する場合、信頼性の低い仮説は考慮されません。信頼性の高い仮説がない場合、ベンダーは検出されません。
- 事業部門を検出する場合:
- 少なくとも1つの信頼性の高い仮説が見つかった場合、信頼性の低い仮説は考慮されません。
- 仮説のセットに信頼性の高い仮説が1つも含まれていない場合、フラグの値は無視され、最終仮説は信頼性の低い仮説から選択されます。
- 通常、事業部門のレコード数はベンダーのレコード数より大幅に少なくなります。また、変更頻度もはるかに低いため、最新の状態に保ちやすくなります。そのため、信頼性の高い仮説を検出できた場合は、最終仮説が正しい可能性が高まります。ただし、信頼性の高い仮説が見つからなかった場合でも、事業部門の検出は重要です。これは、検出結果の信頼性を左右する最も重要な要因が、ベンダーとBUのペアの信頼性評価であるためです。
- 通常、ベンダーのレコード数ははるかに多く、ベンダーは請求書上で事業部門よりも自社に関する多くの情報を記載するため、データ セットにはより多くの列が含まれます。また、レコードに古い情報が含まれていることもあるため、信頼性の低い仮説のフィルタリングは、データ セットの品質と検証シナリオの種類の両方に依存します。
信頼性の高い仮説が検出される可能性を高めるには、データ セットを最新の状態に保ち、ベンダーと事業部門に関する情報をできるだけ多く含めてください。
ベンダーと事業部門の検出結果
- Vendors データ セット内のベンダー レコードの識別子
- BusinessUnits データ セット内の事業部門レコードの識別子
Vendors データ セットで Id が BusinessUnitId に依存すると指定されている場合 (Vendors データ セットを参照) 、ベンダー検出の結果には、BusinessUnitId に対応する Id が含まれます。
fc_Predefined:InvoiceIsVendorSuspicious (fc_Predefined:InvoiceIsBusinessUnitSuspicious) が true に設定されます。
ベンダーおよび事業部門の検出結果として、次の field の region が見つかることがあります。
- ベンダーの場合: Name、VatID、NationalVatID、IBAN、Street、Zip、City。
- 事業部門の場合: Name、VatID、Street、Zip、City。
Vendors データ セットに IBAN および VATID の field values がない場合は、銀行情報を検出するのと同じように、キーワードと形式を使って適切な値を検出できます (対応するベンダーが見つかっている場合) 。
任意の field region の検索は、トレーニングまたは additional FlexiLayout の適用によって変更できます (Capturing additional invoice fieldsを参照) 。これはベンダーおよび事業部門の検出には影響しませんが、Document Definition と請求書のマッチング後に、これらの field グループ内の field region の位置へ影響する可能性があります。
プログラムによるベンダーまたは事業部門の検出方法を変更する方法
- データ セット列の正規化 (データ セット内の値の正規化を参照)
- 複数値データ セット列 (データ セット内の複数値列を参照)
事前に設定したベンダー値と事業部門の値を使用する
fc_Predefined:InvoicePredefinedVendorId (fc_Predefined:InvoicePredefinedBusinessUnitId) の値を、Vendors または BusinessUnits データ セット内のエントリの識別子 (Id) に設定します。
これを設定しても、ベンダーまたは事業部門の自動検出は無効になりません。その結果、事前に設定したベンダーまたは事業部門に加えて、信頼度値 (事前に設定した値が画像から抽出された値とどの程度一致しているかを示す値) と、Vendor および Business Unit の field グループに含まれる field の region も取得されます。
請求書ヘッダー field グループ
InvoiceNumber and InvoiceDate
プログラムは、ドキュメントが請求書であることをどのように判断しますか
- InvoiceNumber fieldと InvoiceDate fieldが検出された。
- InvoiceIdentifiers located element のキーワードが検出された (Keywords を参照) 。
- ドキュメント上でベンダーまたは事業部門が検出された。
Amounts field グループ
FlexiCapture for Invoices は、請求書から次の field を抽出します。
Document Definition の情報は、合計金額と税率を見つけるために使用されます。
- ベンダーの国で適用される税率 (国のプロパティの Tax Rates タブで指定できます。詳細は Country and language settings を参照してください) 。
- 税率のキーワード (言語のプロパティの Keywords タブで指定できます。詳細は Keywords を参照してください) 。
- AmountTotalHighConfidenceLabels: Total field の近くにのみ現れるキーワード。たとえば、「Pay this amount.」などです。
- AmountTotalLowConfidenceLabels: Total field の近くに現れることがありますが、他の field の近くにも現れる可能性があるキーワード。たとえば、キーワード「Total」は Total field の近くに現れることがありますが、請求書上のすべてのアイテムの総重量を含む field の近くに現れることもあります。
- 画像上で同じ行または列に 2 回または 3 回現れる数値。このような数値は、税が指定されていない請求書では Total である可能性があります。
- 同じ列内で、その上にある数値の合計になっている数値。
- ドキュメントの末尾にある、絶対値が最も大きい数値。
購買注文書 field グループ
FlexiCapture for Invoices では、請求書からすべての購買注文書番号と対応する金額を抽出できます。 この機能は既定で無効になっています (購買注文書とのマッチング を参照) 。 購買注文書番号を抽出するには、候補となる購買注文書番号とその金額の一覧を含むデータ セットが必要です (PurchaseOrders data set を参照) 。 購買注文書 field は、次の方法で抽出できます。- 正規表現
- 候補となる購買注文書番号を含むデータ セット (PurchaseOrders data set を参照)
- データ セットの VendorId 列を使用します。この場合、プログラムは請求書のベンダーに対応する購買注文書番号のみを使用します。
- すでに請求書を受領している購買注文書を除外し、まだ請求書を受領していない購買注文書の番号だけを追加します。
明細 field グループ
FlexiCapture for Invoices では、画像から請求書の明細を抽出できます。 請求書の明細の抽出は既定で無効になっています (追加フィールドを参照) 。 プログラムが自動的に抽出するフィールドの一覧については、抽出されたフィールドを参照してください。 FlexiCapture for Invoices は、まず画像内のテーブルを検索します。この検索では、Document Definition のプロパティで各言語に対して指定された列タイトルのキーワードを使用します。請求書の明細の列に対応するキーワードは、アイテムの分類、つまり各明細列の種類を判定するためにも使用されます。 その後、プログラムは検出された列に関する情報と数式を使用して、請求書のテーブル内から明細を見つけます。最後に、明細内で各列に対応するフィールドを検索します。 自動的な明細抽出の品質を向上させるために、学習を使用できます。ニューラル ネットワークの使用
ニューラル ネットワークの主な利点の 1 つは、自己学習できることです。入力データ間の複雑な依存関係を検出し、有用な一般化を行うことができます。 プログラムには、次のフィールドを抽出するために使用できる 2 つのニューラル ネットワークが含まれています。- InvoiceNumber
- InvoiceDate
- Total
Vendor\NameVendor\AddressBusiness Unit\NameBusiness Unit\AddressPurchase Orders\Order Number- LineItems:
- OrderNumber
- OrderDate
- Position
- ArticleNumber
- Description
- Quantity
- Unit of measurement
- Unit Price
- Total Price Netto
- VATPercentage
ニューラル ネットワークを無効にする
1
Document Definition Editor を開く
Document Definition Editor を開きます。
2
追加フィールドと機能を開く
Document Definition Properties… → Document Definition Settings → Additional Fields and Features をクリックします。
3
オプションを無効にする
Thorough extraction of invoice line items オプションを無効にします。
1
Document Definition Editor を開く
Document Definition Editor を開きます。
2
追加フィールドと機能を開く
Document Definition Properties… → Document Definition Settings → Additional Fields and Features をクリックします。
3
オプションを無効にする
Thorough extraction of invoice header fields オプションを無効にします。
field 検出結果の組み合わせ
プログラムが field 検出結果をどのように組み合わせるか、または最適な結果をどのように選択するかは、field によって異なります。一般的には、各ニューラル ネットワークで得られた結果が優先されます。この原則の例外となるのは、データ セットに基づく検索と、特定の顧客文書用に作成された正規表現を使用する検索です。 請求書ヘッダー field グループ 次の field では、ニューラル ネットワークで得られた結果が常に優先されます。- 請求書番号
- 請求日
- 合計金額
- Name
- VATID (ABN)
- 住所
