趙 航 ,楊天奇 ,趙小廈
(1.暨南大學 信息科學技術學院,廣東 廣州 510632;2.華南師范大學 計算機學院,廣東 廣州 510631)
隨著信息技術的發展,信息極度膨脹,人們迫切希望找到一種信息自動處理技術。文本分類作為信息處理的技術之一,由于其能對信息進行分類,使得獲取信息更加容易,因而得到廣泛應用。在文本分類的算法中,空間向量法中的TF-IDF算法由于其以詞頻TF和逆文檔頻數IDF的乘積作為向量坐標系的值,具有簡單、直觀、處理速度快的優點,得到廣泛應用。但在理論和實際應用中有很大局限性,以至于其精度在各種文本分類中一直是較低的[1]。
本文針對噪聲特征對TF-IDF算法逆文檔頻率(IDF)影響進行分析,提出了一種IDF加權方法,調整對IDF產生影響的特征噪聲權重,有效減少了算法對噪聲的影響,提高了TF-IDF算法的精度和健壯性。雖然已有很多研究者對TF-IDF算法做了改進,從特征選擇上減少噪聲特征的選擇,但特征噪聲在分類中出現是不可避免的。
向量空間算法的基本思想是用詞袋法表示文本,將文本看做特征空間的一個向量,用兩個向量之間的夾角來衡量兩個文本之間的相似度。用TF-IDF值表示向量空間的一個特征值權重。
詞語權重計算唯一的準則就是要最大限度地區分不同的文檔。所以針對詞語權重的計算,主要考慮3個因素[2]:

(2)詞語的倒排文檔頻率 idf(inverse document frequency):該詞語在文檔中分布情況的量化,常用計算方法[3]為 idf(Tk)=log2(N/nk+L)。 其中 N 為文檔集合中的文檔數目;nk為出現過特征Tk的文檔數目;L根據實驗來確定。
(3)歸一化因子(normalization factor):對各分量進行標準化。
根據上述3個因素,可以得出:TF與IDF的聯合公式如下(其中i表示類別號):

式(1)的提出基于這樣一種假設[2]:對區別文檔最有意義的詞語應該是在文檔中出現頻率足夠高,但在整個文檔中出現頻率足夠少的詞語。所以向量空間模型的基礎是詞語的出現頻率和出現的文檔頻率[2],但同時一個文檔中的特征在不管出現的頻率多少與文檔頻率的計算無關,文檔頻率的計算只與該特征在文檔中出現與否有關。而特征噪聲在文檔中出現一般是以較小的頻率出現。當一個特征以特征噪聲的形式在大量文檔中出現時(該特征本不應該在這些文檔中出現),文檔頻率計算出的值伴隨特征噪聲出現文檔數目的不同變化很大。由于沒有考慮特征受噪聲影響的程度,只是單純的以特征是否在文檔中出現為依據計算文檔頻率,文檔頻率就不能夠很好地在分類時起作用。
TF-IDF算法的IDF函數本質是一種抑制噪聲的加權[3]。IDF函數認為文檔頻數少的單詞就重要,而文檔頻數多的單詞就無用,這樣也使IDF值容易受噪聲的影響。文檔中的用詞本身帶有很大的隨意性,用與不用某個詞都行。大量的文檔本身就不規范,并含有很多不規范的用詞,導致降低了IDF值對單詞權重的區分。
針對傳統算法沒有考慮噪聲影響,對特征特點進行分析提出了改進算法。
該文選擇了搜狗實驗室—搜狐新聞數據900篇文檔進行特征分析,選出一篇文檔 Di,首先對Di進行分詞預處理,進行特征提取,特征降維。統計Di出現詞頻為t(t=1,2,3,…,10)的特征個數占該 Di所有特征數 Din的比例ri,且對所有文檔取平均值;然后進行特征降維前后文檔的對比。
經統計得出,在降維前出現詞頻為1的特征所占比例約80%;詞頻為1和2的特征共占約90%。通過降維后詞頻為1的特征所占比例有所降低,但仍然超過50%,詞頻為1和2的特征共超過60%。由此可見特征詞頻為1、2占特征總數的絕大部分,雖然可以通過各種算法降低特征數,但降維后特征詞頻為1、2的仍然占特征總數的絕大部分。如果特征詞頻為1、2的特征屬于噪聲特征,這些特征在文檔中出現與否也許不會影響所在文檔的分類,但由于訓練庫的文檔數非常多,這樣可能會造成文檔頻率DF出現較大波動,使得IDF值出現大的波動,擾亂TF-IDF算法的準確性。
可以這樣認為:當特征詞頻TF較小時(例如TF=1),并不能有效地代表此特征在文檔中的重要性,有很大幾率是作者偶然性使用該特征;當特征詞TF較大時,很多次偶然使用同一特征詞的幾率不大,很可能是該文檔不得不使用該特征。由于文檔作者用詞具有很大的隨意性,可以很隨意用其他特征詞代替,從而很容易使TF較小的特征詞頻的TF=0,這一變化對IDF產生影響,如果詞頻TF在很多文檔中出現頻數很低,IDF值就更容易受文檔作者用詞的影響從而擾亂TF-ID特征值的計算,使TF-IDF特征值偏離代表分類權重的意義。
從上述分析可以得到文檔中大部分特征的詞頻為1或2,因此,如何降低噪聲特征影響對TF-IDF算法精度計算至關重要。
本文降低特征噪聲對IDF值計算影響的方法主要是通過對統計文檔頻數進行加權。原算法文檔頻數計算值是統計特征在文檔集中出現的文檔數,而改進的算法是統計特征在文檔集中出現的加權文檔數。使噪聲特征降低對IDF值的影響,從而降低IDF的波動,提高TFIDF算法的精度和穩定性。
使用 WIDF(加權反文檔頻率)代替 IDF,WIDF的計算公式如下

