陳 磊,李 俊
(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院 自動化系,合肥 230026)
隨著互聯(lián)網(wǎng)的發(fā)展,以文本為主的非結(jié)構(gòu)數(shù)據(jù)急劇增長,文本分類[1]已成為一個重要的研究課題,在機(jī)器學(xué)習(xí)和信息檢索等領(lǐng)域得到了廣泛研究和應(yīng)用.文本分類就是從訓(xùn)練集學(xué)習(xí)分類模型,使用該模型對未知文本進(jìn)行分類[2].然而,文本高維度的特征會影響分類算法的效果.因此,進(jìn)行特征選擇,對提升分類的準(zhǔn)確率和速度具有重要意義.
傳統(tǒng)的文本特征選擇大多基于統(tǒng)計的方法,通過計算特征詞在語料中的詞頻或特征詞與類別的關(guān)系,來評價每個詞對分類的貢獻(xiàn)度.常用的特征選擇方法有以下幾種:DF[3](Document Frequency,文檔頻率)特征選擇,利用訓(xùn)練集中特征詞出現(xiàn)的文檔數(shù)進(jìn)行特征選擇.通過設(shè)置閾值,過濾文檔頻率較低的特征詞.該方法會忽略掉一些文檔頻率過低但對分類影響較大的特征詞.CHI[4](Chi-square test,卡方檢驗(yàn))評價類別與特征之間的關(guān)系.其缺點(diǎn)是對低頻特征詞的區(qū)分效果不佳.IG[5](Information Gain,信息增益)通過計算特征項出現(xiàn)與否信息熵的變化大小,進(jìn)行特征選擇.缺點(diǎn)是信息增益值低的詞其對分類貢獻(xiàn)度可能比較高.以上幾種基于統(tǒng)計的選擇方法,都沒有考慮特征的語義,特征選擇效果還有很大的改善空間.
本文提出基于詞向量的特征選擇方法,分別從主題和詞語上下文關(guān)系得到每個詞的詞向量.然后根據(jù)相應(yīng)的評價規(guī)則完成特征選擇.基于主題的詞向量構(gòu)建,本文利用Blei等人提出的LDA[6](Latent Dirichlet Allocation,潛在狄利克雷分布),將特征詞映射到一個維度為K(主題數(shù)目)的主題空間上,得到特征詞在不同主題下的概率分布.由于LDA是一個3層貝葉斯模型,LDA詞向量可以視作一種淺層的詞向量.Word2vec詞向量是利用深度學(xué)習(xí)方法獲取詞的分布表示,本文利用Tomas Mikolov 提出的CBOW模型[7](Continuous Bag-of-Words,連續(xù)詞袋模型),得到每個特征的Word2vec詞向量.語料經(jīng)特征選擇后,利用VSM[8](Vector Space Model,向量空間模型),進(jìn)行文本分類,檢驗(yàn)特征選擇效果的好壞.
LDA是一種主題模型,每篇文章表示為多個主題的分布,每個主題表示為不同詞的概率分布.模型如圖1,M表示語料中的文章數(shù),K為主題數(shù);V代表詞典大小;θ是M*K的矩陣,θi是文檔di的主題分布;z是每個詞的主題,φ是K*V的矩陣,φz是第z個主題的詞分布.對于文檔di中的第j個詞wi,j,其生成過程如下:依據(jù)文檔主題分布θi,所決定的多項式分布Multi(θi),選擇一個主題z.依據(jù)該主題詞分布φz,所決定的多項式分布Multi(φz)生成詞wi,j.α、β分別是文檔主題分布和主題詞分布的先驗(yàn)分布(即Dirichlet分布)參數(shù).LDA參數(shù)估計主要有三類方法:變分期望最大化算法,期望-擴(kuò)散算法和吉普斯算法.由于吉普斯采樣簡單、快速,本文采用吉普斯采樣[9],求解模型參數(shù)φ和θ.
圖1 LDA模型Fig.1 LDA Model
LDA模型訓(xùn)練完成后,主要得到兩個矩陣φ(主題-詞矩陣)和θ(文檔-主題矩陣).類比于topic rank[10],對LDA生成的主題重要性進(jìn)行排序,提出LDA的詞向量特征選擇,對主題詞重要性進(jìn)行排序.主題-詞矩陣中,并非所有詞都能表達(dá)相應(yīng)的主題,詞典中包含一些垃圾詞匯,這些詞會影響文章的分類效果.因此,構(gòu)建LDA詞向量,進(jìn)行詞的重要性排序可以協(xié)助文本分類.
LDA詞向量wc=[wc,0,wc,1,wc,2…,wc,K-1],其生成方式是,根據(jù)主題詞矩陣φ,轉(zhuǎn)置后歸一化.其中wc表示當(dāng)前詞,詞向量第k維的權(quán)重為江大鵬[11]按照公式(1)計算LDA詞向量進(jìn)行短文本分類.本文提出LDA詞向量特征選擇方法LDA-w.LDA-w根據(jù)LDA訓(xùn)練得到的主題-詞矩陣,按公式(1),得到每個詞的詞向量.然后計算詞向量與垃圾詞向量wnoise=[1/K,1/K,…,1/K]的1-余弦距離,得到每個詞向量與垃圾詞向量的距離distance,計算公式為式(2).垃圾詞向量的每一維服從均勻分布,其熵最大,這樣的詞對分類的貢獻(xiàn)度最低.詞wc在語料中出現(xiàn)的概率為P(wc).將每個詞與垃圾詞的距離distance,同其在語料中出現(xiàn)的概率P(wc)結(jié)合,得到詞的排序值rank,進(jìn)行特征選擇.
(1)
(2)
(3)
rank(wc)=distance(wc)*P(wc)
(4)
其中tk表示主題k,P(tk)表示主題k出現(xiàn)的概率.
由于LDA輸出的主題中,存在一些意義不明的垃圾主題,所以有必要進(jìn)行垃圾主題過濾,再求解每個詞的詞向量,使得詞向量映射在更加有意義的主題空間中.為此,本文結(jié)合topic rank方法,利用LDA詞向量進(jìn)行特征選擇.對topic rank進(jìn)行了如下的簡化處理:
(5)
2)根據(jù)主題-詞矩陣φ,計算當(dāng)前主題的主題-詞向量φk=[φk,1,φk,2,…,φk,V]與垃圾向量φnoise=[1/V,1/V,…,1/V]的1-余弦距離distancetopic->word.
3)當(dāng)前主題與垃圾主題的距離定義為distance=a*distancetopic->doc+b*distancetopic->word.
其中a和b為可調(diào)系數(shù).
與LDA-w和LDA-Rp特征選擇不同,本文提出的Saliency特征選擇方法,借鑒了LDA主題模型的可視化系統(tǒng)Termite[12].該系統(tǒng)提出定義特征詞的Saliency,來衡量每個詞對主題的重要性.對于一個給定的詞wc,其distinctiveness定義為條件概率P(tk|wc)和P(tk)的Kullback-Leibler距離.
(6)
Saliency(wc)=P(wc)*distinctiveness(wc)
(7)
本文基于Saliency計算每個詞的重要性,但是在計算Saliency時引入Laplace平滑.根據(jù)LDA訓(xùn)練得到的詞-主題分配結(jié)果,計算P(tk|wc)和P(tk),定義如下
(8)
(9)
Word2vec是獲得詞向量的工具,它將每個詞映射到一個特定維度的實(shí)數(shù)空間中,包含兩種模型,CBOW和 Skip-gram[7](Continuous Skip-gram,連續(xù)階躍文法模型).本文采用CBOW模型訓(xùn)練來獲得詞向量.這里介紹下CBOW模型,模型結(jié)構(gòu)如圖2所示.
圖2 CBOW模型Fig.2 CBOW Model
由圖2可見,CBOW模型包含三層,輸入層、投影層和輸出層.CBOW是已知當(dāng)前詞w(t)的上下文詞(前后各c個,這里c=2)w(t-2),w(t-1),w(t+1),w(t+1)預(yù)測當(dāng)前詞w(t).輸入層是上下文中2c個詞向量,投影層是這2c個詞向量的累加和.輸出層是語料中出現(xiàn)的詞作為葉子節(jié)點(diǎn),每個詞出現(xiàn)次數(shù)作為權(quán)值的一棵Huffman樹.利用隨機(jī)梯度上升使L=∑w∈Clogp(w|Context(w))值最大化(Context(w)指詞w上下文中的2c個詞).模型訓(xùn)練完成,獲得詞的向量表示.Word2vec詞向量可以表示詞之間的關(guān)系,例如同義詞,語義關(guān)系(中國-北京=美國-華盛頓)等.
Zengcai Su[13]在情感分析中,利用Word2vec詞向量,計算與情感色彩強(qiáng)烈詞的余弦相似度,保留相似度較高的詞完成特征選擇.Lei Zhu[14]使用Word2vec詞向量改善信息增益.本文利用Word2vec詞向量結(jié)合文檔向量進(jìn)行特征選擇.Word2vec訓(xùn)練詞向量完成后,提取出每篇文檔的關(guān)鍵詞.根據(jù)這些關(guān)鍵詞的詞向量,求和取平均得到每篇檔文檔的向量表示.
(10)
其中d表示采用的關(guān)鍵詞個數(shù),Cw表示關(guān)鍵詞w的詞向量.Chao Xing[15]采用了文檔中所有特征詞的詞向量求和取平均得到文檔的向量表示.這里選取關(guān)鍵詞,考慮到一篇文檔中大多數(shù)的詞都是常用詞,不能體現(xiàn)文檔的中心思想.而關(guān)鍵詞能夠代表文檔的主題,通過關(guān)鍵詞求和取平均得到的向量,能夠更加準(zhǔn)確的代表文檔.至于如何獲取文檔的關(guān)鍵詞,文獻(xiàn)[16]采用TF-IDF結(jié)合文章結(jié)構(gòu)提取關(guān)鍵詞.為了簡化處理,本文使用TF-IDF方法,通過計算文檔中每個詞的TF-IDF權(quán)重,選取值最大的幾個詞作為文檔的關(guān)鍵詞.按公式(10)計算出訓(xùn)練集中每篇文檔的向量表示形式.
基于Word2vec詞向量的特征選擇方法步驟如下:首先獲得訓(xùn)練集中每個詞的詞向量以及根據(jù)關(guān)鍵詞得到每篇文檔的向量表示;接著,計算出訓(xùn)練集中每篇文檔中的詞與該文檔向量的余弦相似度;最后,對文檔中的詞按與文檔向量的相似度大小降序排列,通過設(shè)置閾值,保留相似度較大的特征詞,進(jìn)行特征選擇.
數(shù)據(jù)集采用復(fù)旦語料,實(shí)驗(yàn)前進(jìn)行如下預(yù)處理:首先刪除訓(xùn)練集和測試集中各自1500篇左右的重復(fù)文檔;其次刪除訓(xùn)練集中長度較短的文本;最后去除文章數(shù)較少的類別.最終訓(xùn)練集和測試集各9個類別,分別包含 7181和7872篇文檔.對數(shù)據(jù)集,采用國內(nèi)公認(rèn)的中文分詞系統(tǒng)ICTCLAS處理.經(jīng)去停用詞后,語料的詞典包括60747個詞.Word2vec詞向量是在復(fù)旦語料和搜狗新聞?wù)Z料上進(jìn)行訓(xùn)練.
通過設(shè)置不同的特征選擇比例,對語料進(jìn)行特征選擇.文本模型采用基于TF-IDF的向量空間模型,分類器采用SVM(Support Vector Machine,支持向量機(jī)),使用林智仁等開發(fā)設(shè)計的LibLinear軟件包進(jìn)行文本分類[17].
本文采用傳統(tǒng)的文本分類標(biāo)準(zhǔn).單個類別使用查全率R和查準(zhǔn)率P來計算F1,對多類別分類使用宏平均MacroF1、微平均MicroF1,公式如下:
(11)
(12)
(13)
(14)
(15)
其中,Ti表示第i類分類正確的文檔數(shù),Ci表示分到第i類的文檔數(shù),Ni表示第i類實(shí)際包含的文檔數(shù),n表示類別數(shù).
為了驗(yàn)證本文提出的特征選擇方法的有效性,共進(jìn)行了7組實(shí)驗(yàn),其中3組是傳統(tǒng)的特征選擇方法(DF,IG和CHI).LDA-w、LDA-Rp、Saliency和Word2vec(W2v)是本文提出的基于詞向量的特征選擇方法.LDA的主題數(shù)根據(jù)Blei等人采用的困惑度方法[6]確定為100,經(jīng)過垃圾主題過濾后,LDA-Rp保留的主題數(shù)為95.通過設(shè)置不同的特征選擇比例,分類效果如表1所示.
由表1可知,DF、IG和CHI特征選擇的分類效果比較相近.四種詞向量特征選擇方法的分類效果均優(yōu)于傳統(tǒng)的特征選擇方法.例如在特征選擇比例為10%時,W2v的MicroF1比DF高0.7%左右.結(jié)合topic rank的LDA詞向量特征選擇LDA-Rp,分類效果相對于LDA-w方法,有一定的改善.Word2vec詞向量特征選擇方法,平均分類的效果最好.可能的原因是Word2vec獲得的詞向量比LDA獲得的詞向量更加合理、準(zhǔn)確.Saliency特征選擇分類MicroF1略低于LDA-w和LDA-Rp.以上幾種特征選擇方法隨著特征選擇比例增高,MicroF1變化波動趨于穩(wěn)定.下面分析特征選擇維度較低時,分類的MicroF1變化情況.由于DF、IG和CHI特征選擇的分類效果相近,這里只考慮DF的分類效果作為對比.
圖3為特征選擇比例低于10%時,分類的MicroF1變化情況.圖中顯示了特征維度從500到5000時,W2v、lda-w、lda-Rp、Saliency和DF的分類MicroF1變化曲線.由圖可知,四種
表1 分類微平均F1(%)Table 1 Micro average F1(%)
詞向量的特征選擇方法分類效果,在特征維度較低時,均優(yōu)于DF.尤其是Saliency和lda-Rp的分類MicroF1明顯優(yōu)于DF.例如在特征維度為1000左右時,Saliency和lda-Rp的MicroF1高出DF將近1.5%.W2v的分類效果,在特征選擇維度較低時比lda-w等LDA詞向量特征選擇方法低.原因是LDA詞向量特征選擇方法,不僅考慮了特征的語義信息,還加入了特征在語料中出現(xiàn)的概率.lda-w和lda-Rp方法計算了每個詞與垃圾詞的距離,再結(jié)合詞在語料中出現(xiàn)的概率大小進(jìn)行特征選擇.Saliency特征選擇也是先計算出每個詞對主題的distinctiveness,最后再結(jié)合詞出現(xiàn)的概率,完成特征選擇.而W2v特征選擇僅僅利用了詞的上下文語義,沒有考慮詞頻信息.在維度較低時,W2v選擇部分語義豐富的低頻詞,導(dǎo)致語料中出現(xiàn)短文本.因此W2v分類效果在低特征維度時,沒有LDA詞向量特征選擇效果好.DF在特征選擇維度較低時分類效果最差,原因是DF僅僅考慮每個詞的文檔頻率.而文檔頻率高的有些詞,包含的語義不夠豐富,其分類的貢獻(xiàn)度比較低.
圖3 Micro F1值Fig.3 Micro F1 Score
本文提出了幾種基于詞向量的特征選擇方法,分類的效果相對于傳統(tǒng)的特征選擇方法,有一定的提升,尤其是在特征維度比較低時,分類效果改善明顯.同時,傳統(tǒng)的特征選擇如IG和CHI,需要獲得類別標(biāo)注信息.然而在數(shù)據(jù)急劇增長的今天,獲得有標(biāo)注的數(shù)據(jù)越來越困難.基于詞向量的特征選擇,是一種無監(jiān)督的方法,無需事先標(biāo)注樣本信息,因此具有更廣泛的特征選擇用途.未來的工作包括研究LDA和Word2vec結(jié)合的特征選擇方法,詞向量和傳統(tǒng)特征選擇結(jié)合的方法.
:
[1] Patel F N,Soni N R.Text mining:a brief survey[J].International Journal of Advanced Computer Research,2012,2(4):243-248.
[2] Tated R R,Ghonge M M.A survey on text mining-techniques and application[J].International Journal of Research in Advent Technology,2015,1:380-385.
[3] Azam N,Yao J T.Comparison of term frequency and document frequency based feature selection metrics in text categorization[J].Expert Systems with Applications,2012,39(5):4760-4768.
[4] Tran V T N,Phu V N,Tuoi P T.Learning more chi square feature selection to improve the fastest and most accurate sentiment classification[C].The Third Asian Conference on Information Systems (ACIS 2014),2014.
[6] Blei D M,Ng A Y,Jordan M I.Latent dirichlet allocation[J].Journal of Machine Learning Research,2003,3:993-1022.
[7] Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[J].arXiv Preprint arXiv:1301.3781,2013.
[8] Ababneh J,Almomani O,Hadi W,et al.Vector space models to classify Arabic text[J].International Journal of Computer Trends and Technology (IJCTT),2014,7(4):219-223.
[9] Darling W M.A theoretical and practical implementation tutorial on topic modeling and gibbs sampling[C].Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics:Human Language Technologies,2011:642-647.
[10] AlSumait L,Barbará D,Gentle J,et al.Topic significance ranking of LDA generative models[C].Joint European Conference on Machine Learning and Knowledge Discovery in Databases,Springer Berlin Heidelberg,2009:67-82.
[11] Jiang Da-peng.Research on short text classification based on word distributed representation[D].Hangzhou:Zhejiang University,2015.
[12] Chuang J,Manning C D,Heer J.Termite:Visualization techniques for assessing textul topic models[C].Proceedings of the International Working Conference on Advanced Visual Interfaces,ACM,2012:74-77.
[13] Su Z,Xu H,Zhang D,et al.Chinese sentiment classification using a neural network tool—Word2vec[C].Multisensor Fusion and Information Integration for Intelligent Systems (MFI),2014 International Conference on.IEEE,2014:1-6.
[14] Zhu L,Wang G,Zou X.Improved information gain feature selection method for Chinese text classification based on word embedding[C].Proceedings of the 6th International Conference on Software and Computer Applications,ACM,2017:72-76.
[15] Xing C,Wang D,Zhang X,et al.Document classification with distributions of word vectors[C].Asia-Pacific Signal and Information Processing Association,2014 Annual Summit and Conference (APSIPA),IEEE,2014:1-5.
[16] You E S,Choi G H,Kim S H.Study on extraction of keywords using TF-IDF and text structure of novels[J].Journal of the Korea Society of Computer and Information,2015,20(2):121-129.
[17] Fan R E,Chang K W,Hsieh C J,et al.LIBLINEAR:a library for large linear classification[J].Journal of Machine Learning Research,2008,9:1871-1874.
附中文參考文獻(xiàn):
[11] 江大鵬.基于詞向量的短文本分類方法研究[D].杭州:浙江大學(xué),2015.