ABBYY FlexiCaptureでのFlexiLayoutの識別と処理
1つのFlexiCaptureバッチで無制限の「固定」および「柔軟」文書定義を処理できます(「柔軟」文書定義はFlexiLayoutから作成されます)。バッチに複数の柔軟文書定義が含まれている場合、柔軟文書定義の作成で使用されるすべてのFlexiLayoutに同じ事前認識パラメータ(すなわち言語、テキスト種類、モード)があることが望ましいです。この場合、事前認識は1回しか実行されず、事前認識結果は他の文書定義に使用されます。これで処理時間が短くなります。通常、時間の90%が文書定義の合致に費やさるためです。
FlexiCaptureは、バッチのすべての柔軟文書定義で指定された事前認識パラメータの各セットに対し、ページで事前認識を実行します。すべての文書定義に同じ事前認識言語がある場合、事前認識は1回しか実行されず、検出されたオブジェクトは保存され、バッチの他の文書定義で使用されます。文書定義の1つに異なる事前認識言語(またはテキスト種類またはモード)がある場合、FlexiCaptureはページを2回事前認識しなければいけなくなるため、文書定義の合致時間は2倍になります。そのため、事前認識パラメータのセットを最低限に維持することをおすすめします。
事前認識をスキップしてFlexiLayoutの合致を迅速化できる場合もあります。これは、FlexiLayout要素に区切り、バーコード、白ギャップ、区域、オブジェクト収集要素のみが含まれ、すべての白ギャップおよびオブジェクト収集要素が以下の要件の1つを満たしている場合に可能です:
- 要素の検索制限にテキストが指定されていない
- 要素のUseRawTextプロパティがtrue。
固定文書および半構造化文書が1つのバッチ内で処理されると、最初に固定文書定義の合致が試行されます。固定文書定義がその文書と正常に合致すると、FlexiLayoutは適用されません。合致する固定文書定義がないと、FlexiLayoutの間で適切な合致が検索されます。
分類子
分類子は、FlexiLayoutまたはレイアウト代替の選択を自動化するために使用されます。分類子は、FlexiLayout Studioで作成され、FlexiCaptureにインポートされる、特別なプロジェクトです。このプロジェクトでは、文書が属するクラスのツリーのような構造が記述されます。各クラスには、特定の種類の文書を識別する一連の要素が含まれています。分類時、使用されるFlexiLayout(またはレイアウト代替)の名前は、分類された各ページのプロパティに保存されます。分類プロジェクトの詳細は、分類子プロジェクトをご覧ください。
分類子を用いないFlexiLayoutの選択
分類子が使用されていない場合、識別子要素がFlexiLayoutに作成され、FlexiCaptureによる適切なFlexiLayoutの選択がより確実になり、プロセス自体が迅速化されます。ほぼどの種類の要素でも識別子として使用できます。唯一必要なのは、所定の種類の文書すべてで確実に検出されることです。一般的に使われている識別子は、静的テキスト、バーコード、文字列要素です。文書種類の識別に、複数の要素が使用されることもあります。
FlexiLayoutツリーでの識別子要素の位置が高くなるほど、 文書定義の選択が速くなります。
識別子要素を作成する1つの方法は、オプション要素プロパティをクリアにすることです。要素に対応するオブジェクトは、すべての画像に存在しなければいけません。要素によって記述されたオブジェクトが検出されない場合、文書定義は画像と合致しません。
文書を、高度な検索前関係フィールドでDontFind()を使用して、識別することもできます。オプション要素を検索しないよう指示するものです。
柔軟文書定義を識別する別の方法としては、要素仮説の品質プロパティの使用があります。要素の品質を高度な検索後関係フィールドで0に設定すると(対応するコードはQuality:0;)、文書定義の合致に失敗します。要素の品質を0に設定する前に、FlexiLayoutツリーの現在の要素の上にある要素のプロパティを分析する必要があります。
12.04.2024 18:16:07