郭太勇
(北京郵電大學網絡空間安全學院,北京 100876)
一種基于改進的TF-IDF和支持向量機的中文文本分類研究
郭太勇
(北京郵電大學網絡空間安全學院,北京 100876)
TF-IDF是一種應用在文本分類中常用的權值計算方法,傳統的TD-IDF單純考慮特征詞頻率以及包含特征詞的文本數量,并沒有很好的考慮特征詞在文本中的重要程度以及類內分布均勻情況和類間分布離散的問題,可能會導致文本分類結果的偏差。本文引入卡方統計量CHI和特征詞在文本中的位置作為修正因子并結合傳統TF-IDF權值計算公式,很好的解決了特征詞在類間分布以及關鍵詞重要程度不足的問題,并應用支持向量機構建分類器,進行文本分類的實驗驗證。改進后的TF-IDF計算公式與傳統TF-IDF相比,在查準率、查全率、F1測試值上都有一定程度的提升。
文本分類;TF-IDF;卡方統計量;支持向量機
文本分類技術是信息檢測和數據挖掘技術的基礎,能夠幫助用戶從海量數據中獲得自己需要的有用內容。它能夠按照預先定義的文本主題類別,為文本集合中的每個文本確定一個類別,對文本進行準確、高效的分類,是許多數據管理任務的重要組成部分。目前文本分類技術已經廣泛應用在搜索引擎、機器學習、信息過濾、數字圖書館、分類新聞組等領域。常見的文本分類算法有傳統的增強學習算法、K-近鄰算法[1]、樸素貝葉斯算法[2]、決策樹學習算法、支持向量機[3]和神經網絡算法等。
TF-IDF權重方法是文本分類領域中應用最為廣泛的一種特征權值方法,由Salton在1988年提出,在此基礎上,國內外學者進行了大量的改進工作,主要的改進集中在數據集偏斜、文本類內類間分布情況。其中,Forman[4]將概率統計方法度量運用于類別分布,并對IDF采用Bi-Nor-mal Separation計算方法。張玉芳[5]等提高了頻繁在某個類中頻繁出現的特征詞權重并結合遺傳算法進行分類。臺德藝[6]等針對特征詞在類內均勻出現和單一類別頻繁出現的情況提出了TF-IIDF-DIC算法。張瑾[7]引入了特征詞位置權值和詞跨度權值對TF-IDF進行改進。
B.C.How等提出了CTD(category term descriptor)來減輕數據集偏斜對分類效果的影響。但是這些改進集中在對TF、IDF和類內區分能力的改進,并沒有很好的解決特征詞在類間分布的問題,而且存在著特征詞權值波動,關鍵詞區分能力不足等問題。
本文綜合考慮特征詞在類間的分布情況和特征詞在標題中出現的情況,將卡方統計量CHI和特征詞在文本中的位置引入TF-IDF權值計算公式中進行修正,使得不同的特征詞具有適合的特征權重,較好的解決了特征詞在類間分布的問題,并有效地提高了關鍵詞的類別區分度。
1.1 傳統的TF-IDF
Step1:詞頻TF的計算
詞頻用TF表示,即特征詞在文檔中的出現的次數。一般來數在文檔中出現頻率高的特征詞有較大的權重,文檔中出現頻率低的特征詞有較小的權重。在文本di中特征詞tj的權重為wij,TF公式如下:

其中mj為特征詞tj在文本di中的頻數,Mi為文本中詞的總數。
Step2:逆文檔頻率IDF的計算
逆文檔頻率用IDF表示,一般認為含有的某個特征詞的文檔篇數越多對應的分類能力越差。因為一些介詞虛詞出現概率較大,但是其對分類影響不大,還有的詞在多個類別中出現,就不能代表某個單一的特定類別,它也對分類貢獻度不大。IDF公式如下:

其中N表示訓練集中的文本總數,nj表示包含特征詞tj的文本數。
TF方法對高頻的特征詞具有比較好的識別性,但是有的高頻詞是對分類沒有幫助的常用詞,有的特征詞是低頻的能夠很好地代表文檔類別卻很有可能被忽略掉。IDF方法使得在大多數文檔中出現的特征詞的重要性降低,而能夠增強出現次數較少的特征詞的重要性。
Step3:對TF-IDF歸一化處理
文本集合中的文檔長度不一,為了避免TF-IDF偏向于長文本的狀況出現,將TF-IDF作歸一化標準處理,公式如下:

