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

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

實體清單 (僅限純文字)

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

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

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

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

  • 文字 — 項目範例的文字,與隨附文件語料庫中所顯示的完全相同。

  • 類型-客戶定義的實體類型。實體類型必須為大寫、下劃線分隔的字串,例如管理員或 SIENOR_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
注意

在實體清單中,埃米利奧·約翰遜的項目不存在,因為它不包含工程師或經理實體。

建立您的資料檔案

您的實體清單必須放在正確設定的 CSV 檔案中,因此您的實體清單檔案出現問題的機會很小。若要手動設定 CSV 檔案,必須符合下列條件:

  • 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」),請在實體清單中同時提供這兩者。

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