メインコンテンツへスキップ
仮説フィルタリングコンテナーは、複数の Deep Learning アクティビティと抽出ルールアクティビティを組み合わせるコンポーネントです。Deep Learning アクティビティの出力は抽出ルールアクティビティに渡され、目的の値を選択するための条件が適用されます。 Deep Learning アクティビティは非常に高精度な field 抽出が可能ですが、状況によってはその出力を制御したい場合があります。そのため、1 つまたは複数の Deep Learning アクティビティを抽出ルールアクティビティと組み合わせ、Deep Learning アクティビティで得られた値に条件を適用できます。 出力の制御は、ニューラルネットワークが単語全体を検出してしまう一方で必要なのはその一部のみである場合や、誤って取り込まれたノイズを除去したい場合に不可欠です。また、住所のような大きな field の一部を特定する際にも有用で、ニューラルネットワークが見落とす可能性のある要素を補完できます。さらに、同じ値が複数回出現する場合には、最適な仮説を選択できます。たとえば、ベンダー名が文書上に複数回印字されている場合、複数の候補の中から最も正確な抽出結果を選択できます。
注記: このテクノロジーはプレビューとして提供されており、今後のバージョンで改善される予定です。

仮説フィルタリングコンテナーの設定

  1. Deep Learning アクティビティのブロックをクリックし、Filter Hypotheses を選択します。新しい仮説フィルタリングコンテナーが作成され、選択した Deep Learning アクティビティがその中に配置されます。
  2. (任意)さらに Deep Learning アクティビティを仮説フィルタリングコンテナーにドラッグします。これにより、2 つ以上の Deep Learning アクティビティの出力を組み合わせて比較できます。たとえば、テキストの field とテーブルを同時に扱う場合、2 つのアクティビティが必要になることがあります。
  3. コンテナーに Extraction Rules アクティビティを追加します。プレースホルダーをクリックして新規アクティビティを作成するか、既存のアクティビティをコンテナーにドラッグします。
  4. Extraction Rules アクティビティを設定します。Deep Learning アクティビティで見つかった各値に対して、Deep Learning 検索要素を追加し、そのプロパティを設定します。1 つの Deep Learning アクティビティのすべての出力 field を一度に追加できます。Deep Learning 検索要素は、検索領域を制限するプロパティや、要素を見つけるための条件をすべてサポートします。
  5. 仮説フィルタリングコンテナーの入力と出力を、ドキュメント処理ワークフロー内の他のブロックに接続します。仮説フィルタリングコンテナーの出力 field は、Extraction Rules アクティビティの出力 field と同一になります。
注: Deep Learning アクティビティの出力の制御をやめる場合は、コンテナー内の任意の場所をクリックし、Don’t Filter Hypotheses を選択します。コンテナーは分解されますが、アクティビティ自体は削除されず、変更後のドキュメント処理ワークフローでも引き続き使用できます。

注: ここで示すのは、Hypothesis Filtering コンテナーの使用例のごく一部にすぎません。この機能を使ってニューラルネットワークの出力を制御し、field の抽出を微調整できる場面は他にも多数あります。どの調整が、扱っている documents に必要かを判断できるのは皆さま自身です。Deep Learning アクティビティの結果に調整が有益となるケースでは、その都度このテクノロジーをぜひお試しください。 以下の例では、同一のサンプル Skill を使用し、2 つの Deep Learning アクティビティの出力を Extraction Rules アクティビティに入力しています。

Skill ワークフロー

AD_HypothesisFiltering_Container
  • Deep Learning アクティビティで Text の field を抽出します。
  • Deep Learning 2 アクティビティでテーブルを抽出します。
  • Hypothesis Filtering コンテナでそれらの結果を選択・統合します。

抽出ルールアクティビティにおける検索要素の構造

AD_HypothesisFiltering_SearchElementTree 各検索要素は対応する Field にマッピングされます。

例 1: Deep Learning アクティビティで見つかった値を修正する

この例では、Deep Learning アクティビティが抽出した文書番号の値が長すぎるため、その値を修正するために新しい検索要素を作成します。 Deep Learning アクティビティで抽出された文書番号の値には、ハイフン以降の部分が含まれています。 AD_HypothesisFiltering_ValueTooLong
  1. 95 の値を修正するために、新しい検索要素を作成します。DocNumber_Corrected という名前のこの検索要素は、95 検索要素の領域内に配置し、文字数を制限する必要があります。
AD_HypothesisFiltering_CorrectedProperties
  1. 新しい要素の検索領域は、要素のコードに次の行を追加して 95 の領域に一致するように制限します。
RestrictSearchArea: 95.Region;
  1. 修正済みの検索要素を、ドキュメント番号を抽出するfieldにマッピングします:
AD_HypothesisFiltering_CorrectedMapping その結果、抽出されたドキュメント番号にはハイフン以降の部分が含まれなくなります: AD_HypothesisFiltering_ValueCorrected

例 2: 複数回検出された値から 1 つを選択する

この例では、Deep Learning アクティビティは伝票番号のすべての出現箇所を検出するように学習されていますが、Skill の最終結果としては伝票番号の field は 1 つだけで十分です。これを実現するため、Document Number field の Allow Multiple Items 設定を無効にし、伝票番号の正しい出現箇所を選択する条件を設定します。
Note: まず ラベル付け済みドキュメント セットを保存 してフォルダーに置くことを推奨します。ある field で Allow Multiple Items 設定を無効にすると、その field の余分な出現箇所はラベリングからすべて削除されます。Deep Learning アクティビティで学習されたモデルは引き続き機能しますが、変更して再学習する場合は元のドキュメント セットを読み込む必要があります。
  1. Document Number field で Allow Multiple Items 設定を無効にします(この設定は Manage Fields をクリックして開きます)。
AD_HypothesisFiltering_NoMultiples
  1. 複数の出現箇所を持つ Document_Number 検索要素は Document Number field にマッピングできません。そのため、Deep Learning アクティビティの伝票番号の出力から新しい Deep Learning 検索要素を作成し、Document Number field にマッピングします。
AD_HypothesisFiltering_MapNoMultiples
  1. Deep Learning アクティビティで見つかった伝票番号の複数の出現箇所をもとに仮説ツリーを構築し、そのうち 1 つだけを Document_Number 検索要素の値として選択します。
AD_HypothesisFiltering_HypTree
  1. 特定の出現箇所を見つけるため、Document_Number 検索要素に条件を追加します(この例では、伝票番号の最上段の出現箇所を選択します)。
AD_HypothesisFiltering_TopmostInstance

例 3: 2 つの Deep Learning アクティビティの出力を組み合わせる

Hypothesis Filtering コンテナを使用すると、2 つ以上の Deep Learning アクティビティの結果を組み合わせ、相互に照合したり、同一アクティビティ内で結果を微調整したりできます。 この例では、テキストの field と表の両方を抽出するように 1 つの Deep Learning アクティビティを学習させることはできないため、2 つの Deep Learning アクティビティが必要でした。 条件として、Company_Address 検索要素は常に Goods_Table 検索要素の上に見つかるよう指定します。これにより、ページ下部に他の住所が印字されている場合でも、正しい住所が検出されます。 AD_HypothesisFiltering_AboveTable