Skip to main content
FlexiCapture for Invoices では、事前定義のデータ型が用意されていない請求書のfieldを抽出できるほか、任意のfieldの抽出方法を変更することもできます。 これを行うには、いくつかの方法があります。 これらのソリューションは、いずれか 1 つだけを利用することも、組み合わせて利用することもできます。たとえば、すべてのベンダーの請求書に適用される追加の Document Definition に新しいfieldを追加し、一部のベンダーの請求書についてはその新しいfieldを認識するようにプログラムを学習させ、他のベンダー向けには FlexiLayout バリアントを作成できます。 複数の FlexiLayout がどのように適用されるかについて詳しくは、異なる FlexiLayout の結果のマージ方法を参照してください。

追加の FlexiLayout の作成

ABBYY FlexiLayout Studio で作成した任意の FlexiLayout は、FlexiCapture for Invoices で追加の FlexiLayout として使用できます。 新しい種類の field を抽出するには、FlexiLayout に一意の名前を持つ新しいブロックを作成し、画像上でそのブロックを見つけるためのロジックを定義します。この FlexiLayout を Document Definition に追加すると、FlexiLayout 内の新しいブロックと同じ名前の新しい field が作成されます。 追加の FlexiLayout 内のブロック名が Document Definition 内の標準 field 名と同じ場合、そのブロックの抽出には追加の FlexiLayout が使用されます。 FlexiLayout を Document Definition に追加するには、次の手順に従います。
1

Document Definitions ダイアログを開く

Project メニューの Document Definitions… をクリックします。
2

Document Definition を編集する

開いたダイアログで Document Definition を選択し、Edit… ボタンをクリックします。
3

Document Definition のプロパティを開く

Document Definition メニューの Document Definition Properties… をクリックします。
4

FlexiLayout タブを開く

開いたダイアログで FlexiLayout タブをクリックします。
5

FlexiLayout をロードする

Additional FlexiLayout オプション グループの Load… ボタンをクリックし、開いたダイアログで FlexiLayout ファイルへのパスを指定します (FlexiLayout ファイルの拡張子は .afl です)。
ABBYY FlexiLayout Studio には、請求書用の追加 FlexiLayout を開発するための機能がいくつかあります。
  • 請求書のベンダーと事業部門の ID を特定し、Document Definition 内のデータセットを参照できます。
  • メインの FlexiLayout が適用された際に検出される可能性がある field を基準として、element の位置を指定できます。
  • XML ファイルを使用して FlexiLayout をパラメーター化できます。これにより、FlexiLayout や Document Definition を編集しなくても、複雑なキーワードの一覧やその他の FlexiLayout パラメーターを保存および編集できます。
ABBYY FlexiLayout Studio の特長の詳細については、追加の FlexiLayouts を作成するための ABBYY FlexiLayout Studio の特長を参照してください。

特定のベンダー向けの FlexiLayout バリアントの作成

FlexiCapture for Invoices では、特定のベンダーの請求書を処理する際に、別の FlexiLayout バリアントを使用できます。この追加の FlexiLayout バリアントは、学習によって自動的に作成できます。バリアントの結果に満足できない場合は、ABBYY FlexiLayout Studio で開いて、field の検索アルゴリズムを手動で変更できます。

学習を有効にして適用する

Document Definition エディターで学習機能を有効にするには、次の手順を実行します。
1

Document Definition の設定を開く

Document Definition Properties… → Document Definition Settings を開きます。
2

追加の field と機能を編集する

Additional Fields and Features グループで Edit… をクリックします。
3

学習を有効にする

Training during invoice processing を選択します。
既存の field と新しい field の両方を学習できます。学習機能を適用するには、次の手順を実行します。
1

請求書を追加する

そのベンダーの請求書を少なくとも 1 つバッチに追加します。
2

認識する

請求書を認識します。
3

ベンダーを確認する

プログラムがベンダーを正しく判定していることを確認します。正しく判定されない場合は、正しいベンダーを手動で指定します。
4

field をマークする

学習させたい field の位置を変更するか、その Region を指定します。
5

学習する

請求書を選択し、Train をクリックします。学習用バッチ が作成されます。
学習は最初の請求書が認識された後に開始されますが、より高い精度を得るには、この field を含むサンプル画像を少なくとも 3 つプログラムに提供する必要があります。

学習用バッチを確認して編集する

