申劍博
摘要摘要:在自動文本分類中,TFIDF算法是最為常用的特征權重計算方法。該算法運用廣泛,但是存在不足:只考慮了特征詞的頻率和包含特征詞的文檔數(shù)量,沒有考慮到特征詞在類內和類間對權重的影響。對特征詞權重計算方法進行了改進。為了解決特征詞在類內均勻分布以及在類間的比重問題,提出了修正函數(shù)TFDFIDFO。實驗比較發(fā)現(xiàn),新的特征詞權重算法能夠更加精確地反映出特征詞的分布情況,該算法與傳統(tǒng)的TFIDF算法相比,在召回率、查準率和宏平均值上都有較大的提升。
關鍵詞關鍵詞:文本分類;TFIDF算法;特征詞權重;特征詞分布;宏平均值
DOIDOI:10.11907/rjdk.151008
中圖分類號:TP312
文獻標識碼:A文章編號文章編號:16727800(2015)004006703
1概述
信息時代,每天都會產生大量數(shù)據,這些數(shù)據大部分以文本形式存儲。微博留言、網上購物、網絡聊天、電子郵件等產生的數(shù)據已經邁向PB級別,這些數(shù)據已經遠遠超過了人工分析的能力,人們得到有用信息的難度也日益增加,如何快速得到我們所需要的信息,文本分類與關鍵詞提取可以有效解決這一難題。
文本分類所面臨的困難主要有3個方面:①如何選擇適當?shù)臄?shù)據集結構來表示文本;②每個文本進行分詞后的特征詞數(shù)量龐大,必須對高維的特征空間進行降維,以提高分類效率;③不同的權重計算方法會影響文檔分類結果,要選擇適當?shù)姆诸愃惴ǎ玫捷^為精確的分類結果。
不同的特征詞在每個類別中的重要程度不一樣,對于能夠表示文本特征的詞語常常會按照某個方法賦予相應的權重,以區(qū)分特征詞對某一類的重要程度。
常用的文本特征評估方法主要有以下幾種:TFIDF算法、互信息、信息增益、K最近鄰算法等等。文本特征詞權重計算運用最廣泛的算法是TFIDF算法。TFIDF算法最早用于信息檢索領域,在實際運用中,TFIDF算法存在很多缺陷,因此很多人提出了改進算法。如臺德藝[1]的TFIIDFDIC權重算法、王小林[2]提出的TFIWF算法等,這些改進算法降低了語料庫中同類型文本對特征詞權重的影響。本文考慮文本特征詞在類內與類間的分布情況,用簡單的函數(shù)來表示特征詞在類內均勻分布情況以及類間的比重情況,使計算變得更加簡潔,并通過實驗來證明改進后算法的可行性與準確性。
2傳統(tǒng)的TFIDF算法
2.1傳統(tǒng)TFIDF算法簡介
TFIDF(Term frequencyInverse document frequency)是一種統(tǒng)計方法,用來評估特征詞的重要程度。根據TFIDF公式,特征詞的權重與在語料庫中出現(xiàn)的頻率有關,也與在文檔里出現(xiàn)的頻率有關。傳統(tǒng)的TFIDF公式如下:
if-iwf=ni,j∑knk,j×log|D||{j∶ti∈dj}|(1)
傳統(tǒng)的TFIDF算法在對特征詞權重進行計算時沒有考慮其分布情況[3],如圖1所示。
假設在一個類別中有兩個特征詞,系列1代表屬于該類中包含該特征詞的文檔數(shù)目,系列2代表不屬于該類但是包含該特征詞的文檔數(shù)目。假設兩個特征詞的TF值相同,那么,根據IDF計算的特征詞權重相同,但是從圖1很明顯看出特征詞2比特征詞1的區(qū)別能力更強一些,而傳統(tǒng)的TFIDF算法根本體現(xiàn)不出來。
2.2TFIWF算法
TFIWF算法是王小林等在《改進的TFIDF關鍵詞提取方法》一文中提出的,主要思想是采用詞語逆頻率方式來計算特征詞權重,具體計算公式如下:
TF-IWFi,j=ni,j∑knk,j×log∑mi=1ntinti(2)
IWF的含義是對語料庫詞語總數(shù)與待查文本中該詞在語料庫中出現(xiàn)的次數(shù)比求對數(shù)。這種加權方法降低了語料庫中同類型文本對詞語權重的影響,更加精確地表達了這個特征詞對文檔的重要程度。
3改進的TFIDF算法——TFDFIDFO算法
(1)TFIDF沒有考慮特征詞在類間的分布情況。假設某一個特征詞m,在某一類別中包含m特征詞的文檔數(shù)目為M,而在其它類別中包含的特征詞m的文檔數(shù)目為N,那么所有類別中包含特征詞m的文檔總數(shù)為M+N。 M越大,這個類中包含特征詞m的文檔也就越多。對于一個特征詞,如果該詞在一個類別中出現(xiàn)的次數(shù)越多,而在其它類別中出現(xiàn)的次數(shù)越少,那么這個特征詞就越能區(qū)別這個類與其他類的不同,對此應該賦予較大的權重。但是,M值越大,根據IDF公式計算得到的值卻越小,這是因為IDF算法是對于整個文檔集而言,沒有考慮到特征詞在類間的分布情況。
(2)TFIDF沒有考慮特征詞在類內的分布情況。如果某個特征詞在一個類別中所出現(xiàn)的文檔數(shù)越多,那么這個詞就越能代表該類別,也就是說均勻分布在類內的文檔中,它對該類所作的貢獻也就越大[4]。TFIDF公式中沒有體現(xiàn)出特征詞在類內的分布情況。
因此,對于TFIDF缺陷,本文提出TFDFIDFO算法,用DFIDFO代替IDF。
根據上述分析,包含特征詞t并同時屬于某一類的文檔越多、屬于其它類的文檔越少,就越說明該特征詞對這個類別越重要,它對于類的區(qū)別能力也就越強。從類內分布情況考慮,如果這個特征詞t能夠均勻分布到這個類別的大部分文檔中,而不是集中于某幾個文檔,那么這個特征詞t越具有代表性。
DFO表示類間的分布情況,主要體現(xiàn)的是特征詞區(qū)分其文檔所在的類與其在他類的貢獻能力[5],具體定義為:
dfo(fi,cj)=logXY+1(3)
其中fi表示第i個特征詞,cj表示j個類別,X表示的是特征詞fi在第j個類別里所包含的文檔數(shù),Y表示的是特征詞i在所有類別中所包含的文檔數(shù),分母Y+1是為了避免分母為0,即其它所有文檔都不包含該特征詞fi。在第j個類別里包含特征詞fi的文檔數(shù)量越多,X值越大,在其它類別里包含fi的文檔數(shù)量越少,Y值就越小,這樣可以體現(xiàn)出特征詞在類間的比較中得到較好的分類效果。
統(tǒng)計特征詞在類內的分布情況,最好是直接統(tǒng)計包含特征詞fi的文檔在這個類里的頻率,具體定義為:
dfi(fi,cj)=nimj(4)
其中ni表示在第j個類別中包含特征詞fi的數(shù)目,mj表示第j個類別中所有文檔的數(shù)目總和,公式體現(xiàn)出特征詞fi是否均勻地分布在第j個類別中。
處理后的TFDFIDFO公式為:
tf-dfi-dfo=ni,j∑knk,j×logXY+1×nmj(5)
4實驗
為了驗證改進后的TFDFIDFO算法對特征詞權重的修正是否有效,實驗將原始的TFIDF算法與改進后的TFDFIDFO算法進行比較,采用準確率(Precision)、召回率(Recall)、宏平均常用測試值F1作為衡量文本分類的標準。
本實驗數(shù)據來源于文本分類語料庫(復旦)訓練語料的一部分,選取體育、軍事、旅游、計算機、環(huán)境、教育、歷史7個類別,從這7個類別中隨機選取500個文檔作為訓練樣本。
首先對文檔進行處理選取特征詞,然后采用原始TFIDF算法與TFIWF算法和改進后的TFDFIDFO算法分別進行特征詞權重計算,將樣本重新歸類,對最后結果進行評估。
由表1和圖2、圖3、圖4可以看出,TFDFIDFO算法與TFIWF在宏平均值、召回率和查準率上都比傳統(tǒng)的TFIDF算法更為精確。由于傳統(tǒng)的TFIDF算法沒有考慮特征詞的分布情況,所以在樣本召回的時候,出現(xiàn)的誤差相對較大。在王小林等的TFIWF算法中,降低了同類型文本對特征詞的影響,修正了偏差,但是與本文提到的TFDFIDFO算法相比較,無論是召回率、查準率還是宏平均值F1都相對較低。這是因為TFIWF算法也沒有考慮到特征詞在類內與類間的分布情況,只統(tǒng)計出特征詞在語料庫中所占的比重,體現(xiàn)不出這些特征詞主要集中在哪一類。
從圖5可以看出,在召回量不同時后3種方法的宏平均值F1也是不同的,在整體的宏平均值F1的比較中,本文提出的TFDFIDFO算法與王小林等的TFIWF算法與傳統(tǒng)的TFIDF算法相比,宏平均值F1都較高。在TFDFIDFO算法與TFIWF算法比較中,雖然在召回量等
于1 000和1 800時,改進后的TFDFIDFO算法與TFIWF算法的宏平均F1相差不大,但是在不同召回量整體中比較,本文提出的TFDFIDFO算法的宏平均值都要比TFIWF的大,尤其是在召回量等于800和1 500時最為明顯。
5結語
本文根據TFIDF算法沒有考慮類內與類間分布情況的缺陷,提出了TFDFIDFO算法。實驗結果表明,改進后的算法性能優(yōu)于傳統(tǒng)的TFIDF算法,可以反映出特征詞在類內和類間的分布情況,從而使得樣本召回的效果更加明顯。下一步將深入研究特征詞在文本中所在位置和近義特征詞與特征詞權重的關系,增強TFIDF算法計算權重的精確性。
參考文獻參考文獻:
[1]臺德藝,王俊. 文本分類特征權重改進算法[J].計算機工程, 2010, 36(9):197199.
[2]王小林,楊林,王東,等. 改進的TFIDF關鍵詞提取方法[J]. 計算機科學與應用, 2013(3):6468.
[3]張瑜,張德賢. 一種改進的特征權重算法[J]. 計算機工程, 2011, 37(5):210212.
[4]ZHANG BAOFU,SHI HUAJI,MA SUQIN. An improved text feature weighting algorithm based on TFIDF[J]. Computer Applications and Software, 2011, 28(2):1720.
[5]DENG ZHIHONG,TANG SHIWEI,YANG DONGQING,et al. A linear text classification algorithm based on category relevance factors[C].Proceedings of ICADL02,5th International Conference on Asian Digital Libraries.New York: ACM Press,2002: 8898.
責任編輯(責任編輯:杜能鋼)