メインコンテンツへスキップ
Extraction Rules アクティビティでは、半構造化ドキュメント上のfieldを検出するためのルールを設定し、そのルールが実際のドキュメントでどのように機能するかを検証できます。これは通常、fieldの位置がドキュメントごとに異なりデータ抽出が難しくなる場合、またはそのようなfieldを検出するための追加情報を提供できる場合に適用します。たとえば、ドキュメント上の他のオブジェクトに対するfieldの相対位置を指定したり、オブジェクトの検索条件を定義する正規表現を用いたりできます。たとえば、請求書番号のfieldは、画像の右側にあるか、または「Order number」「Order #」などの類似キーワードの直下にある可能性がある、という指定が可能です。 また、処理フローに Fast Learning アクティビティを追加し、Online Learning を有効化して実行時のdocumentsを収集することを推奨します。これにより、後で機械学習によって Skill が自動的に再構築されます。

ユースケース

次のような場合に、ドキュメント処理フローに Extraction Rules アクティビティを追加します。
  • ドキュメントセットが十分に標準化されておらず Fast Learning アクティビティでの抽出に適さない、Deep Learning アクティビティの学習に十分なドキュメント数がない、かつドキュメントの構造が既知で形式化できる場合。
  • AI の制御性を高め、Deep Learning および Fast Learning アクティビティの予測結果をドキュメントの field に反映する前に分析したい場合。たとえば、特定のキーワードの近くにあるはずの数値を抽出したい場合、数値に見えない仮説や、そのキーワード付近に位置しない仮説を除外できます。一般に、ルールによる後処理が必要な場合は、Deep Learning および Fast Learning アクティビティの学習データセットを拡充すべきことを示しています。これは、機械学習技術が field のデータ型、典型的な位置、周辺情報を「手探りで」把握して学習できるためです。
  • 再利用したい ABBYY FlexiLayout Studio の FlexiLayout ファイルがある場合。詳細は、Importing FlexiLayouts from ABBYY FlexiLayout Studio を参照してください。
  • ドキュメントに複雑な構造(例: 入れ子のテーブル。これは他のテーブル内の繰り返し構造)を含み、半構造化ドキュメントを対象とする他のアクティビティでは抽出できない場合。

仕組み

Extraction Rules アクティビティは、一連のドキュメントについての形式化された記述であり、データキャプチャ担当者がカスタムルールを用いてドキュメント上のデータ field を特定し、そこから情報を抽出できるようにします。言い換えると、Extraction Rules アクティビティでは、ドキュメント画像に対する field 検索アルゴリズムを指定できます。 field の位置は、他のオブジェクトに対する相対位置で指定することも、絶対座標で指定することもできます。ドキュメント画像上のさまざまなオブジェクトは、検索要素を使用して検出されます。画像上で検出する必要がある各オブジェクトについて、そのオブジェクトの種類(テキスト、画像、バーコードなど)、特性、想定検索領域を完全に記述する対応する要素を作成する必要があります。これらの要素はSearch Elements ツリーを構成し、論理的に接続された構造(任意のネストレベル)で、要素どうしを相対的に検索します。ツリー内の要素の順序は、アクティビティがそれらを検索する順序に直接対応しており、つまり画像との照合時には要素を降順で検索します。要素をグループ化すると検索を最適化でき、独立したサブ階層を作成することもできます。 データを field に抽出するには、その field を検索要素にマッピングします。画像上で要素が見つかった場合、その領域がマッピングされた field の領域になります。 詳細については、Extraction Rules アクティビティの設定を参照してください。

複数の Extraction Rules アクティビティの組み合わせ

複数の Extraction Rules アクティビティを含むワークフロー項目を作成できます。ドキュメントに適用するアクティビティは、ある field の値に応じて選択されます。この field には、分類結果やドキュメントのバリアントを判別するのに役立つその他のデータが含まれる場合があります。指定した値は、対応するアクティビティを選択するための条件として機能します。詳細については、単一のアクティビティ内の複数の Extraction Rules セットを参照してください。