若要建立自訂 NER 模型,您需要高品質資料來訓練它。 本文涵蓋應該如何選取和準備資料,以及定義結構描述。 定義結構描述是專案開發生命週期的第一個步驟,以及定義您需要模型在執行階段從文字中擷取的實體類型/類別。
結構描述設計
結構描述會定義您需要模型在執行階段從文字中擷取的實體類型/類別。
檢閱資料集中的文件,以熟悉其格式和結構。
識別您想要從資料中擷取的實體。
例如,如果您要從支援電子郵件中擷取實體,則可能需要擷取「客戶名稱」、「產品名稱」、「請求日期」和「聯絡資訊」。
避免實體類型不明確。
當您選取的實體類型彼此類似時,就會發生「混淆」。 結構描述越模糊,區分不同實體類型所需的標記資料就越多。
例如,如果您要從法律合約中提取數據,若要提取「第一方名稱」和「第二方名稱」,您需要新增更多範例以克服歧義,因為雙方的名稱看起來相似。 因為這可節省時間和投入量,並產生更好的結果,所以請避免混淆。
避免複雜實體。 複雜的實體可能很難從文字中精確挑選出來。 考慮將其分解為多個實體。
例如,如果不分解為更小的實體,提取「地址」將具有挑戰性。 位址出現的方式有很多變化,其會採用大量的標示實體來教授模型,以擷取全部位址,而不會將其分解。 但是,如果您將「地址」取代為「街道名稱」、「郵政信箱」、「城市」、「州」和「郵遞區號」,則模型需要的每個實體標籤較少。
選取資料
您用來定型模型的資料品質會大幅影響模型效能。
使用實際資料來反映您網域的問題空間,以有效地定型模型。 您可以使用合成資料來加速初始模型訓練程序,但它與您的現實數據不同,並且會降低模型在使用時的效率。
請盡可能地平衡資料分散,而不要偏離實際分散過多。
盡可能使用多種資料,以避免模型過度學習。 若定型資料中多樣性過少,可能導致您的模型學習到錯誤關聯性,而這些關聯性在實際的資料中可能不存在。
請避免資料中出現重複的文件。 重複資料會對定型流程、模型計量和模型效能產生負面影響。
請考慮資料的來源。 如果您要從一個人、部門或案例的一部分收集資料,您可能會遺漏對模型學習可能很重要的多樣性。
注意
如果您的文件是多種語言,請在專案建立期間選取 [啟用多語言] 選項,並將語言選項設定為大多數文件的語言。
資料準備
您必須將定型資料上傳至儲存體帳戶中的 Blob 容器,才能建立專案。 您可以直接從 Azure 或使用 Azure 儲存體總管工具來建立和上傳訓練文件。 使用 Azure 儲存體總管工具可讓您快速上傳更多資料。
您只可以使用 .txt 文件。 如果您的資料是其他格式,則您可以使用 CLUtils 剖析命令來變更您的文件格式。
您可以上傳已註釋的資料集,也可以上傳未註釋的資料集並標記您的資料。
測試集
定義測試集時,請務必包含訓練集中不存在的範例文件。 定義測試集是計算 模型效能的重要步驟。 另外,確保測試集包含代表你專案中使用的所有實體的文件。
下一步
如果您還沒有這麼做,請建立自訂 NER 專案。 如果這是您第一次使用自訂 NER,請考慮遵循快速入門來建立範例專案。 如需詳細資訊,請參閱操作說明文章。