> ## 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.

# 抽出スクリプトを使用する場合

> NLP モデルとあわせて抽出スクリプトを使用し、正規表現、辞書語、NER オブジェクトへの一致や、ドキュメントからの住所の構成要素の抽出を行います。

NLP モデルとあわせて抽出スクリプトを使用すると、抽出結果が改善されることがあります。次のような場合は、抽出スクリプトの使用を検討してください。

* テーブルからエンティティを抽出する必要がある。
* NLP モデルを学習させるためのサンプルドキュメントが十分にない。
* 一部の field の抽出品質に満足していない。

抽出スクリプトでは、次のことができます

* 次に一致するテキストスパンを特定する
  * 特定の正規表現
  * テキスト内で任意の活用形で出現する、ユーザー辞書内の特定の単語やフレーズ
  * 組み込みの [NER オブジェクト](/ja/flexi-capture/nlp-glossary) のいずれか:

* 人 (NerPerson)
  * 組織 (NerOrg)
  * 場所 (NerGeo)
  * 住所 (NerAddress)
  * 金額 (NerMoney)
  * 日付 (NerDate)

* 期間 (NerDuration、ロシア語および英語のテキストでのみ使用可能)
  * アカウント番号 (NERAccountNumber、ロシア語のテキストでのみ使用可能)
    **注:** NerMoney、NerDate、NerDuration、NERAccountNumber オブジェクトは、[抽出スクリプト](/ja/flexi-capture/nlp-extraction-scripts-example) でのみ使用されます。

* 検索語やフレーズが任意の活用形で出現しうるテキストやテキストスパンに対してクエリを実行する。

* 特定したテキストスパンをドキュメントの field に保存する。

* ドキュメントから住所と、次の住所の構成要素を抽出する:
  * 郵便番号 (NerZipCode)
  * 国 (NerCountry)
  * 州 (NerState)
  * 市区町村 (NerCity)
  * 住所 (NerStreet)

<a id="dictionary" />抽出スクリプトを作成するか、使用するユーザー辞書を選択するには、次の手順に従います。

1. Document Definition エディターを開きます。
2. ドキュメントセクションを選択して右クリックし、ショートカット メニューで **Properties…** をクリックします。
3. NLP タブをクリックします。
4. **Extraction Scripts** で、Create.... をクリックします。
5. **Extraction Script** ダイアログで。
   * ユーザー辞書をロードするには **Load…** ボタンをクリックするか、
   * スクリプト エディターを開くには Edit... ボタンをクリックします。

<Note>
  ユーザー辞書は、BOM 付き UTF-8 または ANSI でエンコードされている必要があります。
</Note>

<div id="extracting-address-components-from-a-document">
  ## ドキュメントから住所の構成要素を抽出する
</div>

住所の構成要素を抽出するには、次の手順を実行します。

1. 住所が含まれているドキュメント内の領域を指定します。

FlexiLayout field で検索領域を絞り込み、その領域を抽出スクリプトのソースとして使用することをお勧めします。詳細については、[Search constraints](/ja/flexi-capture/fls/template/basic-constraints)を参照してください。

住所には、通常、次の各構成要素が 1 つずつしか含まれません: 郵便番号、国、州、市区町村、住所。 ただし、抽出スクリプトからは 1 つの構成要素について複数のインスタンスが返される場合があります。住所の検索領域を正確に定義するほど、返されるインスタンスの数は少なくなります。
2\. 適切な抽出スクリプトを適用します。
住所の構成要素は、[field 全体](/ja/flexi-capture/nlp-extraction-scripts-example#entirefield)または[field の一部](/ja/flexi-capture/nlp-extraction-scripts-example#partofafield)で検索できます。

住所を解析するために *ParseAddressInPosition( resultCollectionNamePrefix : string, startPos : int, endPos : int )* および *ParseAddressInSpan( resultCollectionNamePrefix : string, span : IInterval )* メソッドを使用すると、検出された構成要素内の各単語には、インデックス作成時に次の属性が付与され、これらを XML クエリで使用できます。

1. \[resultCollectionNamePrefix]\_\[NerTypeOfComponent] 形式のコレクション名。
2. resultCollectionNamePrefix プレフィックス。
3. NER オブジェクトの型。

XML による住所抽出クエリのサンプルについては、[以下](/ja/flexi-capture/nlp-extraction-scripts-language#xml-parsing)を参照してください。

<Note>
  現在、抽出できるのはドイツおよび US の住所の構成要素のみです。
</Note>
