メインコンテンツへスキップ
FCFORINVOICES では、事前定義のデータ型が用意されていない請求書のfieldを抽出できるほか、任意のfieldの抽出方法を変更することもできます。 これを行うには、いくつかの方法があります。
方法説明
追加の FlexiLayout を作成する追加の FlexiLayout を使用すると、事前定義のデータ型が用意されていないfieldを抽出できるほか、任意のベンダーの請求書から標準fieldを抽出する方法を変更することもできます。
特定のベンダー向けの FlexiLayout を作成するベンダー固有の FlexiLayout を使用すると、事前定義のデータ型が用意されていないfieldを抽出できるほか、特定のベンダーの請求書から標準fieldを抽出する方法を変更することもできます。
特定のベンダー向けの Document Definition を学習させる特定のベンダーの請求書用に Document Definition を作成すると、そのベンダーの請求書からfieldを抽出できるようにプログラムを学習させることができます。
これらのソリューションは、いずれか 1 つだけを利用することも、組み合わせて利用することもできます。たとえば、すべてのベンダーの請求書に適用される追加の Document Definition に新しいfieldを追加し、その後、一部のベンダーの請求書についてはその新しいfieldを認識するようにプログラムを学習させ、他のベンダー向けには FlexiLayout バリアントを作成できます。 複数の FlexiLayout がどのように適用されるかについて詳しくは、FlexiLayout のマッチング結果のマージ方法を参照してください。

追加の FlexiLayout の作成

ABBYY FlexiLayout Studio で作成した任意の FlexiLayout は、FCFORINVOICES で追加の FlexiLayout として使用できます。 新しい種類の field を抽出するには、FlexiLayout に一意の名前を持つ新しいブロックを作成し、画像上でそのブロックを見つけるためのロジックを定義します。この FlexiLayout を Document Definition に追加すると、FlexiLayout 内の新しいブロックと同じ名前の新しい field が作成されます。 追加の FlexiLayout 内のブロック名が Document Definition 内の標準 field 名と同じ場合、そのブロックの抽出には追加の FlexiLayout が使用されます。 FlexiLayout を Document Definition に追加するには、次の手順に従います。
  1. Project メニューの Document Definitions… をクリックします。
  2. 開いたダイアログで Document Definition を選択し、Edit… ボタンをクリックします。
  3. Document Definition メニューの Document Definition Properties… をクリックします。
  4. 開いたダイアログで FlexiLayout タブをクリックします。
  5. 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 バリアントの作成

FCFORINVOICES では、特定のベンダーの請求書を処理する際に、別の FlexiLayout バリアントを使用できます。この追加の FlexiLayout バリアントは、学習によって自動的に作成できます。バリアントの結果に満足できない場合は、ABBYY FlexiLayout Studio で開いて、field の検索アルゴリズムを手動で変更できます。
学習機能を有効にするには、Document Definition エディターで次の手順を実行します。Document Definition Properties…**→**Document Definition Settings の順に選択し、Additional Fields and Features の Edit… をクリックして、Training during invoice processing を選択します。既存のfieldと新しいfieldの両方を学習させることができます。学習機能を使用するには、次の手順を実行してください。
  • バッチに、そのベンダーの請求書を少なくとも1つ追加します。
    • 認識します。
    • プログラムがベンダーを正しく判定していることを確認します。正しく判定されない場合は、正しいベンダーを手動で指定します。
    • 学習するfieldの位置を変更するか、その領域を指定します。
    • 請求書を選択して Train をクリックします。学習バッチ が作成されます。
