メインコンテンツへスキップ
ABBYY FlexiLayout Studio では、マークアップした fields と Static elements をプログラムに学習させて、FlexiLayouts を作成できます。Static elements とは、同じ種類の文書に現れる要素です。最も一般的な Static elements は静的テキスト (単語、単語の一部、またはテキスト行) で、これ以外には区切り線やバーコードなどがあります。fields とは、そこからテキスト (単語、単語の一部、行、または段落) やバーコードを抽出するために、プログラムが検出する必要のあるブロックです。 この方法で作成した FlexiLayouts は、ABBYY FlexiCapture で使用して、文書画像上の fields を Static elements に対する相対位置に基づいて検出できます。学習を使用して FlexiLayouts を作成する方法は、手動で作成するよりもはるかに簡単な場合があります。 ABBYY FlexiLayout Studio では、複数の代替レイアウト を作成することもできます。代替レイアウトとは、Static elements の設定は異なるものの、同じ一連の fields を共有する FlexiLayout のバージョンです。これらは、学習モードを使って、または FlexiLayout の編集中に学習させることができます。

FlexiLayout の学習時は、次の点に注意してください。

  • プログラムは、学習にトレーニングセット内の画像を使用します。FlexiLayout を生成する前であれば、どの時点でもトレーニングセットに画像を追加できます。トレーニングセットには、少なくとも 3 ページ含まれている必要があります。
  • 編集できるのは、代替レイアウトの Static elements のみです。FlexiLayout のすべての代替レイアウトで、fields は共通です。
  • 代替レイアウトの編集時に、ページに未指定の fields または Static elements が含まれている場合、FlexiLayout はそのページに自動的に適用されます。この方法で検出された新しい fields ブロックは FlexiLayout に追加されますが、既存の fields region は変更されません。
  • 既存の FlexiLayout にブロックを追加しても、それらのブロックは学習モードには表示されません。これらのブロックは、FlexiLayout のショートカットメニューにある Initialize Fields By Blocks コマンドを使用して作成できます。

学習モードでの FlexiLayout の作成

学習を使用して FlexiLayout を作成するには、次の手順に従います。
  1. 新しいプロジェクトを作成するか、すでに FlexiLayout を含む既存のプロジェクトを開きます。
  2. ボタンをクリックするか、Training メニューから Training Mode を選択して、学習モードに切り替えます。
  3. Batch ペインで、次の操作を行います。
  4. 画像を事前認識します (すべての画像を選択し、右クリックしてショートカットメニューの Pre-Recognize をクリックするか、Batch メニューを開いて Pre-Recognize をクリックします) 。
  5. 任意の画像をダブルクリックして開きます。認識結果を確認し、FlexiLayout の学習に使用する fields と Static elements を指定します。
  6. Training ウィンドウで、次の操作を行います。
  7. Reference Alternative ドロップダウンリストから代替レイアウトを選択するか、新しく作成します。
  8. 参照要素を自動的に生成する場合は、Auto references オプションを有効のままにします。このオプションが無効な場合は、参照要素を指定する必要があります。
  • Auto references オプションが無効な場合、自動生成された参照要素は Static elements リストに追加され、その位置がページ上に表示されます。不要な要素は削除でき、新しい要素を追加することもできます。Auto references オプションが有効な場合は、手動で追加した要素は削除されます。
    • Training ウィンドウの内容は、Auto references オプションが有効か無効かによって異なります。無効な場合、Training ウィンドウには 2 つの領域 (fields の一覧を含む Fields 領域と、静的要素の一覧を含む Static elements 領域) が表示されます。Auto references オプションが有効な場合、Training ウィンドウには Fields 領域のみが表示されます。
  1. Image ウィンドウのページ上で、fields と静的要素の領域をマークします。
    • Create Block ツールを使用して、画像上でブロックの領域をマークします。マークしたブロックの名前が Fields リストに表示されます。
    • Create Element ツールを使用して、静的要素の領域をマークします。マークした要素の名前は に表示されます。
  • プログラムは、マークした fields や要素の近くにある認識されたテキストを使用して、それらの名前を生成します。これらの名前は、ページ上で fields または要素の領域が検出されると太字で表示されます。
    • Create Block ツールと Create Element ツールは、Reference Layout または Difference Layout の表示時に使用できますが、Create Element ツールは参照要素を手動で作成する場合にのみ使用できます。
  • 画像上で fields や静的要素をマークするには、ショートカットメニューのコマンドも使用できます。Draw Location ツールを使用して fields または要素をマークし、マークした領域を右クリックして、ショートカットメニューから目的のコマンドをクリックします。
  1. fields と Static elements のマーキングが完了したら、Batch ウィンドウの Used For Training 列でページを選択し、トレーニングセットに追加します。
  2. 画像のショートカットメニューで Predict Draft Layout をクリックします。
  3. バッチ内のすべての画像で fields と要素が正しく検出されているかを確認し、必要に応じてマークアップを修正します。プログラムが fields または要素を検出できなかったページは、すべてトレーニングセットに追加します。 ページ上に存在しない要素は、そのようにマークできます。これを行うには、要素のショートカットメニューで Not Present をクリックするか、 ボタンをクリックするか、画像上の要素の領域でマウスの中央ボタンをクリックします。存在しないものとしてマークされた要素の名前は、取り消し線付きで表示されます。 ページの状態は、Training Layout State 列のアイコンで示されます。
    • 要素がマークされていません ページ上で fields または参照要素がまったくマークされていないことを示します。
    • 未マークの要素があります ページ上で一部の fields や参照要素がマークされていないか、未マークの要素の一部が存在しないものとしてマークされていません。
    • 未マークの必須要素があります 必須要素がページ上でマークされていません。
    • すべての要素がマークされています すべての要素がページ上でマークされているか、存在しないものとしてマークされています。
    • 参照クラスが設定されていません トレーニングページの参照クラスが指定されていません。
  4. ボタンをクリックして、代替レイアウトを生成します。プロジェクトで複数の参照代替が使用されている場合は、更新する代替レイアウトを指定します。

