代繼鵬,邵峰晶,孫仁誠
(青島大學(xué)計算機科學(xué)技術(shù)學(xué)院,山東 青島 266071)
文本分類是在給定分類體系的情況下,根據(jù)文本的內(nèi)容或?qū)傩詫⑵浞值揭粋€或多個預(yù)定義的類別[1]。文本分類的主要步驟包括文本預(yù)處理、特征選擇模型訓(xùn)練以及效果評估[2]。文本分類中常常會遇到特征空間的維度太高,導(dǎo)致計算量巨大,分類效果不好,主要是因為選擇的特征詞數(shù)量巨大。進行有效的特征選擇可以極大減少選取特征詞數(shù)量,大幅度降低特征空間維數(shù),能夠提高分類的效率和精度。因此,在進行文本分類中,特征選擇就顯得至關(guān)重要[3]。特征選擇降低空間維度的主要方式是在高維空間中選擇出帶有大部分文本信息的特征詞,用這些特征詞代表文本,從而有效地提高文本分類的效率和精度。因為特征選擇在文本分類中的作用極其重要,所以不少國內(nèi)外研究學(xué)者致力于改進特征選擇方法。Salton等人[4]在1983年提出結(jié)合詞頻權(quán)重和反文檔頻率計算方法,即TF-IDF(Term Frequency-Inverse Document Frequency)算法。英國統(tǒng)計學(xué)家Karl Pearson在1900年首次提出卡方統(tǒng)計量用于卡方檢驗,用來驗證類別和變量之間是否存在相關(guān)性,發(fā)展至今已經(jīng)是文本分類中特征選擇方法中比較常用、效果比較好的特征選擇方法[5]。Jin等人[6]使用樣本方差計算詞的分布信息,并考慮最大詞頻信息來改進CHI(Chi-Square Statistic)方法,在3個數(shù)據(jù)集上均取得較好的結(jié)果。高寶林等人[7]通過引入類內(nèi)和類間分布因子,提出了基于類別的CHI特征選擇方法,對低頻詞進一步處理,主要針對特征詞類別間均勻分布的情況,來降低其權(quán)重。但這些方法都沒有考慮高頻特征詞在少數(shù)文本集合中的分布。
傳統(tǒng)特征選擇方法和權(quán)重計算方法都存在著不足。TF-IDF權(quán)重計算方法主要有以下問題:主要考慮詞頻來度量特征詞所攜帶的文本信息量,忽略了特征詞在類別之間均勻分布等特殊情況。傳統(tǒng)CHI統(tǒng)計方法對于低頻詞所賦予的權(quán)重較大,如果只使用CHI統(tǒng)計方法不能很好地過濾低頻詞中的噪音詞,影響特征詞的選取,進而影響分類準(zhǔn)確性。本文引入類詞因子用來改進CHI和TF-IDF特征選擇方法,將其相結(jié)合來提高特征詞在類別間和類別內(nèi)的分類能力,并且以社區(qū)居民提交的話題事件數(shù)據(jù)為例,通過對比特征選擇方法在多分類上的實驗結(jié)果,驗證了本文提出的基于改進特征提取方法的有效性。實驗表明,該方法分類效果明顯優(yōu)于傳統(tǒng)CHI特征選擇方法、TF-IDF權(quán)重計算方法和文獻[7]、文獻[8]的方法。
文本分類過程中的特征選擇通常選擇可以清楚地區(qū)分不同類別的特征詞。傳統(tǒng)TF-IDF權(quán)重計算方法中,用詞頻TF(Term Frequency)來表示特征詞在文本中出現(xiàn)次數(shù)[9]。IDF(Inverse Document Frequency)表示逆文檔頻率,特點是:如果某一特征詞出現(xiàn)在不同類別的文檔中,出現(xiàn)在不同類別的數(shù)量越多,那么這個特征詞的分類能力就越差[10]。IDF計算方法如公式(1)所示:
(1)
公式(1)中N表示整個訓(xùn)練樣本中文本總數(shù),nk表示所有類別中包含特征詞的文本數(shù)。TF-IDF通過加權(quán)方法將2種方法結(jié)合在一起,TF-IDF計算公式如下:
(2)
傳統(tǒng)TF-IDF權(quán)重計算方法的缺點主要是不能很好表征特征詞在類別之間的分布情況。特征選擇所選擇的特征詞應(yīng)該是在某一類別文檔中較為集中出現(xiàn),幾乎不在其他類別中出現(xiàn),即該特征詞在各類別文檔頻率具有明顯差異。如果特征詞在各個類別中是均勻分布,則該特征詞對類別沒有區(qū)分度,對分類基本沒有貢獻,不具備很好的分類能力。如果某一特征詞在某一類別文檔中較為集中出現(xiàn),幾乎不在其他類別中出現(xiàn),那么這個特征詞就能很好地表征這個類的特征,但是TF-IDF不能很好區(qū)分這2種情況[11]。
例如:特征詞a在第一類所有文檔中出現(xiàn)的文檔數(shù)為m,在其他類文檔中出現(xiàn)的文檔數(shù)為n,則在所有類別的所有文檔中包含特征詞a的文檔數(shù)l為m與n的和。當(dāng)特征詞a集中出現(xiàn)在第一類文檔中,即m數(shù)值較大,當(dāng)m大的時候,l也大,由公式(1)可得IDF的值變化較小甚至可能不變,這表示特征詞a不具有很好的類別區(qū)分能力[10]。但是實際上,特征詞a較為集中地出現(xiàn)在第一類文檔中,此時特征詞a可以用來代表第一類文檔,所以特征詞a應(yīng)該被賦予較高的權(quán)重,可以作為該類文本的特征詞,以區(qū)別于其他類文檔[12]。
不僅如此,當(dāng)特征詞在各類別中是均勻分布時,該特征詞不具有很好的類別差異,不能代表類別,應(yīng)該賦予較低的權(quán)重。但是由公式(2)計算的TF-IDF權(quán)重值卻很高,這并不符合實際情況。這是TF-IDF的一個不足之處:沒有考慮特征詞在類間分布情況[13]。
最后,TF-IDF對于特征詞在類別內(nèi)部的分布情況也缺乏考慮。如果一個特征詞均勻分布在類內(nèi)的各個文本中,則表明該特征詞能很好代表該類別,分類能力較強,在將文本向量化時應(yīng)該賦予較高的權(quán)重[14]。這是TF-IDF另一個不足之處:沒有考慮特征詞在類內(nèi)分布情況。
CHI統(tǒng)計方法作為常用的特征選擇方法,特征選擇效果比較穩(wěn)定[15]。CHI統(tǒng)計方法是先假設(shè)特征項w與類別c之間具有非獨立關(guān)系,然后計算具有一維自由度x2分布的值[16],CHI統(tǒng)計量x2值計算公式如公式(3)所示:
(3)
其中,A表示包含特征詞w且屬于類別c的文本數(shù),B表示包含特征詞w但不屬于類別c的文本數(shù),C表示屬于類別c但不包含特征詞w的文本數(shù),D表示既不包含特征詞w也不屬于類別c的文本數(shù),N表示文本總數(shù)[17]。x2(w,c)的值用來度量特征詞w和類別c之間的相關(guān)性。特征詞w與類別c相互獨立時,x2(w,c)=0。w與類別c的相關(guān)性越強,x2(w,c)的值就越大,此時特征詞w所攜帶的與類別c相關(guān)的信息量就越多,特征詞w越有可能屬于類別c。
美國卡內(nèi)基梅隆大學(xué)的Yang等人[18]針對文本分類問題,對IG(Information Gain)、DF(Document Frequency)、MI(Mutual Information)和CHI等特征選擇方法進行了比較,得出IG和CHI方法分類效果相對較好的結(jié)論。但CHI方法仍然存在一些問題:對于低頻詞所賦予的權(quán)重較大,不能很好地過濾低頻詞中的噪音詞,無形之中增大了低頻詞的權(quán)重,使其受低頻詞影響較大,導(dǎo)致分類準(zhǔn)確性不是很好[19]。
CHI方法只考慮了特征詞在文檔中出現(xiàn)的頻數(shù),沒有考慮到低頻詞的影響,增大了低頻詞的權(quán)重。如果一個特征詞集中出現(xiàn)在某一類文檔中,則計算出來的權(quán)重會比較小,有可能會在特征選擇時被過濾掉,但該特征詞往往具有較好的分類能力。
由上章可知,傳統(tǒng)TF-IDF權(quán)重計算方法忽略了特征項在類別之間的分布情況[20],特征詞的卡方統(tǒng)計值能夠很好地對特征詞的分類能力以及特征詞在類別之間的分布信息進行描述,且卡方統(tǒng)計值與其分類能力成正比。一個特征詞的卡方統(tǒng)計值越大,則說明該特征詞與類別的相關(guān)度越大,所攜帶分類信息越多[21]。所以,針對TF-IDF權(quán)重計算方法不能很好表征特征詞在類別之間的分布情況以及只出現(xiàn)在某一類文本的不足,引入類頻因子α并結(jié)合卡方統(tǒng)計方法CHI來更好地描述特征詞在類別間的分布信息,進而提高其分類能力。引入的類頻因子α公式如下:
(4)
其中,f(w,ci)表示在類別ci的文檔中,包含特征詞w的文本數(shù),f(ci)表示類別ci的文本總數(shù),f(w,cj)表示在除類別ci的其他類別文檔中,包含特征詞w的文本數(shù)。加入類頻因子后特征詞權(quán)重改進方法如公式(5)所示:
W′=α×TF×IDF×x2(w,c)
(5)
由公式(4)、公式(5)可知,引入了類頻因子并結(jié)合使用卡方統(tǒng)計方法的TF-IDF權(quán)重計算方法考慮到了特征詞在類別間和類別內(nèi)分布的缺陷,可以將那些在類別間分布均勻但并不具備類別區(qū)分能力的特征詞和在類別內(nèi)集中分布的特征詞賦予較低權(quán)重,降低噪聲詞影響,有效地提高了TF-IDF權(quán)重計算的準(zhǔn)確性。
CHI方法對于低頻詞所賦予的權(quán)重較大,不能很好地過濾低頻詞中的噪音詞,只關(guān)注于特征詞在類別中是否出現(xiàn),導(dǎo)致分類準(zhǔn)確性不是很好。針對CHI方法的這一不足之處,引入詞頻因子β進行調(diào)節(jié),β的計算方法如公式(6)所示:
(6)
詞頻因子β表示在某個特定類別文檔中特征詞w出現(xiàn)次數(shù)和在所有類別文檔中w出現(xiàn)次數(shù)之比。β越大,表示該特征詞在各個類別之間的類別差異度越大,具有越好的分類能力。反之,β越小,該特征詞越有可能是出現(xiàn)均勻的噪聲詞,應(yīng)賦予較低的權(quán)重。
類詞因子λ由公式(4)和公式(6)計算可得:
λ=α×β
(7)
則加入類詞因子并結(jié)合卡方統(tǒng)計的TF-IDF權(quán)重計算方法如公式(8)所示:
W″=λ×TF×IDF×x2(w,c)
(8)
本文以對話題數(shù)據(jù)分類為例,數(shù)據(jù)為青島市社區(qū)網(wǎng)格居民使用APP提交的話題數(shù)據(jù),這些數(shù)據(jù)均為較短文本且數(shù)據(jù)量較少,將這些數(shù)據(jù)人工按問題反饋、宣傳通知、知識詢問分成3類,類別之間的語料數(shù)目不平衡是影響分類準(zhǔn)確率的一個因素,所以將數(shù)據(jù)分為平衡語料集1和非平衡語料集2。表1、表2為2個語料集各類文檔的選取情況。
表1 平衡語料集1中數(shù)據(jù)選取情況
表2 非平衡語料集2中數(shù)據(jù)選取情況
本文使用XGBoost(eXtreme Gradient Boosting)分類器來訓(xùn)練和測試數(shù)據(jù)。XGBoost是陳天奇等人[22]開發(fā)的一個開源機器學(xué)習(xí)項目,源于梯度提升框架,但是比其模型更加高效,優(yōu)化方面包括算法的并行計算、近似建樹、對稀疏數(shù)據(jù)的有效處理以及內(nèi)存使用等方面,使得XGBoost比現(xiàn)有的梯度提升算法模型至少有10倍速度上的提升并且可以處理回歸、分類和排序等多種任務(wù)。
本文實驗采取準(zhǔn)確率、查準(zhǔn)率、查全率和F1值作為評價實驗分類效果的主要指標(biāo)。表3為分類結(jié)果混淆矩陣。
表3 分類結(jié)果混淆矩陣
3.3.1 準(zhǔn)確率
準(zhǔn)確率A(Accuracy)是被預(yù)測為正確類別的文本數(shù)占總預(yù)測文本數(shù)的百分比,其計算方法如公式(9)所示:
(9)
3.3.2 查準(zhǔn)率和查全率
查準(zhǔn)率P(Precision)是指被預(yù)測為某一類別的文本中真正屬于此類別的文本數(shù)所占百分比,主要考慮分類準(zhǔn)確率。其計算方法如公式(10)所示:
(10)
查全率R(Recall)是指在原本為某一類別的文檔中,分類正確的文本數(shù)所占百分比,主要考慮分類的完整性。其計算方法如公式(11)所示:
(11)
3.3.3F1值
F1值(macro_F1)常用作為度量分類的總體指標(biāo),該值綜合考慮查全率和查準(zhǔn)率,其一般形式的計算方法如公式(12)所示:
(12)
實驗中各個方法表示為:E1為傳統(tǒng)TF-IDF權(quán)重計算實驗;E2為文獻[8]提出傳統(tǒng)CHI特征選擇+TF-IDF權(quán)重計算的實驗;E3為引入詞頻因子后CHI特征選擇+TF-IDF權(quán)重計算實驗。E4為文獻[7]提出的基于類別來改進的CHI特征選擇+TF-IDF權(quán)重計算的實驗。E5為本文引入類詞因子后CHI特征選擇+TF-IDF權(quán)重計算的實驗。
分類類別為:0表示為問題反饋;1表示為宣傳通知;2表示為知識詢問。
圖1 在平衡語料集1中,不同特征維度時不同特征選擇方法的F1值
表4 在平衡語料集1中,當(dāng)特征維度為4000時不同類別的XGBoost分類的評價標(biāo)準(zhǔn)
如圖1所示,在平衡語料集1中,當(dāng)設(shè)定的特征空間的維度由2000向4000逐漸增大時,F(xiàn)1值也逐漸增大。特征維度為4000時,E1、E2、E3、E5達到F1最大值86.8%、86.7%、93.7%、95.6%,E4的F1值還在持續(xù)上升未達到最大值,此時E5比E1、E2、E3分別高出8.8、8.9、1.9個百分點,當(dāng)特征維度從4000繼續(xù)增大到8000時,因為特征詞集開始出現(xiàn)小部分冗余的特征,E1、E2、E3、E5的F1值開始下降,引入類頻因子的E4與E1、E2、E3的F1值差距較大,但始終低于E5。當(dāng)特征維度從8000繼續(xù)增大時,E1、E2開始下降,E3、E4、E5開始上升,但低于之前的F1值,此時特征詞集已經(jīng)有了部分冗余。平衡語料集1中特征維度為4000的XGBoost分類評價標(biāo)準(zhǔn)見表4。
圖2 在非平衡語料集2中,不同特征維度時不同特征選擇方法的F1值
表5 在非平衡語料集2中,當(dāng)特征維度為4000時不同類別的XGBoost分類的評價標(biāo)準(zhǔn)
如圖2所示,在非平衡語料集2中,當(dāng)設(shè)定的特征空間的維度由2000向4000逐漸增大時,F(xiàn)1值也逐漸增大。特征維度為4000時,E1、E3、E4、E5達到F1最大值86.8%、92.5%、93.5%、93.8%,E5的F1值還在持續(xù)上升未達到最大值,此時E5均高于E1、E3、E4,當(dāng)特征維度從4000繼續(xù)增大到6000時, E2、E5的F1值達到最大值,引入詞頻因子的E3與E1、E2的F1值差距較大,引入類頻因子的E4比引入詞頻因子的E3也有較大提高。當(dāng)特征維度在4000到12000之間時,E5始終高于其他方法,足以表明此方法在非平衡語料集中,具有較好分類準(zhǔn)確性。特征維度為4000時,較多方法取得較好效果。非平衡語料集2中特征維度為4000的XGBoost分類評價標(biāo)準(zhǔn)見表5。
所以本文選取4000作為在平衡和非平衡語料集中進行對比實驗較好的特征維度。
在選取4000作為特征維度后,根據(jù)表4和表5,在平衡語料集和非平衡語料集中比較各個方法的F1值可以發(fā)現(xiàn),E3、E4、E5明顯高于E1和E2,因為在特征選擇時,TF-IDF只考慮詞頻和位置特性不能達到理想的分類效果,沒有排除在類別間出現(xiàn)次數(shù)較多但均勻出現(xiàn)在各個類別和在類別內(nèi)集中分布無法代表該類別等這些情況以及CHI特征選擇方法增加了低頻詞的權(quán)重,使E1、E2結(jié)果與E3、E4和E5方法得到的結(jié)果差別明顯。由圖可知類頻因子和詞頻因子很大程度上彌補了傳統(tǒng)TF-IDF和CHI統(tǒng)計方法的不足,尤其是詞頻因子提升較大。文獻[7]用類別和詞頻因子改進CHI統(tǒng)計方法后增加了對于類內(nèi)和類間特殊分布情況的考慮,使得E4對于E1、E2、E3分類能力提升明顯。本文提出的類詞因子明顯比類別和詞頻因子以及其它方法能更好地彌補之前提出的不足,具有更好的泛化能力。
綜上所述,本文提出的方法能有效改善傳統(tǒng)CHI和TF-IDF的缺陷,過濾掉低頻詞語,改善類別間和類別內(nèi)不同特征詞的權(quán)重,使得分類效果更好,性能更穩(wěn)定。
特征選擇是文本分類過程中至關(guān)重要的一步,特征選擇方法能否選擇有效的特征詞來減少特征空間維度,直接影響了分結(jié)果的準(zhǔn)確性[23]。本文引入類詞因子來改進CHI特征選擇方法和TF-IDF權(quán)重計算方法,并將其兩者結(jié)合,同時考慮低頻詞的影響和類內(nèi)、類間的特征詞特殊分布情況,使其分類效果明顯提高。該方法還有很多方面可以提高,在后續(xù)工作中,筆者將考慮特征詞的語義以及與上下文結(jié)構(gòu)關(guān)系,通過這種方式對特征空間進一步降維,在減少算法時間復(fù)雜度的同時提高分類精度。