N代表在文本di中特征詞的個數,nj表示包含特征詞tj的文本數。
1.2 改進的TF-IDF算法
傳統的TF-IDF主要考慮DF、IDF以及數據歸一化,但是對于特征詞在類別內部和類別之間的分布情況沒有進行有效處理。舉個例子來說,含有特征詞t的C類文檔總數為h,特征詞在其他類別的文檔總數為k,則特征詞在文本集中出現的總次數為h+k,當h很大,k較小時,理論上t應該能很好的代表C類文本,但是由傳統的TF-IDF公式可得,h越大,特征詞的IDF越小,則該特征項權值較小,說明區分能力很弱,顯然這與實際情況是不符的。
本文基于以上缺陷,考慮了特征詞在類間的分布情況,將卡方統計量CHI引入TF-IDF進行修正。同時考慮到特征詞在文本中的位置也會對分類結果產生明顯的影響,標題和文檔關鍵位置的特征詞應當具有更好的類別區分能力,本文考慮了特征詞在標題中出現的情況,引入一個位置調節因子λ,引入的CHI和位置因子具體定義如下:
(1)卡方統計量CHI
特征選擇方法能夠降低文本向量空間的維度,簡化文本了文本模型,使得分類的效率和精度都有所提高。常用的特征選擇方法[8]有文檔頻率(DF)、信息增益(IG)、互信息(MI)和卡方統計量(CHI)等。
卡方統計量用來表示特征t和類別c之間的相關程度。特征詞的卡方統計量越大,該特征詞與類別的相關性越高,對類別的代表能力更強,特征詞應當具有更高的權重。
卡方統計量公式如下:

其中N為訓練集中文檔的總數,ABCD如下表1所示:

表1 類別特征列聯表Tab.1 Class feature table
(2)特征詞位置因子λ
特征詞在同一篇文檔中的不同位置出現時,該特征詞的重要性也是不一樣的。在標題中出現的特征詞很有可能直接區分出本文檔所屬的類別,此類的特征詞對文本具有很好的區分度,應當具有更高權重。本論文將針對標題中出現的特證詞引入一個位置因子λ,λ是一個由大量實驗得出的經驗系數,本文規定在標題中出現的特征詞的λ數值為3。
(3)TF-IDF修正公式歸一化
實驗訓練集和測試集中的文檔長度不一,為了避免TF-IDF偏向于長文本的狀況出現,將TF-IDF作歸一化標準處理,同時為了避免特征詞權重過于不均衡,還將特征詞的CHI進行了對數化處理:logCHI。
所以,改進后的TF-IDF計算過程如下:
Step1:計算TF
Step2:計算IDF
Step3:計算卡方統計量CHI
Step4:標題特征詞位置因子λ引入
Step5:對修正后的TF-IDF進行歸一化處理
綜合以上考慮并結合原有的文檔頻率TF和逆文檔頻率IDF,本文改進后的TF-IDF特征權重公式為:

1.3 文本分類算法
通過上面對TF-IDF算法的改進,并使用SVM進行了文本分類,本文改進后的分類算法的具體實現流程為:
1)使用中文分詞系統對文本進行預處理,并去除停用詞等;
2)通過對文本特征項進行特征選擇,并使用改進的TF-IDF權值計算公式計算特征項權值,將文本表示為特征向量的形式;
3)使用SVM分類器對訓練集中的已知類別文本進行學習;
4)使用學習后的SVM分類器對測試集合文本進行分類。
其中中文分詞系統采用jieba分詞系統[9],jieba分詞支持三種分詞的模式:精確模式、全模式和搜索引擎模式。其中精確模式能夠將句子最精確的切分開來,最適合做文本分類。結巴分詞支持多種語言組件,本文使用的版本是Python組件。
本文使用支持向量機(SVM)進行文本分類實驗,采用的是一套由臺灣大學林智仁(Chih-Jen Lin)教授在2001年開發的支持向量機的庫LibSVM[10],能夠方便的進行文本分類,而且LibSVM程序是開源的,容易做各種擴展,并且程序較小,輸入參數少,使用靈活。
SVM分類結果的好壞與核函數的選擇有很大關系,目前主要有線性核函數、多項式核函數和徑向基核函數,本文采用的是徑向基核函數[11]Radial Basis Function)。
實驗數據來源于搜狗實驗室[12]文本分類語料庫,選取了軍事、體育、旅游、財經、IT、房產、教育、娛樂八個類別各300篇文章共2400篇文檔組成訓練集,然后選取以上八個類別各120篇共960篇文檔組成測試集, 訓練文本集合測試文本集互不重合。
2.1 評價標準
對于優化后的TF-IDF算法性能究竟如何,需要進行實驗來驗證文本分類系統的性能。對于分類結果,國際上用通用的評估指標[13],分別是查準率(Precision)、查全率(Recall)和F1測試值3項。本文采用以上三項指標對改進后的TF-IDF算法進行評估。

