| プロパティ | 説明 |
|---|---|
| 要素名 | 要素の完全な名前。 |
| ページ | 要素が検出されたページ番号。 |
| 周囲の矩形 | 仮説の Region を囲む矩形の座標。 |
| Width | 仮説の Region の幅。 |
| Height | 仮説の Region の高さ。 |
| Text | 仮説内の文字。 |
| 検出 | 要素で記述された object が見つかったか (true) 、またはヌル仮説が作成されたか (false) を示します。 |
| 最適経路 | 見つかった仮説が tree of hypotheses の best path に属しているか (true) 、属していないか (false) を示します。 |
| Pre-search quality | Properties ダイアログの設定および Advanced pre-search relations field のコードで指定された要素のプロパティに、仮説がどの程度一致しているか。 |
| Post-search quality | Advanced post-search relations field の条件が適用された後の仮説の品質。 |
| チェーンの品質 | グループの最初の subelement から現在の subelement までの仮説チェーンの品質。チェーンの品質は、チェーン内のすべての subelement の品質を乗算して計算され、競合する仮説チェーンを比較するために使用されます。 |
How hypotheses are generated and assessed
Character String 要素の仮説
Character String の仮説では、行がアルファベットのフラグメントに分割されます。埋め込み仮説の仕組み、品質の評価方法、およびプロパティの完全なリファレンスを確認してください。
要素のプロパティで正規表現が指定されている場合、プログラムは検索範囲内で、その正規表現の条件に一致する文字列を探します。正規表現が指定されていない場合、プログラムはユーザー定義のアルファベットを使用します。
プログラムは、検索範囲と水平方向に交差するすべての text object を対象とします (垂直方向では、object 全体が完全に検索範囲内に収まっている必要があります) 。その後、text object は行にグループ化されます。行は左から右に向かって構成されます。空白の最大長 (Max space length プロパティで設定) を超えると、その行の構成はそこで終了します。
生成された行の中で、プログラムは文字列を特定します。それぞれの文字列には、ユーザー定義のアルファベットのいずれか 1 つに属する文字だけが含まれます。同様に、プログラムは行をフラグメントに分割します。
次に、プログラムは各フラグメントに対して仮説を作成します。Allow embedded hypotheses オプションが選択されているかどうかによって、仮説は 2 つの異なる原則に基づいて作成されます。
前の段階でプログラムが 3 つのフラグメントを検出したとします。Allow embedded hypotheses オプションが選択されている場合、仮説は次のように作成されます。
仮説 1: フラグメント 1
仮説 2: フラグメント 1 + フラグメント 2
仮説 3: フラグメント 1 + フラグメント 2 + フラグメント 3
仮説 4: フラグメント 2
仮説 5: フラグメント 2 + フラグメント 3
仮説 6: フラグメント 3
各仮説について、プログラムは各アルファベットの文字の割合が Percentage of alphabet characters field で設定された値を超えていないことを確認します。同様に、非アルファベット文字の割合が Percentage of non-alphabet characters field で設定された値を超えていないことも確認します。いずれか 1 つでもチェックに失敗した場合、仮説は作成されません。
Allow embedded hypotheses が選択されていない場合、上の一覧にある埋め込み仮説は Discard されます。埋め込み仮説とは、上の一覧で別の仮説に含まれている仮説のことです。すべての仮説がチェックに合格した場合、残るのは次の仮説だけです: フラグメント 1 + フラグメント 2 + フラグメント 3。
したがって、Allow embedded hypotheses オプションが選択されていない場合、プログラムはすべての条件を満たす最長の仮説を作成します。埋め込み仮説は除外されますが、仮説同士が重なることはあります。これは、独立した 1 文字または 1 単語である場合もあれば、別の仮説の一部を成す文字列でありながら、それ自体については個別の仮説が作成されていない場合もあります。たとえば、プログラムは 2 つの仮説 (つまり 2 つの文字列) を作成することがあります。1 つはある単語または語句で終わり、もう 1 つはその単語または語句で始まります。
例
仮説 1: フラグメント 1 + フラグメント 2
仮説 2: フラグメント 2 + フラグメント 3
考えられるすべての仮説が生成されると、プログラムはそれぞれについて Pre-search quality を計算します (これは、Properties ダイアログの Character String タブおよび Advanced タブの Advanced pre-search relations field で設定された検索制約に、仮説がどの程度適合しているかを示す推定値です) 。この段階では、品質は、仮説の文字数が Character count プロパティで指定されたファジー区間内にあるかどうか、行内の合計ギャップ長が TotalGapLength で指定されたファジー区間内にあるかどうか、さらに行内の単語数が Word count プロパティで指定されたファジー区間内にあるかどうかに基づいて計算されます。
仮説の総合的な品質は、すべての品質を乗算して計算されます。
Character String 仮説には、次のプロパティがあります。
Character String
検索範囲
追加の検索条件