注意: 最初の認識済み請求書の後に学習が開始されます。ただし、より高い精度を得るには、このfieldを含む少なくとも3つのサンプル画像をプログラムに提供する必要があります。Administratorは、Operatorによる学習の結果として作成されたTraining batchを確認、表示、および変更できます。手順は次のとおりです。
  1. ツールバーのOpen Field Extraction Training Batchesボタンをクリックして、学習バッチビューに切り替えます。学習バッチには特定のベンダーのサンプルバッチが含まれており、そのベンダー用のFlexiLayoutを学習させるために使用されます。次に、自動学習を使用するか、FlexiLayoutのバリアントを手動で編集するかを選択します。
    • 自動学習を使用する場合は、請求書サンプルをさらにいくつかバッチに追加し (少なくとも3件の追加を推奨します) 、フィールド領域を指定します。サンプルバッチでの学習について詳しくは、プロジェクト設定権限を持つユーザーによる学習.
    • すぐに FlexiLayout バリアントの手動編集を開始する場合は、次のステップに進んでください。
  2. 学習バッチ内の画像と、学習時に作成された FlexiLayout を含む FlexiLayout 候補を ABBYY FlexiLayout Studio にエクスポートします:
    • Project メニューの Training → Export Trained FlexiLayout… をクリックします。 または
    • バッチを右クリックし、バッチのショートカットメニューから Export Trained FlexiLayout… を選択します。
  3. ABBYY FlexiLayout Studio で作成したプロジェクトを開きます。 FlexiLayout 内のブロックは、Document Definition 内の field に対応しています。学習に使用されたブロックにはすべてアイコンが付いています。このアイコンは、そのブロックを抽出するアルゴリズムが自動生成されたことを示します。 FlexiLayout を変更すると、プログラムはこれらのブロックを手動で作成されたものと見なすようになります。Document Definition が適用されると、プログラムはどの FlexiLayout から field の領域を取得するかを選択する必要があります (詳細は、FlexiLayout のマッチング結果がどのようにマージされるかを参照してください) 。手動で作成されたブロックは、常に優先順位が高くなります。 そのため、検索アルゴリズムを変更したくないブロックは削除する必要があります。これらのブロックは引き続きメインの FlexiLayout に存在するため、Document Definition の適用時にも抽出されます。たとえば、InvoiceDate ブロックと MyField ブロックにカスタムアルゴリズムを指定したい場合は、これらのブロックは FlexiLayout に残し、それ以外のブロックはすべて削除してください。 注: FlexiLayout に新しいブロックを追加するだけで、特定のベンダー用の Document Definition に新しい field を作成することはできません。Document Definition 内の field に対応しない FlexiLayout バリアント内のブロックがあると、そのベンダーの請求書を処理するときにエラーになります。特定のベンダーの請求書から新しい field を抽出する必要がある場合は、まず Document Definition にその field を作成してください (手順 1 を参照) 。
  4. ABBYY FlexiLayout Studioの標準ツールでブロックを検出する際に使用する検索アルゴリズムを指定します。
  5. FlexiLayout バリアントを *.afl ファイルとしてエクスポートするには、File メニューの Export… をクリックします。
  6. FC で、ツールバーの Open Field Extraction Training Batches ボタンをクリックして、テスト用バッチビューに切り替えます。次に、FlexiLayout をインポートします。
    • Project メニューで Training → Import FlexiLayout… をクリックします。 または
    • バッチを右クリックし、ショートカット メニューで Import FlexiLayout… をクリックします。
前のステップで作成した *.afl ファイルへのパスを指定します。
  1. ベンダーの請求書サンプルを認識します。 この操作のログには、ベンダー向けの FlexiLayout バリアントでどの field region が選択されたかを示すメッセージが含まれます。
  2. Editor で開いて、処理済みの文書を確認します。

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

新しい field を作成するには、次の手順を実行します。
  1. Document Definition エディターで、Edit → Create Field を選択します (または field 一覧内を右クリックします) 。次に、field の型を選択します。
  2. Properties ダイアログで、追加する field の名前を入力し、Can have region オプションを選択します。
さまざまな型の field の設定方法の詳細については、Document Definition fields を参照してください。
指定した名前の新しい field が、データ フォームと field 一覧に表示されます。 次に、この field からデータを取得できるようにプログラムを学習させる必要があります。 学習はベンダーごとに個別に行われることに注意してください。詳細については、請求書の取り込み時の学習 を参照してください。