表2 分類器判別列聯表Tab.2 Classifier discriminant contingency table
由表2可知,它們對應的公式如下:

2.2 實驗過程
文本分類主要步驟如下:
(1)對測試集和訓練集的文本進行中文分詞(jieba)處理,并去除停用詞;
(2)使用卡方統計量進行特征選擇后,利用改進后的TF-IDF計算特征權值,形成文本特征向量;
(3)將處理后測試集中的文本輸入svm分類器進行訓練;
(4)將訓練集中的文本輸入訓練后的svm分類器進行預測。
對數據集文本進行TF-IDF權值計算后,部分特征詞的TF-IDF改進前后對比如下表3所示:

表3 改進前后TF-IDF對比Tab.3 Improvement before and after TF-IDF contrast
由上表可以看出改進后的TF-IDF中“民族”“聯賽”“足協”等的權值變化較大,更能反映出類別的代表能力,“超市”“會計”等的權值變化較小,由此可以看出特征詞的權值經過改進后都有不同的變化,具有了更好的類別代表能力。
使用svm對處理后訓練集的文本進行學習,并使用測試集進行測試后的實驗結果如下表4和5所示,其中A為實際為該類且分類器判別為該類,B為實際為其他類但分類器判別為該類,C實際為該類但分類器判別為其他類文檔個數。

表4 傳統的TF-IDF文本分類結果Tab.4 Traditional TF-IDF text classification results

表5 改進后的文本TF-IDF分類結果Tab.5 Improved TF-IDF text classification results
由表4和5可得,傳統的TF-IDF的平均查準率、查全率和測試值分別為83.56%、83.74%、83.56% ,改進后的TF-IDF的平均查準率、查全率和測試值分別為85.76%、87.09%、86.40%,相比較而言,改進后的算法分類效果均好于原算法。
為了更直觀的觀察兩種算法結果,查準率、查全率和測試值的折線圖對比如下:

圖1 兩種方法查準率對比圖Fig.1 Two methods of precision comparison chart

圖2 兩種方法查全率對比圖對比Fig.2 Two methods of Recall comparison chart

