複数の静的テキスト値を設定します。類似の値のある静的テキストを検索
文書のすべてまたは大部分の画像にある文書、表、フィールド、またはテキストのさまざまなタイトルを検出するために、FlexiLayout Studioでは特殊な静的テキスト要素が使用されます。同じFlexiLayoutで処理する異なる画像に同じ名前の異なるバリエーションがある(例えば、フィールド「請求書番号」に「請求書」、「請求書:」、「請求書No.」などのバリエーションがある)場合、違いが句読点だけだったとしても、可能なすべての静的テキスト値を指定する必要があります。
これは、以下の理由により必要です:
- 指定された値に対応する仮説を生成するため。例えば、バリエーション「請求書:」を指定せずにバリエーション「請求書」のみを指定する場合、コロンはフィールド名の仮説には含まれません。名前の右で検索される請求書番号の検索領域に含められるかもしれません。数字の検索で数字以外の文字または指定されていない文字が許容されている場合、その列は請求書番号を記述する要素の仮説に入ります。
- テキストを検索ウィンドウで指定されていない文字の仮説へのペナルティを回避するため。例えば、値「請求書:」がテキストを検索セクションで指定され、名前「請求書#」も処理された画像にある場合、要素でエラーが許容されていることを条件に、仮説は生成されますが、その質にはペナルティが科されます(この例ではFlexiLayoutは少なくとも1エラーを許容)。
- 「請求書|請求書:」のような仮説のバリエーションが使用できる場合、長い仮説が若干品質の高い仮説に割り当てられるため、仮説「請求書:」が好ましいです。「:」のバリエーションが指定されている場合、「:」のないものには0.001のペナルティが課されます。文字列「請求書」は「請求書:」のサブ文字列であるためです。他のサブ文字列である短い名前文字列にペナルティを科すと、長い仮説が勝者になります。
静的テキスト要素の値を指定することが、いかにして「請求書番号」フィールドとフィールド自体の名前を検出するのに役立つかを見るために、サンプルプロジェクトStaticText.fspを使ってみましょう(フォルダ%public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Variants of StaticText)。
プロジェクトには5ページあります:
- ページ1 - フィールド「請求書番号」の名前は「請求書」;
- ページ2 – フィールド「請求書番号」の名前は「請求書:」;
- ページ3 - フィールド「請求書番号」の名前は「請求書#:」;
- ページ4 – フィールド「請求書番号」の名前は「請求書-」;
- ページ5 – フィールド「請求書番号」の名前は「請求書:」であるもののページには単語「請求書」の存在するフィールド「請求日」もあり。
名前InvoiceHeaderの静的テキスト要素のプロパティダイアログボックスで、処理された文書にありそうなフィールドの名前をすべて指定しました。この場合、これらは上記の値です。名前の大文字小文字は検索目的には無関係です:Invoice|Invoice:|Invoice#:|Invoice-.
注意:要素の検索を迅速にするために、すべてのバリエーションはスペースなしで書かれます。スペースの有無は、仮説の質には影響しません。
わかりやすいように、請求書番号は常に名前の右にあるとします。請求書番号を検索するために、名前InvoiceNumberの文字列要素が作成されています。そのアルファベットおよび検索制限は、関係フィールドで指定されます。これらの設定は簡単なので、ここでは触れません。プロジェクトで調べることができます。
テキストブロック請求書がFlexiLayoutツリーに作成されました。要素InvoiceNumberはブロックのソース要素として指定されています。
分析手順を実行した後、フィールド名と請求書番号はすべてのページで正常に検出されます。
すべての静的テキスト値を一時的に削除してみましょう。最初にInvoiceHeader要素から(請求書)を削除しましょう。次にFlexiLayoutをすべてのページと再び合致させてみましょう。名前と請求書番号がページ1でのみ正常に検出されたことがわかります。名前が指定された値(請求書)と完全に合致するためです。ページ2-4では、名前の一部が請求書番号になっています。ページ5では、番号フィールドの場所を特定する際にエラーが発生しました。
削除された値を復元しましょう。単語請求書が2回発生するページ5の分析結果を見ます。表示の通り、InvoiceHeader要素で5つの仮説が生成されました。最も高い質(連鎖品質 = 1、この場合は検索前品質に等しいです)は名前「請求書」の仮説に割り当てられました。値「請求書」および「請求書d」でも仮説が生成されました。これらの文字列は、一定割合のエラーが許容されている、InvoiceHeader要素で指定された値の派生であるためです。これらの仮説にはペナルティが科された(上記の可能なすべての静的テキスト値のリスト化に対する論拠参照)ため、最終的な質は低くなります。
12.04.2024 18:16:07