

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 實體清單 （僅限純文字）
<a name="cer-entity-list"></a>

若要使用實體清單訓練模型，您提供兩項資訊：實體名稱清單及其對應的自訂實體類型，以及您希望實體出現在其中的未標註文件集合。

當您提供實體清單時，Amazon Comprehend 會使用智慧型演算法來偵測文件中實體的出現情況，以做為訓練自訂實體辨識器模型的基礎。

對於實體清單，請在實體清單中為每個實體類型提供至少 25 個實體相符項目。

自訂實體辨識的實體清單需要逗號分隔值 (CSV) 檔案，其中包含下列資料欄：
+ **文字** — 項目範例的文字，與隨附文件文體完全相同。
+ **Type** - 客戶定義的實體類型。實體類型必須是大寫、底線分隔字串，例如 MANAGER 或 SENIOR\$1MANAGER。每個模型最多可訓練 25 種實體類型。

檔案`documents.txt`包含四行：

```
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 檔案，下列項目必須是 true：
+ 必須明確指定 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% 的正實體範例，這些範例在未標註的文件庫中提及。
+ 移除常用單字和片語，避免符合文件文中非實體的實體範例。即使是少數不正確的相符項目，也會大幅影響所產生模型的準確性。例如，實體清單中像是 **的字詞將導致大量的相符項目，不太可能是您正在尋找的實體，因此會大幅影響您的準確性。
+ 輸入資料不應包含重複項目。存在重複的樣本可能會導致測試集污染，因此對訓練程序、模型指標和行為產生負面影響。
+ 盡可能提供類似實際使用案例的文件。請勿將玩具資料或合成資料用於生產系統。輸入資料應盡可能多樣化，以避免過度擬合，並協助基礎模型更全面地概括真實的範例。
+ 實體清單區分大小寫，目前不支援規則運算式。不過，經過訓練的模型通常仍然可以辨識實體，即使實體與實體清單中提供的大小寫不相符。
+ 如果您有實體是另一個實體的子字串 （例如「Smith」和「Jane Smith」)，請在實體清單中提供兩者。

您可以在 找到其他建議 [改善自訂實體辨識器效能](cer-metrics.md#cer-performance) 