圖3 兩種方法F1值對比圖對比Fig.3 Two methods of F1-Measuremacro average value comparison chart
從圖1、2、3可以看出,改進后TF-IDF算法在八個類別的查準率、查全率、F1值上比傳統的TF-IDF有3%左右的提升,證明改進后的TF-IDF算法在文本分類上的表現均好于傳統TF-IDF。
本文著重研究點在TF-IDF算法的改進,并針對傳統TF-IDF的不足,提出將特征選擇函數卡方統計量(CHI)和特征詞在文本中的位置因子引入TF-IDF,改進后的TF-IDF使得特征詞有了更合適的權重,能夠更準確地表示特征詞對于類別的區分度,使得整體的分類效果有一定的提升。
但是特征詞的權重受很多因素影響,卡方統計量主要考慮特征詞在文本中出現與否,比較偏向低頻詞,特征詞在文中不同的位置都應有不同的權重,本文著重考慮在標題中出現的,部分特征詞的多義性,特征詞在類內出現的均勻與否以及在類間的分布情況都應該被賦予不同的權重,以上這些情況都是下一階段重點研究的方向。
[1] 奉國和, 吳敬學. KNN分類算法改進研究進展[J]. 圖書情報工作, 2012, (21): 97-100+118. FENG G H, WU J L.KNN, improved classification algorithm research progress of[J]. library and information service, 2012, (21): 97-100+118. (in Chinese)
[2] 鐘磊. 基于貝葉斯分類器的中文文本分類[J]. 電子技術與軟件工程, 2016, (22): 156. ZHONG L. Chinese text classification based on Bias classifier[J]. electronic technology and software engineering, 2016, (22): 156. (in Chinese)
[3] 李希鵬. 基于混合核函數支持向量機的文本分類研究[D].中國海洋大學, 2012. LI X P. Research on text classification based on the hybrid kernel function support vector machine[D]. Ocean University of China, 2012. (in Chinese). FORMANG.BNS feature scaling: an improved representation over TF-IDF for SVM text classification[C]//Proceedings of the 17th ACM Conference on Information and Knowledge Management. USA, California: ACM, 2008: 263-270.
[4] 張玉芳, 彭時名, 呂佳. 基于文本分類TFIDF方法的改進與應用[J]. 計算機工程, 2006, (19): 76-78. ZHANG YF, PENG S M, LV J. Improvement and application of TFIDF method based on text categorization[J]. Computer Engineering, 2006, (19): 76-78. (in Chinese).
[5] 臺德藝, 王俊.文本分類特征權重改進算法[J]. 計算機工程, 2010, (09): 197-199+202.
[6] TAI D Y, WANG J. Text classification feature weight algorithm[J]. Computer Engineering, 2010, (09): 197-199+ 202. (in Chinese).張瑾. 基于改進TF-IDF算法的情報關鍵詞提取方法[J]. 情報雜志, 2014, (04): 153-155. ZHANG J. Methods[J]. Journal of information, information extraction of keywords based on improved TF-IDF algorithm 2014, (04): 153-155. (in Chinese).
[7] 楊杰明. 文本分類中文本表示模型和特征選擇算法研究[D]. 吉林大學, 2013. YANG J M. Research on text representation model and feature selection algorithm in text categorization[D]. Jilin University, 2013. (in Chinese). jieba中文分詞系統[EB/OL]. https://github.com/fxsjy/jieba/.
[8] jieba Chinese word segmentation system https://github.com/ fxsjy/jieba/. [EB/OL]. (in Chinese)
[9] LIBSVM分類器[EB/OL]. http://www.csie.ntu.edu.tw/~cjlin/ libsvm/.
[10] LIBSVM classifier http://www.csie.ntu.edu.tw/~cjlin/libsvm/. [EB/OL]. (in Chinese).
[11] 黃翠玉. 文本自動分類研究——基于徑向基函數[J]. 情報科學, 2013, (05): 67-71. HUANG C Y. Research on Automatic Text Categorization Based on radial basis function [J]. information science, 2013, (05): 67-71. (in Chinese)
[12] 搜狗實驗室文本分類語料庫[EB/OL]. http://www.sogou. com/labs/resource/list_yuliao.php. Sogou laboratory text classification corpus [EB/OL]. Http://www.sogou.com/labs/ resource/list_yuliao.php. (in Chinese)
[13] 王靜. 基于機器學習的文本分類算法研究與應用[D].電子科技大學, 2015. Wang J. Research and application of text classification algorithm based on machine learning[D]. Electronic Science and Technology University, 2015. (in Chinese)
A Method Based on TF-IDF and Improved Support Vector Machine Research on Chinese Text Categorization
GUO Tai-yong
(School of CyberSpace Security, Beijing University of Posts and Telecommunications, Beijing 100876, China)
TF-IDF is a commonly used weight in text classification method, the traditional TD-IDF only consider the frequency characteristics of words and characteristic words contain the number of texts, and no distribution of discrete problems and uniform distribution considering the feature words good degree of importance in the text and in class, may lead to biased text the classification results. This paper introduces chi-square test CHI and statistic feature words in the text position as a correction factor and a formula for combining traditional TF-IDF weights and solves the problem of feature words in distribution between categories and keywords of degree, and the application of support vector machine classifier construction, experimental verification for text classification. The improved TF-IDF formula is compared with the traditional TF-IDF, have a certain degree of improvement in precision and recall, F1-Measuremacro average value.
Text Categorization; TF-IDF; Chi-Square statistics; Support Vector Machine
TP181
ADOI:10.3969/j.issn.1003-6970.2016.12.030
郭太勇(1988-),男,碩士,網絡安全。
本文著錄格式:郭太勇. 一種基于改進的TF-IDF和支持向量機的中文文本分類研究[J]. 軟件,2016,37(12):141-145