共用方式為


用於健康醫療領域的自訂文字分析模型的評估計量

資料集分成兩個部分:一組用於定型,而一組用於測試。 定型集是用來定型模型,而測試集則用來在定型之後做為模型的測試,以計算模型效能和評估。 不會透過定型程序將測試集導入模型,以確保已針對新資料上測試模型。

成功完成定型之後,就會自動觸發模型評估。 評估程序首先會使用已定型的模型,針對測試集中的文件來預測使用者定義的實體,並將其與所提供的資料標籤進行比較 (而這會建立事實的基準)。 結果會傳回,讓您可以檢閱模型的效能。 使用者定義實體會納入已學習及清單元件的評估因素中;健康情況預先建置實體的文字分析不會納入模型評估的因素。 針對評估,用於健康醫療領域的自訂文字分析會使用下列計量:

  • 精確度:測量模型的精確/正確程度。 這是正確識別的肯定 (確判為真) 和所有識別的肯定之間的比率。 精確度計量會顯示已正確標記的預測實體數目。

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • 召回率:測量模型預測實際肯定類別的能力。 這是預測的確判為真與實際標記項目之間的比率。 重新叫用計量會顯示有多少預測實體是正確的。

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • F1 分數:F1 分數是精確度和召回率的函式。 當您在精確度和召回率之間尋求平衡時,需要用到此值。

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

注意

每個實體的精確度、重新叫用率及 F1 分數會分別針對每個實體 (實體等級評估) 計算,也會針對整個模型 (模型等級評估) 計算。

模型層級和實體層級的評估計量

每個實體的精確度、重新叫用率及 F1 分數會分別針對每個實體 (實體層級評估) 計算,也會針對整個模型 (模型層級評估) 計算。

對於實體層級和模型層級的評估而言,精確度、重新叫用率和評估的定義都相同。 不過,「確判為真」、「誤判為真」和「誤判為假」的計數可能會有所不同。 例如,請參閱下列文字。

範例

此合約的甲方為 John Smith,居住在 5678 Main Rd., City of Frederick, state of Nebraska。 乙方是 Forrest Ray,居住在 123-345 Integer Rd., City of Corona, state of New Mexico。 另外還有 Fannie Thomas,居住在 7890 River Road, city of Colorado Springs, State of Colorado。

從此文字擷取實體的模型可能會有下列預測:

實體 預測與 實際類型
John Smith 個人 個人
Frederick 個人 縣/市
Forrest 縣/市 個人
Fannie Thomas 個人 個人
Colorado Springs 縣/市 縣/市

person 實體的實體層級評估

對於 person 實體,模型會有下列實體層級評估:

機碼 計數 說明
真肯定 2 John SmithFannie Thomas 正確地預測為 person
誤判 1 Frederick 不正確地預測為 person,其應該是 city
誤否定 1 Forrest 不正確地預測為 city,其應該是 person
  • 精確度#True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • 重新叫用率#True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • F1 分數2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

city 實體的實體層級評估

對於 city 實體,模型會有下列實體層級評估:

機碼 計數 說明
真肯定 1 Colorado Springs 正確地預測為 city
誤判 1 Forrest 不正確地預測為 city,其應該是 person
誤否定 1 Frederick 不正確地預測為 person,其應該是 city
  • 有效位數 = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
  • 召回率 = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
  • F1 分數 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

集體模型的模型層級評估

此模型會對整個模型進行下列評估:

機碼 計數 說明
真肯定 3 John SmithFannie Thomas 正確地預測為 personColorado Springs 正確地預測為 city。 這是所有實體的確判為真加總。
誤判 2 Forrest 不正確地預測為 city,其應該是 personFrederick 不正確地預測為 person,其應該是 city。 這是所有實體的誤判為真加總。
誤否定 2 Forrest 不正確地預測為 city,其應該是 personFrederick 不正確地預測為 person,其應該是 city。 這是所有實體的誤判為假加總。
  • 有效位數 = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • 召回率 = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • F1 分數 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

解讀實體層級的評估計量

那麼,對於特定實體而言,高精確度或高重新叫用率實際上的意思是什麼?

重新叫用 精確度 解釋
模型妥善地處理此實體。
模型無法一直擷取此實體,但在擷取時,信賴度很高。
模型妥善地擷取此實體,但其信賴度很低,因為有時候會將其擷取為另一種類型。
模型對此實體類型的處理不佳,因為並未正常擷取。 即使正常擷取,信賴度也不高。

指引

定型模型之後,您會看到如何改善模型的一些指引和建議。 建議您建立涵蓋指引一節中所有點的模型。

  • 定型集有足夠的資料:當實體類型在定型資料中的已標記執行個體少於 15 個時,可能會導致精確度降低,因為模型未適當地在這些案例上定型。 在此情況下,請考慮在定型集中新增更多已標記的資料。 您可以查看 [資料散發] 索引標籤以取得更多指引。

  • 所有實體類型都存在於測試集中:當測試資料缺少實體類型的標記執行個體時,模型的測試效能可能會因為未測試的案例而變得較不全面。 您可以查看 [測試集資料散發] 索引標籤以取得更多指引。

  • 實體類型在定型和測試集內是平衡的:當取樣偏差造成實體類型頻率的不正確表示時,可能會導致精確度降低,因為模型預期該實體類型發生頻率太頻繁或太少。 您可以查看 [資料散發] 索引標籤以取得更多指引。

  • 實體類型在定型和測試集之間平均分佈:當定型與測試集的實體類型混合不相符時,可能會導致測試精確度降低,因為模型的定型與測試的方式不同。 您可以查看 [資料散發] 索引標籤以取得更多指引。

  • 定型集中的實體類型之間的區別不明顯:當定型資料與多個實體類型類似時,可能會導致較低的精確度,因為實體類型可能經常被誤分類為彼此。 檢閱下列實體類型,並考慮其相似時加以合併。 否則,請新增更多範例,進一步加以區分。 您可以查看 [混淆矩陣] 索引標籤以取得更多指引。

混淆矩陣

混淆矩陣是用於模型效能評估的 N x N 矩陣,其中 N 是實體的數目。 矩陣會比較預期的標籤與模型所預測的標籤。 這可讓您全面了解模型的表現,以及所犯的錯誤種類。

您可以使用混淆矩陣來識別彼此太接近且通常會弄錯 (模稜兩可) 的實體。 在此情況下,請考慮將這些實體類型合併在一起。 如果無法這麼做,請考慮針對兩個實體新增更多有標籤的範例,以協助模型加以區分。

下圖中醒目提示的對角線是正確預測的實體,其中預測的標籤與實際標籤相同。

顯示範例混淆矩陣的螢幕擷取畫面。

您可以從混淆矩陣計算實體層級和模型層級的評估計量:

  • 對角線中的值是每個實體的「確判為真」值。
  • 實體資料列中的值加總 (不包括對角線) 是模型的「誤判為真」
  • 實體資料行中的值加總 (不包括對角線) 是模型的「誤判為假」

同樣地,

  • 模型的「確判為真」是所有實體的「確判為真」加總。
  • 模型的「誤判為真」是所有實體的「誤判為真」加總。
  • 模型的「誤判為假」是所有實體的「誤判為假」加總。

下一步