1. 程式人生 > >文字挖掘系列之文字分類

文字挖掘系列之文字分類

文字分類介紹

文字分類問題是根據文字的特徵將其分到預先設定好的類別中,類別可以是兩類,也可以是更多的類別。文字分類是機器學習領域裡監督學習的一種重要應用問題。不過需要指出的是,第一,文字分類問題中用於構建文字自動分類系統的文字類別體系是已經確定的。類別系統一旦變化,需要重新構建新的文字分類系統;第二,在文字分類問題中,並沒有特別要求一篇文字只能屬於某一個類別,例如,根據主題的分類中每篇文字可能會被分到多個類別中,因此文字分類是一個具有主觀性的應用問題。
由於文字資料是網際網路時代一種最常見的資料形式,新聞報道、網頁、電子郵件、學術論文、評論留言、部落格文章等都是常見的文字資料的型別,文字分類問題所採用的類別劃分往往也會根據主管目的不同而具有較大差別,例如,根據文字內容可以有“政治”、“經濟”、“體育”等不同類別;根據應用目的要求,檢測垃圾郵件時,可以有“垃圾郵件”、“非垃圾郵件”;根據文字特點分類時,做情感分析時,可以有“積極情感文字”、“消極情感文字”。

文字分類技術

文字分類問題描述

文字分類問題作為一種監督學習的應用問題,與機器學習領域的分類問題並沒有本質的區別,其方法可以歸結為利用待分類資料的特徵與類別進行匹配,選擇最優的匹配結果作為分類結果,可以通過機器學習的框架進行描述文字分類問題。文字分類分為兩個過程:學習過程、分類過程。如下圖所示:
這裡寫圖片描述
在上圖中,首先有一些訓練樣本文字D1,D2,...,Dn以及其所屬類別標註c1,c2,...cn,學習系統從標註的訓練樣本中學習出一個函式f(D),這裡函式自變數為文字特徵資料,函式值為文字對應的類別,或是學習出一個條件概率分佈P(c|D),這就是學到的分類器。對於新給出的文字Dn+1,分類系統利用學習出的分類器對其進行分類。分類問題中,最簡單的莫過於二分類問題了,例如垃圾郵件檢測就是典型的二分類問題。當然對於多分類問題,可以採用“一類對其他所有類”的方法,把問題轉化為二分類問題來做。

文字分類的方法

對於上面所描述的文字分類問題,最核心之處在於如何構建文字的特徵空間才能快速有效的進行文字的分類。最初的詞語匹配方法是將文件中的詞語與類別名稱中的詞(或是其近義詞)進行匹配,根據匹配度判斷文件所屬類別,很顯然,這種過於簡單的方法效果是不理想的。後續利用知識工程的方法加入人為設定的推理規則以幫助提高文字分類的準確率,但是這樣一來,人為設定的規則好壞直接影響分類效果,而且完全不具備可推廣性。
針對之前的分類方法的不足,依據經驗,讓計算機自己通過對大量同類文字的學習得出經驗,作為新的文字的分類的依據。這就是統計學習方法的思想(機器學習),這也是如今文字分類的主流方法,這類方法具有堅實的統計學理論基礎以及明確的評價標準,實際效果也非常好。

統計學習方法

文字分類問題中非常適合的文字表示模型就是向量空間模型(VSM),VSM不僅考慮了文字中包含哪些詞語,這些詞語出現的次數也考慮了,這對分類至關重要。VSM將每一篇文字視為特徵項集合,利用加權特徵項構成向量進行文字表示,利用詞頻資訊對文字特徵進行加權,VSM實現簡單,分類準確度較高,能夠滿足一般應用的需求。VSM這種文字表示模型,完全忽略詞語之間的上下文資訊,如此一來,VSM所能表達的文字資訊量存在上限。

訓練分類模型

如上面所說的,統計學習方法將文字分類分為兩個階段,訓練階段(有計算機自動總結分類的規則)和分類階段(對新文字進行分類)。機器學習的核心分類器模型都可以用於文字分類,常用的模型和演算法有:支援向量機(SVM)、邊緣感知機、k-最近鄰演算法(KNN)、決策樹、樸素貝葉斯(NB)、貝葉斯網路、Adaboost演算法、邏輯斯蒂迴歸、神經網路等。
在訓練階段,計算機根據訓練集中文件,使用特徵提取(包括特徵選擇和特徵抽取)找出最具有代表性的詞典向量(選取最具代表性的詞語),按照這個詞典將訓練集文件轉化為向量表示,有了文字資料的向量表示,就可以利用分類器模型進行學習了。