Administrator は、Operator 主導の学習の結果として作成された 学習用バッチ を確認し、変更できます。
1

学習用バッチビューを開く

ツールバーの Open Field Extraction Training Batches ボタンをクリックして、学習用バッチビューに切り替えます。学習用バッチには特定のベンダーのサンプルバッチが含まれており、そのベンダー用の FlexiLayout の学習に使用されます。次に、自動学習を使用するか、FlexiLayout バリアントを手動で編集するかを決定します。
  • 自動学習を行う場合は、サンプル請求書をさらに数件バッチに追加し (少なくとも 3 件を推奨) 、field region を指定します。詳しくは、Training done by project administrators を参照してください。
  • FlexiLayout バリアントを手動で編集する場合は、次の手順に進みます。
2

学習済み FlexiLayout をエクスポートする

学習用バッチの画像と、学習時に作成された FlexiLayout を含む FlexiLayout バリアントを ABBYY FlexiLayout Studio にエクスポートします。次のいずれかの操作を行います。
  • Project メニューで Training → Export Trained FlexiLayout… をクリックする、または
  • バッチを右クリックし、ショートカットメニューから Export Trained FlexiLayout… を選択します。
3

FlexiLayout Studio でプロジェクトを開く

ABBYY FlexiLayout Studio で、作成したプロジェクトを開きます。FlexiLayout 内の ブロック は、Document Definition 内の field に対応しています。学習に含まれるすべての ブロック には アイコンが付いており、これは ブロック を抽出するためのアルゴリズムが自動生成されたことを示します。FlexiLayout を変更すると、プログラムはこれらの ブロック を手動で作成されたものと見なします。Document Definition が適用されると、プログラムは field の region をどの FlexiLayout から取得するかを選択する必要があり、手動で作成された ブロック は常に優先されます。詳しくは、How results from different FlexiLayouts are merged を参照してください。そのため、検索アルゴリズムを変更したくない ブロック は削除してください。これらの ブロック はメインの FlexiLayout に引き続き存在するため、Document Definition の適用時にも抽出されます。たとえば、InvoiceDateMyField の ブロック にカスタムアルゴリズムを指定する場合は、これらの ブロック を FlexiLayout に残し、それ以外をすべて削除します。
FlexiLayout に新しい ブロック を追加するだけでは、特定のベンダー用の Document Definition に新しい field を作成することはできません。Document Definition の field に対応していない FlexiLayout バリアント内の ブロック は、そのベンダーの請求書を処理するときにエラーの原因になります。特定のベンダーの請求書から新しい field を抽出するには、まず Document Definition にその field を作成してください (Train a Document Definition for a specific vendor を参照) 。
4

検索アルゴリズムを指定する

ABBYY FlexiLayout Studio の標準ツールを使用して、ブロック を見つけるための検索アルゴリズムを指定します。
5

.afl ファイルにエクスポートする

File メニューの Export… をクリックして、FlexiLayout バリアントを .afl ファイルにエクスポートします。
6

FlexiLayout をインポートする

FlexiCapture で、ツールバーの Open Field Extraction Training Batches ボタンをクリックして、テスト用バッチビューに切り替えます。次に、FlexiLayout をインポートします。次のいずれかの操作を行います。
  • Project メニューで Training → Import FlexiLayout… をクリックする、または
  • バッチを右クリックし、ショートカットメニューで Import FlexiLayout… をクリックします。
前の手順で作成した .afl ファイルへのパスを指定します。
7

サンプル請求書を認識する

ベンダーのサンプル請求書を認識します。処理ログには、ベンダー用の FlexiLayout バリアントからどの field region が選択されたかを示すメッセージが含まれます。
8

結果を確認する

処理済みドキュメントをエディターで開いて確認します。

特定のベンダー向けに Document Definition を学習する

新しい field を作成するには、次の手順を実行します。
1

field を作成する

Document Definition エディターで、Edit → Create Field を選択します (または field 一覧内を右クリックします) 。次に、field の型を選択します。
2

field に名前を付ける

Properties ダイアログで、追加する field の名前を入力し、Can have region オプションを選択します。
さまざまな型の field の設定方法の詳細については、Document Definition fields を参照してください。
指定した名前の新しい field が、データ フォームと field 一覧に表示されます。 次に、この field からデータを取得できるようにプログラムを学習させます。学習はベンダーごとに個別に行われます。詳細については、請求書の取り込み時の学習 を参照してください。