1. 程式人生 > >kappa係數在評測中的應用

kappa係數在評測中的應用

 ◆

   轉載請註明出處:http://www.cnblogs.com/by-dream/p/7091315.html

前言

  最近打算把翻譯質量的人工評測好好的做一做。

  首先廢話幾句,介紹下我這邊翻譯質量的人工評測怎麼做。先找一批句子,然後使用不同的引擎對其進行翻譯,然後將原文和譯文用下面的方式進行呈現,把這些交給專業的人士去進行打分,打完分之後,對結果進行統計,得出評測結果。

  看似流程很順利,且結果也有參考價值。然而實際操作的過程中發現如果一個使用者的能力或者態度有問題的話,就會影響一個打分的效果。因此評測人員究竟是否靠譜也成了我們需要考慮的一項因素。

  通過向專業人士請教,得知了kappa係數可以進行一致性的校驗且可用來衡量分類精度。因此我決定試試它。

  好了先看看kappa係數的概念和計算公式。

kappa係數概念

  它是通過把所有地表真實分類中的像元總數(N)乘以混淆矩陣對角線(Xkk)的和,再減去某一類地表真實像元總數與被誤分成該類像元總數之積對所有類別求和的結果,再除以總像元數的平方減去某一類中地表真實像元總數與該類中被誤分成該類像元總數之積對所有類別求和的結果所得到的。

——來自百科

  kappa計算結果為-1~1,但通常kappa是落在 0~1 間,可分為五組來表示不同級別的一致性:0.0~0.20極低的一致性(slight)、0.21~0.40一般的一致性(fair)、0.41~0.60 中等的一致性(moderate)、0.61~0.80 高度的一致性(substantial)和0.81~1幾乎完全一致(almost perfect)。 

  計算公式:

  po是每一類正確分類的樣本數量之和除以總樣本數,也就是總體分類精度

  假設每一類的真實樣本個數分別為a1,a2,...,aC

  而預測出來的每一類的樣本個數分別為b1,b2,...,bC

  總樣本個數為n

  則有:pe=a1×b1+a2×b2+...+aC×bC / n×n

運算舉例

  為了更好的理解上述運算的過程,這裡舉例說明一下:

  學生考試的作文成績,由兩個老師給出 好、中、差三檔的打分,現在已知兩位老師的打分結果,需要計算兩位老師打分之間的相關性kappa係數:

  Po = (10+35+15) / 87 = 0.689

  a1 = 10+2+8 = 20; a2 = 5+35+5 = 45; a3 = 5+2+15 = 22;

  b1 = 10+5+5 = 20; b2 = 2+35+2 = 39; b3 = 8+5+15 = 28;

  Pe = (a1*b1 + a2*b2 + a3*b3) / (87*87) = 0.455 

  K = (Po-Pe) / (1-Pe) = 0.4293578

  這樣我們就得到了kappa係數。

實際應用

  像開頭說的一樣,真實的問卷回收回來後,我一般都會對使用者的結果進行kappa係數計算之後才會發放獎勵,因為我的獎勵價格不低,也算是為了公司節省成本吧。

  一般一個問卷我會讓5個人去做,當然人越多越準確,但是為了考慮成本且就能得到有效的結果,我這裡選了5個人,起初我的想法是用5個人的平均分做為標磚答案,然後讓每個人的打分去和平均分算kappa,後來思考後發現這樣有些不太合理,如果有一個人亂答,那麼他的結果就會影響平均分,從而影響到整個結果。於是最終換成了一個人和所有人直接計算kappa,然後再求平均。這樣當一個人亂作答的時候,我們在算出兩兩kappa的時候就可以發現這個人,然後在最終計算平均kappa的時候,去掉這個所有人和這個人之間的值即可。

  剛開始我用python實現了kappa係數計算的程式碼,直接算出了一組結果,然後發現大家相互之前的kappa係數都非常的低,大概在0.1-0.2左右,後來分析是由於5分制導致資料太離散,因此針對翻譯引擎的評測,我將使用者打分的5分制換算成了3分制,1、2分歸為一類,2為一類,4、5為一類。

  當然在完成了這些之後,為了再多一輪保險,每一份問卷中的5個人中,有一個我非常信任的專業評測者,因此我還會計算所有人和她直接的kappa,這樣更加的保證每一個打分的結果合理性和相關性都竟在掌握之中。

  下面是我實現的python指令碼。

  (程式碼。。。。

  。。。待新增

  說明:輸入檔案****  待加入)

  下面是其中一次問卷,我計算的 “所有人之間kappa的平均分” 和 “所有人和優秀評測者之間的kappa” 不言而喻,很明顯下圖中標紅的這位使用者的打分就不合格,經過我人工篩查,果然這個使用者的打分的確非常的不合理。 

  (待加入圖)

  有了kappa係數的計算規則後,對於一些類似這樣的打分規則,我們就有了更多的把握以及更瞭解我們的評測結果是否準確可靠。