當前位置:成語大全網 - 新華字典 - NLP基礎知識: F1-score, 混淆矩陣和語料庫

NLP基礎知識: F1-score, 混淆矩陣和語料庫

最近在學習 NLP 的相關項目,總覺得不夠深入,決定通過寫作的方式把自己學到的內容記錄下來,分享給大家。並且通過壹些通俗易懂的語言讓大家最後能自己能動手實現壹些NLP 的聊天機器人之類的應用。

先了解如何看懂壹個模型評估的指標,譬如 F1-score , Confusion matrix .

在理解 F1-store 之前,首先定義幾個概念:

TP(True Positive) : 預測答案正確

FP(False Positive) : 錯將其他類預測為本類

FN(False Negative) : 本類標簽預測為其他類標

F1分數(F1-score)是分類問題的壹個衡量指標, 在 0~1 之間,公式如下:

通過第壹步的統計值計算每個類別下的 precision 和 recall

精準度/查準率(precision):指被分類器判定正例中的正樣本的比重

召回率/查全率(recall): 指的是被預測為正例的占總的正例的比重

每個類別下的f1-score,計算方式如下:

通過對第三步求得的各個類別下的F1-score求均值,得到最後的評測結果,計算方式如下:

混淆矩陣的每壹列代表了預測類別,每壹列的總數表示預測為該類別的數據的數目;每壹行代表了數據的真實歸屬類別,每壹行的數據總數表示該類別的數據實例的數目。每壹列中的數值表示真實數據被預測為該類的數目。

如有150個樣本數據,預測為1,2,3類各為50個。分類結束後得到的混淆矩陣為:

每壹行之和表示該類別的真實樣本數量,每壹列之和表示被預測為該類別的樣本數量.

巧婦難為無米之炊,語料庫就是 NLP 項目中的 "米"。這裏使用的是 awesome-chinese-nlp 中列出的中文wikipedia dump和百度百科語料。其中關於wikipedia dump的處理可以參考 這篇帖子 。

我們需要壹個規模比較大的中文語料。最好的方法是用對應自己需求的語料,比如做金融的chatbot就多去爬取些財經新聞,做醫療的chatbot就多獲取些醫療相關文章。