

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# エンティティリスト (プレーンテキストのみ)
<a name="cer-entity-list"></a>

エンティティリストを使用してモデルをトレーニングするには、2 つの情報を指定します。1 つはエンティティ名とそれに対応するカスタムエンティティタイプのリスト、もう 1 つはエンティティが表示されると予想される注釈の付いていないドキュメントのコレクションです。

エンティティリストを指定すると、Amazon Comprehend はインテリジェントアルゴリズムを使用してドキュメント内のエンティティの出現を検出し、それを基にしてカスタムエンティティレコグナイザーモデルをトレーニングします。

エンティティリストの場合、エンティティリスト内のエンティティタイプごとに 25 件以上のエンティティマッチを指定します。

カスタムエンティティ認識用のエンティティリストには、以下の列を含むカンマ区切り値 (CSV) ファイルが必要です。
+ **テキスト** — 添付の文書ドキュメントコーパスとまったく同じエントリ例のテキスト。
+ **タイプ** — 顧客定義のエンティティタイプ。エンティティタイプは、MANAGER や SENIOR\_MANAGER のように大文字で下線で区切られた文字列でなければなりません。モデルごとに、最大 25 のエンティティタイプをトレーニングできます。

ファイル `documents.txt` には 4 行あります。

```
Jo Brown is an engineer in the high tech industry.
John Doe has been a engineer for 14 years.
Emilio Johnson is a judge on the Washington Supreme Court.
Our latest new employee, Jane Smith, has been a manager in the industry for 4 years.
```

エンティティのリストを含む CSV ファイルには以下の行があります。

```
Text, Type
Jo Brown, ENGINEER
John Doe, ENGINEER
Jane Smith, MANAGER
```

**注記**  
エンティティリストには Emilio Johnson のエントリは存在しません。このエントリには ENGINEER エンティティも MANAGER エンティティも含まれていないためです。

**データファイルを作成する**

エンティティリストファイルに問題が発生する可能性を最小限に抑えるため、エンティティリストは適切に構成された CSV ファイルに保存することが重要です。CSV ファイルを手動で構成するには、以下が満たされている必要があります。
+ UTF-8 エンコーディングは、ほとんどの場合、デフォルトとして使用されている場合でも、明示的に指定する必要があります。
+ 列名 ( `Type` と `Text` ) を含める必要があります。

潜在的な問題を避けるため、CSV 入力ファイルはプログラムで生成することを強くお勧めします。

次の例では、Python を使用して前述の注釈の CSV を生成します。

```
import csv 
with open("./entitylist/entitylist.csv", "w", encoding="utf-8") as csv_file:
    csv_writer = csv.writer(csv_file)
    csv_writer.writerow(["Text", "Type"])
    csv_writer.writerow(["Jo Brown", " ENGINEER"])
    csv_writer.writerow(["John Doe", " ENGINEER"])
    csv_writer.writerow(["Jane Smith", " MANAGER"])
```

## ベストプラクティス
<a name="entitylist-bestresults"></a>

エンティティリストを使用するときに最良の結果を得るには、次のような点を考慮する必要があります。
+ リスト内のエンティティの順序はモデルトレーニングには影響しません。
+ エンティティリストの項目は、注釈のないドキュメントコーパスで言及されているポジティブなエンティティの例の 80% ～ 100% を網羅したものを使用してください。
+ 一般的な単語やフレーズを削除して、ドキュメントコーパス内の非エンティティと一致するエンティティの例は避けてください。不正確なマッチングは、たとえ少数でも最終的なモデルの精度に大きな影響を与えることがあります。たとえば、エンティティリスト内の the のような単語は、探しているエンティティーである可能性が低い多数の一致が発生し、精度に大きな影響を与えます。
+ 入力データには重複がないようにしてください。サンプルが重複していると、テストセットが汚染され、トレーニングプロセス、モデルメトリクス、動作に悪影響を及ぼす可能性があります。
+ 実際のユースケースにできるだけ類似したドキュメントを提供してください。生産システムに、玩具データや合成データを使用しないでください。入力データは、過剰適合を避け、基礎となるモデルが実際の例に基づいてより一般化しやすくなるように、できるだけ多様でなければなりません。
+ エンティティリストでは大文字と小文字が区別され、正規表現は現在サポートされていません。ただし、トレーニング済みモデルでは、エンティティリストに記載されている大文字と小文字が完全に一致しなくても、エンティティを認識できることがよくあります。
+ 別のエンティティのサブストリングであるエンティティ (「Smith」や「Jane Smith」など) がある場合は、エンティティリストに両方を指定してください。

その他の推奨事項は「[カスタムエンティティレコグナイザーのパフォーマンスの向上](cer-metrics.md#cer-performance)」を確認してださい。