〔摘 要〕本文對中文文本分類系統的設計和實現進行了闡述,對分類系統的系統結構、特征提取、訓練算法、分類算法等進行了詳細的介紹。將基于詞頻統計的方法應用于文本分類。并提出了一種基于漢語中單字詞及二字詞統計特性的中文文本分類方法,在無詞表的情況下,通過統計構造單字和二字詞表,對文本進行分類,并取得不錯的效果。
〔關鍵詞〕詞頻統計;特征選取;中文文本分類
〔中圖分類號〕TP393 〔文獻標識碼〕A 〔文章編號〕
1008-0821(2009)02-0179-03
Chinese Text Classification Based on Word Frequency StatisticsYao Xingshan
(Department of Information Management,Nanjing University,Nanjing 210093,China)
〔Abstract〕In this paper,the designation and accomplishment of a Chinese text class fication system was described,and system construction,feature selection,trainin arithmetic,classification arithmetic were introduced.The methods based on word frequency statistics were used in Chinese text classification.At the same time, new Chinese text classification method was introduced in this paper,which based on word and two-word statistical properties.In the absence of vocabulary,statistics through word structure and the second word list,text classification,and ac hieved good results.
〔Key words〕word frequency statistics;feature selection;chinese text classification
在中文信息處理中,中文文本分類(Text Categorization,簡記為TC)問題一直是重要的研究內容。中文文本分類的最終目標:在給定的分類體系下,根據訓練文檔集合,自動確定新的文檔的類別。通過文檔的自動分類,實現資源從無序到有序的組合,以便用戶高效的利用資源[1]。早期的自動文本分類以知識工程的方法為主,根據領域專家對給定文本集合的分類經驗,人工提取出一組邏輯規則,作為計算機自動文本分類的依據。本文在論述中文文本分類系統實現過程中,避免了過去那種機械分詞的步驟,在文本特征抽取的過程中引入統計學的方法,提出了一種基于單字和二字統計特性的中文文本分類方法,在文中詳細的介紹了流程和機器學習的過程,最后給出了實驗測試的結果。
1 系統設計
從數學的角度可以把文本分類看成是一個映射的過程。它將未標明類別的文本映射到已有的
文本中,該映射可以是一一映射,也可以是一對多映射,一篇文檔和多篇文檔相關聯。用數學的公式表示為:F(A)=>(B)其中A為待分類的文本集,B為分類體系中的類別集,F為文本分類規則。圖1我們給出了中文文本分類的流程圖。
圖1 中文文本分類系統流程圖
系統主要由詞典生成模塊、訓練模塊和分類模塊組成。詞典生成模塊通過對文本中單字字頻信息以及相鄰字的共現信息進行統計,產生分詞詞表。訓練模塊首先對訓練文本進行預處理,然后進行特征選取和參數訓練,最后生成文本分類器。分類模塊通過對待分類文本的預處理及特征選擇后,由文本分類器自動對文本進行分類。
1.1 詞典生成模塊
我們通過向量空間模型(Vector Space Model)把文本表示成一個由詞條向量組成的向量空間,每個文本d都可以映射為空間的一個特征向量V(d)=(T1,W1(d),T2,W2(d),…Tn,Wn(d)),其中Ti表示特征項,Wi(d)表示對應分量的權重[2]。
在中文文本中可以采用字、詞或者短語作為表示文本的特征項,由于短語的切分難度要比字和詞的切分難度大的多,所以我們采用字和詞作為文本的特征項。那么所要做的第一步就是要進行文本的分詞,如果把所有的詞都作為特征項,那么特征向量的維度將過于巨大,從而導致計算量巨大,要完成文本分類幾乎是不可能的。筆者摒棄了過去的那種傳統 的詞典分詞方式,引入統計學的模型,通過計算詞頻來實現特征項的抽取。根據文獻[3] 的統計見表1:表1 詞條分布情況表
詞條字數1234567詞條數9 91965 89126 35221 6995 1242 446980出現頻率%56.7539.652.211.190.1440.0830.023
2009年2月第29卷第2期現?代?情?報Journal of Modern InformationFeb.2009Vol.29 No.2
2009年2月第29卷第2期基于詞頻的中文文本分類研究Feb.2009Vol.29 No.2由表1可見,在漢語常用詞中單、雙字詞出現的頻率最高,同時數量上也占了絕大部分。
從語言學的角度分析。不同類別的文本中,漢字的分布是有規律的,研究人員大量的實驗證 明,用單字詞統計特性來進行文本分類精度可以達到65%左右。這說明采用單字詞來表示文 本特征進行文本分類精度還是可以保證的,如果再結合少量的對類別區分能力強的二字詞的 話,則應該可以提高系統的精度。因此我們采用單字詞為主結合少量的二字詞為文本的特征 向量,相應的詞表也是由單、雙字詞構成。系統包括的分類體系有軍事、體育、財經、新聞 和娛樂5個類別,我們采用國內知名搜狐門戶網站上的網頁文本作為訓練文本集。
首先進行單字詞的統計,把待統計的所有的文本組合為一個大的文本A,對文本中的所有漢字出現頻率進行統計并排序。由于漢語中的常用漢字大概在3 000個左右,為了確保單字詞對文本的覆蓋率,只要出現過的漢字就作為單字詞保留在單字詞表中。接下來進行二字詞的統計。文獻[4]提出了通過計算相鄰漢字的互信息并以此建立詞表。這種方法運算過于復雜,當文本量很大時速度也比較慢。由于我們目的是找到各類文本中的常用的二字詞, 因此我們采用更為簡單的方法,通過計算相鄰二字共現的頻率(文中以WF表示)來查找二 字詞。
1.2 訓練模塊
在進行中文文本處理前我們需要首先對文本進行預處理。由于我們需要抽取的特征向量都是詞,對于英文、數字等一些符號都不予考慮。同時對那些頻率極高卻沒有什么實際意義的詞 ,如:“的”、“了”、“和”等。這些詞對文本分類的影響甚小,因此通過停用詞表剔除 。
文本表示中Ti及其Wi選取稱為特征抽取。特征算法的優劣影響到文本分類的效果。我們在系統中采取了基于詞頻統計的特征抽取方法。通過大量的文本訓練,根據特征項對文本內容的貢獻,經過多次的統計學習得出權重評價。以這種方法選擇的特征項集具有如下的兩個特點:
(1)完全性:特征項能夠體現目標內容;
(2)區分性:根據特征項集能夠將目標同其他文本相區別。
根據這兩個特點可得,當一個詞條在某類文本中出現的頻率越高。而在其它類別的文本中初相的頻率越低,則該詞條在該類別特征向量中的權重就越大。因此我們構造了詞條權值評價函數:Wik=tfik#8226;log2(aNk/nk+0.05)[5]。其中tfik表示詞條Tk在文本Di中出現的頻數,Nk表示本類別訓練文本中出現Tk的文本數,nk表示詞條Tk在所有的文本中出現的頻數,a為系數可以根據實驗的結果進行調整。為增強文本類特征的穩定性,我們取各類別文本的重心作為該類的特征向量,文本類重心定義為一類文本中所有文本向量的平均向量,第k個類的重心記為Ck=(Ck1,Ck2,Ck3,……Ckn),n為向量空間的維數,m為類k中文本的數目,則有公式1:
Ckj=∑mi=1Wij/m(1)
Wij表示文本Di的第j個項的權重。在實際的使用中,為了降低個別高頻特征項對其它中低頻項的抑制作用,我們對特征向量進行了歸一化處理。
1.3 分類模塊
根據各文本的中心特征向量對未知文本進行分類的技術關鍵是分類算法。我們系統采用了向量最小距離法計算待分類文本與各類別的相似度,并把該文本歸入相似度最大的類別。其過程就是通過計算未知類別文本的特征向量和各類別的中心特征向量之間的夾角余弦。其計算公式見公式2[6]:
Sim(V,U)=COS(V,U)=V#8226;U/|V||U|
=∑nk=1WvkWuk∑nk=1Wvk2∑nk=1Wuk2(2)
其中Wvk表示文本向量V的第k個特征項的權值,Wuk表示文本向量U的第k個特征項的權值,V#8226;U表示向量V和U的點積。分類的過程如圖2所示。
圖2
2 數據測試及討論
由于沒有標準的測試文本集,我們采用一些大的門戶網站的各類別的網頁作為我們的測試數據。我們從搜狐網站上下載了5種類型的網頁:娛樂、財經、體育、軍事和新聞。這些網頁都是已經經過網站分類好的放在對應的類別中。每種類別下載500篇文本,按照4∶1的比例分為訓練文本和測試文本。我們進行了2種類型的實驗,一種是以單字為文本的特征,另一種是以單字加二字詞為文本的特征,測試的結果如表2所示。表2 文本分類測試結果
測試類別單字詞精度單字+二字詞精度娛樂68%82%財經70%80%體育76%85%軍事78%84%新聞75%85%
我們同時也做了一個這樣的測試,訓練文本集的大小對分類精度的影響是如何變化的,我們用曲線進行表示,用100篇文本作為基點,用來作為測試的文本是統一的,其變化的曲線如 圖3所示。
由于我們實驗的規模小,用來進行訓練和測試的樣本數量不是很大,實驗的數據可能存在一定的誤差。但是我們從實驗的結果可以看出,利用單字詞和二字詞的結合其文本分類的精度有了顯著的提高。
3 結束語
本文中我們提出了一種中文文本分類系統的設計和實現的過程,給出了分類的流程圖,引入 統計詞頻的方法,實現了以單字結合二字的中文文本分類的方法,這樣 的系圖3 文本量和分類準確率擬合曲線
統對于分類的精度要求不是很高的需求是完全滿足的。由于在文本的特征選取的過程中并沒有結合其它的特征選取方法,并且在統計的過程中對低頻詞的處理不是很好,導致我們的特征的選取未必是最準確的,文本分類的精度受到了影響。在接下來的研究當中我們將重點關注信息增益IG[7]、互信息MI、x2分布(CHI)、期望交叉熵、優勢率、文本證據權等這些特征選取法[8],根據其不同的特性進行組合,以實現其優勢的互補。嘗試的引進反饋和層次分類機制,進行閾值的調整研究,改進分類算法,以實現文本分類精度的提高。
參考文獻
[1]郝曉燕,常曉明.中文文本分類研究[J].太原理工大學學報,2006,36(6):710-713.
[2]金凱民,苗奪謙,段其國,等.一種基于隱含子類信息的粗糙集中文文本分類方法[J],計算機科學,2008,35(2):147-149.
[3]李慶虎,陳玉健.一種中文分詞詞典新機制一雙字哈希機制[J].中文信息學報,2003,17(4):13-18.
[4]費曉紅,康松林,朱曉娟,等.基于詞頻統計的中文分詞研究[J].計算機工程與應用,2005,(7):67.
[5]熊忠陽,黎剛,陳曉莉,等.文本分類中詞語權重計算方法的改進與應用[J].計算機工程與應用,2008,44(5):187-189.
[6]劉博,楊柳,袁芳,等.改進的KNN方法及其在中文文本分類中的應用[J].西華大學學報:自然科學版,2008,27(2):33-36.
[7]寇蘇玲,蔡慶生.中文文本分類中的特征選擇研究[J].計算機仿真,2007,24(3):289-291.
[8]胡燕,吳虎子,鐘珞,等.中文文本分類中基于詞性的特征提取方法研究[J].武漢理工大學學報,2007,29(4):132-135.