デバッグ中の FlexiLayout の学習

ABBYY FlexiCapture 12 では、デバッグ中に FlexiLayout を学習させることができます。これを行うには、代替レイアウトのコンテキストメニューTrain Alternative コマンドを使用します。新しい代替レイアウトの生成には Reference layout が使用され、参照要素は自動的に作成されます。Train and Test Alternative コマンドでは、新しい代替レイアウトを学習し、そのクラスのすべてのページに適用します。

学習モードのオプション

Options… ダイアログの Training タブには、学習に関する設定があります。 Navigation グループの設定では、 または ボタンをクリックしたときのページ移動方法を指定します。
  • マークされていない任意の要素
マークされていない要素を含むページを順に切り替えます。これはデフォルト設定です。
  • マークされていない選択中の要素
現在選択されている未マークの要素を含むページを順に切り替えます。 Draft layout prediction グループには、学習中に代替レイアウトをどのように適用するかを指定する設定があります。
  • 移動時にレイアウトを自動予測する ( ボタン)
別のページに切り替えると、下書きレイアウトが自動的に適用されます。
  • バッチ予測時に既存の fields の領域を置き換える
代替レイアウトの適用時に検出されたブロックで、既存の fields と要素のブロックを置き換えます。 Template generation グループには、オプションが 1 つあります。
  • Create Identifiers on Generation は、学習中の代替レイアウトの識別子を自動的に作成します (詳しくは、この記事の Identifiers セクションを参照してください) 。

識別子

識別子とは、文書を特定の種類に分類する際に使用できる、その文書特有の特徴です。識別子の例としては、特徴的な単語やフレーズ、特定のバーコード値、区切り線などがあります。 代替レイアウトを学習すると、プログラムは、その代替レイアウトに属する文書によく現れ、他の種類の文書には現れない単語のセットを作成します。 代替レイアウトの識別子は、Identifiers グループに保存されます。このグループは必須としてマークされています。このグループには静的テキスト型の要素のリストが含まれており、各要素には、その代替レイアウトに属する文書にのみ現れる単語が格納されます。識別子グループ間のリレーションは作成できません。
ボタン説明
学習モードを有効/無効にします。
fields を作成し、その領域をマークします。
要素を作成し、その領域をマークします。
領域を描画します。
既存の領域を編集します。
領域を削除します。
トレーニングセットのページを使用して代替レイアウトを作成します。
FlexiLayout 内の既存の領域に基づいて fields を自動的に生成します。
選択した要素を、そのページには存在しないものとしてマークします。
要素を必須としてマークします。