姚嚴(yán)志,李建良
(南京理工大學(xué) 理學(xué)院,南京 210094)
隨著網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)上時刻都在產(chǎn)生大量的文本信息,為了滿足用戶面對海量文本時多樣化的需求,對文本信息進(jìn)行有效的分類就顯得至關(guān)重要.在文本分類領(lǐng)域中,用向量空間模型表示文本的方法應(yīng)用尤為普遍.用向量空間模型表示文本,需經(jīng)過分詞、特征選擇、權(quán)重計算等步驟,而權(quán)重計算方法的優(yōu)劣直接影響著分類算法的性能表現(xiàn).權(quán)重計算的方法多種多樣,常用的包括文檔頻率、信息增益、互信息、卡方分布、TF-IDF 等[1].
TF-IDF 算法自提出以來,因其算法相對簡單和有較高的準(zhǔn)確率及召回率,一直受到廣泛應(yīng)用[2].但該算法的權(quán)重計算僅考慮了特征詞的詞頻和逆文檔頻率等,仍還有許多可改進(jìn)的空間.因此,很多學(xué)者分析TFIDF的缺陷,對其進(jìn)行了相應(yīng)的改進(jìn).How 等[2]提出利用Category Term Descriptor (CTD)來改進(jìn)TF-IDF,考慮不同類別的文檔數(shù)可能存在數(shù)量級的差距,以改善類別數(shù)據(jù)集偏斜所引起的誤差;徐冬冬等[3]引入逆類頻率因子和類別比率因子用以修正TF-IDF 權(quán)重算法,得到基于類別描述的TF-IDF-CD 方法,葉雪梅等[4]針對新詞識別對分類結(jié)果的影響,提出了基于網(wǎng)絡(luò)新詞的改進(jìn)文本分類TF-IDF 算法;許甜華等[5]通過引入去中心化詞頻因子和特征詞位置因子以加強特征權(quán)重的準(zhǔn)確性.
本文使用TF-IDF 算法計算特征詞權(quán)重,對特征詞在不同規(guī)模文檔集中的權(quán)重加以比較,具體分析了特征詞的類信息對于權(quán)重的影響,并在此基礎(chǔ)上提出一種新的衡量特征詞的類間、類內(nèi)分布信息的改進(jìn)方法.改進(jìn)方法增加兩個新的權(quán)值,類間離散因子和類內(nèi)離散因子,將其與經(jīng)典的TF-IDF 算法結(jié)合,進(jìn)而提出了改進(jìn)的TF-IDF-DI 算法.改進(jìn)的權(quán)重計算方法有效改善了TF-IDF 算法對類信息不敏感的問題.本文通過樸素貝葉斯模型對改進(jìn)后的算法的分類性能進(jìn)行驗證.實驗證明,改進(jìn)后的權(quán)重算法在測試數(shù)據(jù)集上的表現(xiàn),在準(zhǔn)確率、召回率和F1 值上均優(yōu)于經(jīng)典的TF-IDF 算法.
TF-IDF 算法作為計算特征項權(quán)重的算法,在文本分類中的應(yīng)用極為廣泛,其主要思想為:在某一特定文檔中,某詞語的出現(xiàn)頻率越高,且數(shù)據(jù)集中包含該詞語的文檔數(shù)越少,說明該詞語越是能標(biāo)志文檔內(nèi)容的屬性,其權(quán)重自然也就越大[6-9].計算公式如下:
其中,w(tj,di) 表示特征詞權(quán)重;id f(tj,di)表示特征詞在文檔di中的出現(xiàn)頻率;N表示文檔集中的文檔總數(shù);nj表示文檔集中出現(xiàn)特征詞tj的文檔數(shù).
在使用時考慮到文檔長度不同對權(quán)值計算的影響,我們通常會對公式做歸一化處理[10],得到公式如下:
傳統(tǒng)TF-IDF 并不能很好的區(qū)分類間和類內(nèi)分布所帶來的影響.類間分布指的是特征詞在不同類別間的分布情況,通常認(rèn)為集中分布于某個類別的特征詞,相比于在各個類別均勻分布的特征詞,更能體現(xiàn)該類別的內(nèi)容屬性;類內(nèi)分布指的是特征詞在某類別內(nèi)的分布情況,通常認(rèn)為在某類別內(nèi)各文檔均普遍出現(xiàn)的特征詞能夠更好的表現(xiàn)該類別的內(nèi)容屬性,反之對于僅出現(xiàn)于類別內(nèi)一小部分文檔的特征詞,往往特征詞只是體現(xiàn)了該小部分文檔的內(nèi)容屬性,我們應(yīng)適當(dāng)降低其權(quán)重.
我們使用IMDB 語料庫進(jìn)行實驗來說明以上問題.IMDB 語料庫收集了50 000 條來自互聯(lián)網(wǎng)的嚴(yán)重兩極分化的電影評論,我們從中分別隨機(jī)抽取200、500、1000 條評論,根據(jù)式(2) 計算特征詞的TFIDF 權(quán)重,并進(jìn)一步計算特征詞在正類評論、負(fù)類評論中的平均TF-IDF 權(quán)重.為保證實驗的隨機(jī)性,我們重復(fù)以上實驗多次,并計算特征詞的平均TF-IDF 權(quán)重.表1是部分特征詞在不同文檔集的權(quán)重.
表1 部分特征詞在不同文檔集的平均TF-IDF 權(quán)重
在實驗中我們發(fā)現(xiàn)大部分特征詞在不同的文檔集中使用TF-IDF 算法計算的權(quán)重均有較大差別,能夠較好的體現(xiàn)特征詞的內(nèi)容屬性,如表1中的特征詞“awkward”.但是我們也發(fā)現(xiàn)部分特征詞在有些文檔集中的TF-IDF 十分接近,如特征詞“fighting”在樣本容量為500的文檔集和特征詞“sincere”在樣本容量為1000的文檔集中,它們在正類和負(fù)類的評價中的TFIDF 權(quán)重都極為接近.我們進(jìn)一步統(tǒng)計分析了此類權(quán)重接近的特征詞在正類評論和負(fù)類評論中的詞頻和文檔頻率.表2從不同容量的文檔集中選取了部分TF-IDF權(quán)重接近的特征詞,并分別比較了其在正類評論和負(fù)類評論中的詞頻、文檔頻率信息.
通過表2可以發(fā)現(xiàn)部分特征詞的TF-IDF 權(quán)重極為接近,但其在不同類別的詞頻、文檔頻率卻有著較大的差異.這說明在該情況下TF-IDF 算法并不能很好的反映特征詞的類間、類內(nèi)的分布信息,因此提出一種新的衡量特征詞的類間、類內(nèi)分布信息的方法就顯得尤為重要了.
表2 部分TF-IDF 權(quán)重接近的特征詞在正類評論和負(fù)類評論中的詞頻、文檔頻率
文獻(xiàn)[11]提出了改進(jìn)的TF-IDF-DI 方法通過變異系數(shù),即特征詞詞頻在類間、類內(nèi)的分布標(biāo)準(zhǔn)差與均值之比來描述其類間、類內(nèi)離散程度,但仍有其缺陷:當(dāng)特征詞在各類別中的平均出現(xiàn)頻率或特征詞在某類別中的各文檔的平均出現(xiàn)頻率較小,以至趨近于0 時,即使微小的擾動也會導(dǎo)致也會對系數(shù)產(chǎn)生巨大的影響,不利于準(zhǔn)確描述特征詞的類信息.
本文提出一種新的類間、類內(nèi)離散程度的描述方法,進(jìn)而提出了改進(jìn)的TF-IDF-CI 算法.我們引入特征詞的類間離散度因子CIac和類內(nèi)離散度因子CIic.CIac通過特征詞在不同類別文檔集的詞頻的分布標(biāo)準(zhǔn)差來描述特征詞的類間分布信息;CIic通過特征詞在類別ck內(nèi)的詞頻與類別ck內(nèi)實際包含該特征詞的文檔的詞頻之差描述特征詞的類內(nèi)分布信息.通過類信息的引入,改進(jìn)的算法加強了區(qū)分特征詞類別分布信息的能力.下面分別給出衡量類間離散度CIac和類內(nèi)離散度CIic的方法:
其中,S(tj) 指 特征詞tj在各類別之間的詞頻的分布標(biāo)準(zhǔn)差;s(tj,ck)指 特征詞tj在類別ck的詞頻與類別ck中實際包含該特征詞的文檔的詞頻之差,計算方法如下:
其中,TF(tj,ck) 表示特征詞tj在類別ck中的出現(xiàn)頻率;表示特征詞tj在各類別中的平均出現(xiàn)頻率;N(ck)表示類別ck中的文檔數(shù);n(tj,ck) 表示類別ck中包含特征詞tj的文檔數(shù);C為文檔集的總類別數(shù).
在式(3)-式(6)中,我們給出了類間離散因子CIac和類內(nèi)離散度因子CIic的計算方法.易發(fā)現(xiàn)特征詞tj在不同類別中的分布標(biāo)準(zhǔn)差越大時,特征詞tj越能體現(xiàn)不同類別的內(nèi)容屬性,分類能力越強;特征詞tj在類別ck中的詞頻與特征詞tj在類別ck中實際包含該特征詞的文檔中的詞頻,兩者之差越大時,說明特征詞tj是更突出表現(xiàn)了類別ck中部分文檔的內(nèi)容屬性而不是類別ck的整體的內(nèi)容屬性,分類能力越弱.可見特征詞的分類能力與CIac成正比,與CIic成反比.基于此我們得到了改進(jìn)的TF-IDF-CI 算法:
其中,W(tj,di,ck)是改進(jìn)的特征權(quán)重;w(tj,di)為式(2)中計算所得的特征詞tj在文檔di中的權(quán)重.
同樣采用表1中所使用的文檔集進(jìn)行實驗,表3給出部分特征詞根據(jù)改進(jìn)的TF-IDF-CI 算法在不同文檔集中計算所得的特征權(quán)重,并與TF-IDF 算法計算的權(quán)重進(jìn)行對比.
通過表3的對比容易發(fā)現(xiàn),改進(jìn)的TF-IDF-CI 算法有效改善了TF-IDF 算法并能很好的反映特征詞類間、類內(nèi)的分布信息的問題.如特征詞“fighting”在樣本容量為500的文檔集和特征詞“sincere”在樣本容量為1000的文檔集中,使用TF-IDF 算法的計算的特征權(quán)重極為接近,但使用TF-IDF-CI 算法則得到了有效的改善.同時,通過實驗也可發(fā)現(xiàn)如“awkward”等使用TF-IDF 算法可以很好區(qū)分的特征詞,在使用TF-IDF-CI 算法計算特征權(quán)重時亦不會有很大的偏差.
表3 部分特征詞在不同文檔集的TF-IDF 權(quán)重與TF-IDF-CI 權(quán)重對比
實驗使用的語料庫是搜狗新聞數(shù)據(jù)語料庫,該語料庫包含來自搜狐新聞的健康、體育、社會、娛樂等18 個頻道的新聞數(shù)據(jù).實驗選取了健康、教育、軍事、汽車、體育5 類共5000 篇文檔作為訓(xùn)練樣本,另選取500 篇文檔作為測試樣本.
分詞使用的是Hanlp的StandardTokenizer 分詞器.同時還對分詞后的數(shù)據(jù)集進(jìn)行去體停用詞的處理,將常用的停用詞(的,并不,而且等) 進(jìn)行過濾.為驗證改進(jìn)的TF-IDF-CI 算法對分類性能的影響,實驗分別采用經(jīng)典的TF-IDF 算法、TF-IDF-DI 算法、改進(jìn)的TFIDF-CI 算法計算特征詞的權(quán)重,并使用樸素貝葉斯算法進(jìn)行文本分類,評估指標(biāo)使用準(zhǔn)確率(Precision,P)、召回率(Recall,R)、F1 值3 個指標(biāo)[12].分類器在測試集上的分類性能分別如表4所示.
表4 不同權(quán)重算法的分類性能對比(%)
通過實驗結(jié)果,可以發(fā)現(xiàn)使用改進(jìn)的TF-IDF-CI 算法對特征詞權(quán)重進(jìn)行計算,并使用樸素貝葉斯算法對文本進(jìn)行分類,準(zhǔn)確率、召回率和F1 值都相比于經(jīng)典的TFIDF 算法有了一定的提升,其中類別“健康”的提升最為明顯,F1 值較TF-IDF 提升了約6.42%,較TF-IDF-DI 提升了約3.23%.這說明改進(jìn)的TF-IDF-CI 算法相比于TF-IDF 算法,較好的考慮了特征詞的類間、類內(nèi)的分布信息,能很好的分辨出集中分布于某類別且在該類別內(nèi)相對均勻出現(xiàn)的特征詞,從而達(dá)到了提升分類性能的效果.
本文以特征詞權(quán)重的計算方法為研究對象,總結(jié)了現(xiàn)有的一些方法,并著眼于使用相對廣泛的經(jīng)典的TF-IDF 算法,對國內(nèi)外研究者在TF-IDF 算法的研究成果進(jìn)行了介紹.本文對TF-IDF 算法在不同的文檔集中的表現(xiàn)做了具體的分析對比,針對TF-IDF 算法未能很好區(qū)分特征詞類間、類內(nèi)分布的問題,做了詳細(xì)的研究.基于此本文提出了一種新的衡量特征詞類間、類內(nèi)分布信息的方法,提出了基于類信息的改進(jìn)的TFIDF-CI 算法.最后通過樸素貝葉斯模型對改進(jìn)后的算法的分類性能進(jìn)行驗證.實驗發(fā)現(xiàn),改進(jìn)的TF-IDFCI算法不論在準(zhǔn)確率、召回率、F1 值上,均優(yōu)于經(jīng)典的TF-IDF 算法,由此證實了改進(jìn)算法的有效性.
當(dāng)然本文仍有不足之處:首先本文的實驗均在均衡的數(shù)據(jù)集上進(jìn)行實驗,改進(jìn)的TF-IDF-CI 算法在數(shù)據(jù)集偏斜時的表現(xiàn)還需要進(jìn)一步實驗,以驗證其性能[2];同時TF-IDF-CI 算法仍還有改進(jìn)空間,如將特征詞在文本內(nèi)的分布信息,即其位置信息進(jìn)一步納入特征權(quán)重的考慮范疇,這也是筆者今后要研究的內(nèi)容.