其中,L的取值通過實驗來確定。N表示文檔集總數文檔數,TDi表示Tk在第i個文檔中是否出現(出現為1,不出現為0),wi表示Tk在文檔i出現的權重(通過實驗確定容易受噪聲影響的設為較小權重,否則為較大權重)。
實驗在確定式(2)中的 wi值時,對 Tk出現 1和 2的詞頻進行處理,因為1和2的詞頻低,且在圖1中可以看出占用比例很大的更容易受噪聲影響。當Tk在文檔中出現頻率為1時,wi通過實驗最終確定為0.5;頻率為2時,通過實驗最終確定為0.9;頻率大于2的詞頻通過實驗確定的wi非常接近1,所以出現頻率大于2時wi取為 1。
實驗所有語料來源于搜狗實驗室—搜狐新聞數據(SogouC.reduced.20061127)選取財經、IT、健康、體育、旅游、教育、招聘、文化、軍事 9個大類,總共 4 500篇文檔、其中1 800篇作為訓練集(每個類 200篇),余下的 2 700篇(每個類300篇)文檔作為測試集。
實驗采用分類精度來評估權重算法在不同類上的分類性能。分類精度的定義如下:

k 近鄰(k Nearest Neighbor,k-NN)分類算法基于類比學習的非參數分類算法,在文本分類領域獲得廣泛應用,對于未知分布和非正態分布可以獲得較高分類準確率。實驗采用式(4)進行相似度計算,用式(5)進行類別判定[4]:

其中,Wki為特征詞tk在文檔di中的權重。

其中,k 為制定的最相似文本數量;P(di,CI)在 di屬于 CI時取值為1,否則為0。分類判定時將待分類文本dj的類別歸為sim(di,dj)P(di,CI)最大時的類 CI。
經過分詞、去停用詞、特征選擇,表 1和表 2為TFIDF與TF-WIDF兩種特征算法在k-NN分類器上的實驗結果,試驗中取 k為50~75中間的值,特征數為3 000。在確定式(2)權重時,本實驗只對出現詞頻為 1或 2的特征進行加權,詞頻為1的權重設為0.5,詞頻為2的權重設為0.9(即在計算特征文檔頻率時:當此特征在文檔Di中出現頻率為1次時,在Di中的文檔頻率為0.5;當此特征在文檔Di中出現頻率為2次時,在Di中的文檔頻率為0.9。其他保持不變)。

表1 文檔錯誤識別統計表(測試文檔數2 700)
從表(1)可以看出在對2 700篇文檔進行分類時,當K從 50~75變化時:TF-IDF算法錯誤識別文檔數在366~380范圍變化,波動范圍為14;TF-WIDF算法錯誤識別文檔數在351~357范圍變化,波動范圍為6;由此得出當選不同k值時TF-WIDF算法比TF-IDF算法更加穩定。
從表(2)中可以看出TF-WIDF權重算法結合k-NN分類器在各類別上的精確度P除了在健康、財經有少許下降外大部分都有不同程度的提高,在所有類總體正確率提高 0.004~0.008。可以得出 TF-WIDF算法比 TFIDF算法更加精確,與本文使用已經適當優化了傳統TF-IDF算法有關,使其總體分類正確率高達0.864 4,在如此高的正確率下再提高任何一點都是非常困難的,而本文正是在如此高的正確率基礎上仍然使其提高0.004~0.008,足可以證明本文的改進是有效的。從而說明TF-WIDF能有效地減少由于文檔作者用詞不規范、用詞隨意性造成文檔特征噪聲對TF-IDF算法的影響。盡管改進后的權重算法取得了一定效果,但文本分類問題設計文本表示、相似的計算、算法決策等多個方面改進權重算法并未使分類效果得到明顯提高[4]。

表2 各類正確率統計表
通過加權減少了噪聲特征對文本分類系統精度的影響。本文研究了傳統的TF-IDF加權算法,在已適當優化算法基礎之上提出噪聲加權算法。實驗證明,在傳統算法基礎上改進的加權算法及其他一些算法基礎上的改進,都可有更好的表現。
[1]陸玉昌,魯明羽.向量空間法中單詞權重函數的分析和構造[J].計算機研究與發展,2002,39(10):1205-1210.
[2]魯松,李曉黎.文檔中詞語權重計算方法的改進[J].中文信息學報,2000,14(6):8-20.
[3]李凱齊,刁興春.基于信息增益的文本特征權重改進算法[J].計算機工程,2011,37(1):16-21.
[4]臺德藝,王俊.文本分類特征權重改進算法[J].計算機工程,2010,36(9):187-202.