> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Character String要素の仮説

> Character String の仮説では、行がアルファベットのフラグメントに分割されます。埋め込み仮説の仕組み、品質スコアの付け方、プロパティリファレンスを確認してください。

要素のプロパティで正規表現が指定されている場合、FlexiLayout Studio は検索領域内でその条件に一致する文字列を探します。正規表現が指定されていない場合は、FlexiLayout Studio でユーザー定義アルファベットが使用されます。

<div id="how-lines-and-fragments-are-identified">
  ## 行とフラグメントの識別方法
</div>

FlexiLayout Studioは、検索領域と水平方向に交差するすべてのテキストオブジェクトを対象とします (垂直方向では、オブジェクト全体が完全に検索領域内に収まっている必要があります) 。その後、テキストオブジェクトは行にグループ化されます。行は左から右に向かって構成され、スペースの最大長 (**Max space length**プロパティで設定) が超過すると停止します。

生成された行内で、FlexiLayout Studioは文字列を識別します。各文字列には、ユーザー定義アルファベットのいずれか1つに含まれる文字だけが含まれます。同様に、FlexiLayout Studioは行をフラグメントに分割します。

<div id="embedded-hypotheses">
  ## 埋め込み仮説
</div>

次に、FlexiLayout Studio は各フラグメントについて仮説を生成します。**埋め込み仮説を許可** オプションが選択されているかどうかに応じて、仮説の生成方法は 2 通りあります。

前の段階で FlexiLayout Studio が 3 つのフラグメントを検出したとします。**埋め込み仮説を許可** オプションが選択されている場合、仮説は次のように生成されます。

```text theme={null}
hypothesis 1: fragment 1
hypothesis 2: fragment 1 + fragment 2
hypothesis 3: fragment 1 + fragment 2 + fragment 3
hypothesis 4: fragment 2
hypothesis 5: fragment 2 + fragment 3
hypothesis 6: fragment 3
```

各仮説について、FlexiLayout Studio は、各アルファベットの文字の割合が **Percentage of alphabet characters** field に設定された値を超えていないことを確認します。また、アルファベット以外の文字の割合が **Percentage of non-alphabet characters** field に設定された値を超えていないことも確認します。これらの確認のうち 1 つでも失敗すると、仮説は作成されません。

**Allow embedded hypotheses** オプションが選択されていない場合、前述のリスト内の埋め込み仮説は破棄されます。埋め込み仮説とは、そのリスト内の別の仮説に含まれている仮説のことです。すべての仮説が確認を通過すると、残る仮説は 1 つだけになります: フラグメント 1 + フラグメント 2 + フラグメント 3。

つまり、**Allow embedded hypotheses** オプションが選択されていない場合、FlexiLayout Studio は、すべての条件を満たす最長の仮説を作成します。埋め込み仮説は除外されますが、仮説同士が重なり合うことはあります。重なっている部分は、独立した 1 文字または単語の場合もあれば、他の仮説の一部ではあるものの、それ自体は個別の仮説として作成されていない文字列である場合もあります。たとえば、FlexiLayout Studio は 2 つの仮説 (つまり 2 つの文字列) を作成することがあります。1 つは特定の単語または語句で終わり、もう 1 つはその単語または語句で始まります。

重なり合う 2 つの仮説は、次のようになります:

```text theme={null}
hypothesis 1: fragment 1 + fragment 2
hypothesis 2: fragment 2 + fragment 3
```

<div id="how-hypothesis-quality-is-calculated">
  ## 仮説の品質の計算方法
</div>

可能な仮説がすべて生成されると、FlexiLayout Studio はそれぞれの **Pre-search quality** を計算します。この値は、**Properties** ダイアログの **Character String** タブと、**Advanced** タブの **Advanced pre-search relations** field で設定された検索条件に、仮説がどの程度適合しているかを表す推定値です。

この段階では、品質は次の 3 つのチェックに基づいて決まります。

* 仮説の文字数が、**Character count** プロパティで指定されたファジー区間内に収まっているかどうか
* 行内の gap の合計長が、**TotalGapLength** で指定されたファジー区間内に収まっているかどうか
* 行内の単語数が、**Word count** プロパティで指定されたファジー区間内に収まっているかどうか

仮説の全体的な品質は、これらすべての品質の積で求められます。

<div id="character-string-hypothesis-properties">
  ## Character String 仮説のプロパティ
</div>

**Character String** 仮説には、次のプロパティがあります。

| プロパティ                   | 説明                                                                                                        |
| ----------------------- | --------------------------------------------------------------------------------------------------------- |
| **要素名**                 | 要素の完全な名前です。                                                                                               |
| **Page**                | 要素が検出されたページの番号です。                                                                                         |
| **周囲の矩形**               | 仮説の領域を囲む矩形の座標です。                                                                                          |
| **Width**               | 仮説の領域の幅です。                                                                                                |
| **Height**              | 仮説の領域の高さです。                                                                                               |
| **Text**                | 仮説の文字列です。                                                                                                 |
| **検出**                  | 要素で示されるオブジェクトが見つかったかどうか (`true`) 、またはヌル仮説が生成されたかどうか (`false`) を示します。                                      |
| **最適経路**                | 検出された仮説が仮説ツリー内の最適パスに属しているかどうか (`true`) 、または属していないかどうか (`false`) を示します。                                    |
| **Pre-search quality**  | **Properties** ダイアログの設定と、**Advanced pre-search relations** フィールド内のコードで指定された要素のプロパティに、仮説がどの程度一致しているかを示します。 |
| **Post-search quality** | **Advanced post-search relations** フィールド内の条件が適用された後の仮説の品質です。                                              |
| **チェーンの品質**             | グループの最初のサブ要素から現在のサブ要素までの仮説チェーンの品質です。チェーンの品質は、チェーン内のすべてのサブ要素の品質を掛け合わせて計算され、競合する仮説チェーンを比較するために使用されます。       |

<div id="related-topics">
  ## 関連トピック
</div>

* [Character String](/ja/flexi-capture/fls/template/character-chain)
* [検索領域](/ja/flexi-capture/fls/template/search-constraints)
* [追加の検索条件](/ja/flexi-capture/fls/template/advanced-constraints)
