静的テキストの文字列を検出する必要があり、この field がすべての画像で 1 行しかないことがわかっている場合は、スペースを入れずにテキスト値を入力することをお勧めします。これにより検索が高速になり、見つかった仮説の品質には影響しません。
これは、名前の静的テキストが認識エラーなしで認識されている場合にのみ当てはまります。これは、エラーの最大数 (Static Text 要素では、Max number of errors と Max error percentage という 2 つのパラメーターで設定) が、1 単語あたりのエラー数を意味するためです。したがって、Max number of errors が 1 に設定され、名前が 3 つの単語で構成されていて、Static Text の値がスペースなしで入力されている場合、認識時にプログラムが許容できる誤りは 1 つまでです。スペースなしで入力すると、その名前は実際の単語数に関係なく、プログラムには 1 つの単語として認識されます。しかし、名前の単語をスペースで区切ると、許容されるエラー数またはエラー率は、Search text field に入力した各単語に適用されます。Static Text に認識エラーがある場合、仮説は特定のアルゴリズムに従って減点されるため、スペースありの場合となしの場合で仮説の品質が異なることがあります。
Spaces.fsp プロジェクト (フォルダー %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Spaces in StaticText\Project1) を見ながら、Static Text 要素の扱い方をいくつか学びましょう。
このプロジェクトには 2 つのページがあります。
- ページ 1 – 画像品質は良好です。
- ページ 2 – データ field の名前にノイズがあります。
ここでは、“Please indicate your father’s name here:” という名前に関連するデータ field “Father’s name” を検索します。
このプロジェクトでは、Static Text 型の要素を作成し、NameOfFatherHeader という名前を付けました。その値は、スペースなしの 1 単語 (つまり Pleaseindicateyourfather’snamehere:) として指定しました。名前内の大文字と小文字は区別されません。要素のその他すべてのプロパティは既定値のままにしました。名前内で許容されるエラーの最大数は 10 文字です (テキストを構成する 35 文字の 30%) 。
Match コマンドを選択して FlexiLayout のマッチング手順を実行すると、両方のページで名前が正常に検出されたことがわかります。ただし、ページ 2 では、ドキュメント上のノイズによる認識エラーに対して減点されるため、要素仮説のチェーンの品質は約 0.994 になります。
探している名前の事前認識結果を確認するには、ツールバーの “L” (“Show Recognized Lines”) をクリックし、名前のテキストをポイントします。ページ 2 の field 名の事前認識結果は、“PLEASEINDICATE|OURFATHER’SNAMEHERE:” のようになります。あるいは、Tree of Hypotheses ウィンドウで NameOfFatherHeader 要素の仮説を選択し、Properties-Hypothesis ウィンドウの キーワード 行にマウス ポインターを移動すると、検出された Static Text を表示できます。この場合、事前認識結果と検出されたエラー (ある場合) は、Properties-Hypotheses ウィンドウの下部に表示されます。
データ field “Father’s name” を検出するために、探しているデータ field は 1 行しかなく、その値は Static Text とは異なりドキュメントごとに変化するため、Character String 型の要素を作成しました。この要素には FathersName という名前を付け、Relations セクションでそのプロパティを指定しました。次に、FlexiLayout 内に同じ名前のブロックを作成し、その Region が FathersName 要素の Region と一致するように指定しました (Source element field で FathersName 要素の名前を選択しました) 。
次に、同じ画像で FlexiLayout のマッチングを試しますが、NameOfFatherHeader 要素の値は、スペースで区切った単語として入力します。
このために、Spaces.fsp Project (Spaces in StaticText\Project2 フォルダー) を作成しました。要素 NameOfFatherHeader の値は、Please indicate your father’s name here: のようになります。他のすべての設定は変更していません (Spaces in StaticText\Project1 フォルダーにある Spaces.fsp Project の設定と同一です) 。
Match コマンドを選択して FlexiLayout のマッチング手順を実行すると、両方のページで field 名が正常に検出されていることがわかります。ただし、ページ 2 の NameOfFatherHeader 要素の仮説のチェーンの品質は、元の画像の品質が低く、それに起因する認識エラー 1 件分の減点が入るため、現在は約 0.987 になります。
入力した Static Text の値の Search text field にスペースが含まれている場合、各単語は個別に解析され、許容されるエラーの最大数または割合は各単語に適用されます。そのため、Static Text 仮説の最終的な品質は、これらの個々の単語の品質によって決まります。