實體清單 (僅限純文字) - Amazon Comprehend

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

實體清單 (僅限純文字)

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

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

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

自訂實體辨識的實體清單需要逗號分隔值 (CSV) 檔案,其中包含下列資料欄:

  • 文字 — 項目範例的文字,與隨附文件文體完全相同。

  • Type - 客戶定義的實體類型。實體類型必須是大寫、底線分隔字串,例如 MANAGER 或 SENIOR_MANAGER。每個模型最多可訓練 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 編碼,即使它在大多數情況下用作預設值。

  • 它必須包含資料欄名稱: TypeText

我們強烈建議以程式設計方式產生 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"])

最佳實務

使用實體清單時,需要考慮一些事項才能獲得最佳結果,包括:

  • 清單中實體的順序不會影響模型訓練。

  • 使用實體清單項目,這些項目涵蓋 80%-100% 的正實體範例,這些範例在未標註的文件庫中提及。

  • 移除常用單字和片語,避免符合文件文中非實體的實體範例。即使是少數不正確的相符項目,也會大幅影響所產生模型的準確性。例如,實體清單中像是 的字詞將導致大量的相符項目,不太可能是您正在尋找的實體,因此會大幅影響您的準確性。

  • 輸入資料不應包含重複項目。存在重複的樣本可能會導致測試集污染,因此對訓練程序、模型指標和行為產生負面影響。

  • 盡可能提供類似實際使用案例的文件。請勿將玩具資料或合成資料用於生產系統。輸入資料應盡可能多樣化,以避免過度擬合,並協助基礎模型更全面地概括真實的範例。

  • 實體清單區分大小寫,目前不支援規則運算式。不過,經過訓練的模型通常仍然可以辨識實體,即使實體與實體清單中提供的大小寫不相符。

  • 如果您有實體是另一個實體的子字串 (例如「Smith」和「Jane Smith」),請在實體清單中提供兩者。

您可以在 找到其他建議 改善自訂實體辨識器效能