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