陳 杰,陳 彩,梁 毅
(北京工業(yè)大學 信息學部,北京 100124)
基于Word2vec的文檔分類方法①
陳 杰,陳 彩,梁 毅
(北京工業(yè)大學 信息學部,北京 100124)
文檔的特征提取和文檔的向量表示是文檔分類中的關鍵,本文針對這兩個關鍵點提出一種基于word2vec的文檔分類方法.該方法根據(jù)DF采集特征詞袋,以盡可能的保留文檔集中的重要特征詞,并且利用word2vec的潛在語義分析特性,將語義相關的特征詞用一個主題詞乘以合適的系數(shù)來代替,有效地濃縮了特征詞袋,降低了文檔向量的維度;該方法還結合了TF-IDF算法,對特征詞進行加權,給每個特征詞賦予更合適的權重.本文與另外兩種文檔分類方法進行了對比實驗,實驗結果表明,本文提出的基于word2vec的文檔分類方法在分類效果上較其他兩種方法均有所提高.
文檔向量;文檔特征提取;文檔分類;TF-IDF;word2vec
隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的信息來自于互聯(lián)網(wǎng),如何有效的挖掘、利用這些海量信息,尤其海量文檔信息,將成為關鍵,對文檔進行有效分類可以縮小信息的規(guī)模,因此,精準的文檔分類方法依然是當前眾多科研工作者所研究的熱點問題[1-3].
對海量文檔進行分類涉及兩個難點問題:文檔的特征提取和文檔的向量表示[4].要想對不同格式的海量文檔進行有效分類,首先要提取出每篇文檔的主題信息,通常的做法是提取文檔的主題特征詞并賦予這些特征詞合適的權重.要想對文檔進行分類,單純的文字信息是無法完成分類工作的,最常用的方法是將文檔映射為一個高維數(shù)字向量,進而再對向量進行分類[5].
目前,眾多科研工作者對文本分類都嘗試做了很多改進工作,比如,文獻[6]中,李學明等人提出TFIDFIGE算法,在實驗中選取信息增益值前1000的詞做特征詞袋,用TFIDFIGE算法計算權重,為每篇文檔建立一個1000維的數(shù)字向量,分類器選用為KNN,進而完成海量文檔的分類工作.該方法很好的解決了文檔中特征詞的分布權重問題,但容易引起維度災難,比如:文檔集規(guī)模非常龐大,那么,特征詞袋也需要更加龐大,信息增益值前1000的詞將不能覆蓋整個文檔集的特征,隨之建立的文檔向量的維度也將大幅提升,且該方法形成的文檔向量將是高維的、稀疏的,對后期分類的時間復雜度將有較大影響;文獻[7]中,唐明等人將分詞結果直接作為特征詞袋,用word2vec分析得到詞袋中每個特征詞的詞向量,并把每篇文檔中的特征詞向量通過TF-IDF加權累加而成文檔向量,最終把這些文檔向量作為分類器的輸入,進而完成海量文檔的分類工作.該方法很好的解決了文檔向量的維度災難,但忽略了特征詞的語義特征,比如:有兩篇文檔,一篇文檔有A、B、C三個特證詞,另一篇有D、E兩個特征詞,其中A、B、C、D、E五個特征詞主題且語義均不相關,使用文獻[7]中的方法有可能出現(xiàn)Vec(A)*TFIDF(A)+ Vec(B)* TFIDF(B)+ Vec(C)* TFIDF(C)=Vec(D)* TFIDF(D)+ Vec(E)* TFIDF(E)的情況,這樣兩篇主題不相關的文檔就會被分到一個類別中.
綜上,本文在總結前人研究經(jīng)驗的基礎上,提出一種基于word2vec的文檔分類方法,該方法的優(yōu)勢在于:① 采用DF采集特征詞袋,盡可能的保留文檔集中的重要特征詞;② 結合word2vec,利用其潛在的語義分析特性濃縮特征詞袋,將語義相關的特征詞用一個主題詞乘以合適的系數(shù)來代替,有效降低了文檔向量的維度;③ 結合TF-IDF算法進行特征詞加權,給每個特征詞賦予更合適的權重.
到目前為止,在文檔分類和自然語言處理領域,最直觀也是最常用的詞的表示方法就是詞袋模型.構建詞袋模型之前,往往會收集一個忽略詞順序的特征詞袋,并以特征詞袋中詞的個數(shù)作維數(shù),使向量的每一維代表一個特征詞,構建高維詞向量,并輔以特征詞的出現(xiàn)次數(shù)或特征詞的其他特征權重作為該維向量的值[8].
舉例說明,如果收集的特征詞袋為{西紅柿、玉米、小麥、番茄……},詞袋大小為100,用詞的出現(xiàn)次數(shù)做權重.假設某篇文檔中只出現(xiàn)過“西紅柿”一詞,且“西紅柿”出現(xiàn)過 10 次,則該文檔可表示為[10,0,0,0,0,0,0……];假設某篇文檔中只出現(xiàn)過“番茄”一詞,且“番茄”出現(xiàn)過 8 次,則該篇文檔可表示為[0,0,0,8,0,0,0……].
詞袋模型會把每篇文檔表示為一個維度統(tǒng)一但長度很長的向量,其中絕大多數(shù)元素為0,向量中的非0維度就代表當前文檔中出現(xiàn)過該特征詞.這種表示方法除了形成向量過于稀疏的問題,還存在一個重要的問題:任意兩個詞之間都是孤立的,僅從向量中看不出兩個詞是否有關系,即使是“西紅柿”和“番茄”這樣的同義詞也不能幸免于難.
首先,介紹三個與TF-IDF算法相關的概念:TF、DF、IDF.
TF即Term Frequency,是指某個特征詞在一篇文檔中出現(xiàn)的頻率,TF可以很好的表示某個特征詞對一篇文檔的重要程度,其計算公式可描述為:
式(1)中,分子為特征詞word在本篇文檔中出現(xiàn)的次數(shù),分母為本篇文檔一共包含的詞的個數(shù).
DF 即 Document Frequency,是指某個特征詞在文檔集中出現(xiàn)的頻率,DF可以很好的表示某個特征詞在文檔集中的分布特征,其計算公式可描述為:
式(2)中,分子為文檔集中包含特征詞word的文檔數(shù)量,分母為文檔集中文檔的總篇數(shù).
IDF 即 Inverse Document Frequency,是指逆向文檔頻率,它可以很好的表示某個特征詞的類別區(qū)分能力,其計算公式可描述為:
因此,Salton 在 1973 年提出了 TF-IDF (Term Frequency-Inverse Documentation Frequency)算法[9],并被論證了在信息檢索領域的有效性[10].TF-IDF算法是目前最常用的特征詞權重計算方法,其計算公式可描述為:
Word2vec是由Mikolov提出的一種可以快速有效訓練詞向量的模型,word2vec吸收了Bengio在文獻[11]中提出的 NNLM 模型 (Neural Network Language Model)和Hinton在文獻[12]中提出的logLinear模型的優(yōu)點,使用 Distributed Representation 作為詞向量的表示方式[13].其基本思想是:通過訓練,將每個詞映射成K維實數(shù)向量(K一般為模型中的超參數(shù)),通過詞向量之間的距離來判斷它們之間的語義相似度,采用一個三層的神經(jīng)網(wǎng)絡,分別為:輸入層-投影層-輸出層.并根據(jù)詞頻生成Huffman編碼 ,使得所有詞頻相似的詞隱藏層激活的內容基本一致,使出現(xiàn)頻率越高的詞語激活的隱藏層數(shù)目越少,有效的降低了計算的復雜度,從而大大提高了word2vec處理效率,Mikolov曾在在文獻[14]中指出,一個優(yōu)化的單機版本一天可訓練上千億詞.
Word2vec除了擁有很高的處理效率外,經(jīng)word2vec訓練出的詞向量還有一個重要特征:可以揭示特征詞之間的潛在聯(lián)系.使用word2vec訓練出的詞向量,其每一維可以表示該特征詞的一個潛在特征,該特征包含但不限于該特征詞所在的句子結構、上下文語義.通過word2vec訓練得到的詞向量,根據(jù)余弦夾角公式,如式(5),可以很容易地推算出在語義上與某個特征詞最為相近的其他特征詞.
本文提出的基于word2vec的文檔分類方法,共可分為三個階段:預處理階段、特征提取-建向量階段、分類階段,總流程圖如圖1所示.
預處理階段主要有兩項任務:去掉文檔中無用的格式和停詞、進行文檔分詞.
從互聯(lián)網(wǎng)上采集到的文檔,大部分是格式不一、排版不齊的文檔,這些文檔中往往會包含大量html標簽、空行、標點,為提高后續(xù)任務的效率與精準度,必須把這些無用的格式過濾掉.眾所周知,文檔的行文中往往還會含有一些“的”、“了”、“嗎”、“等”……這些出現(xiàn)頻率極高但又毫無語義的詞匯,即停詞[15,16],停詞對后續(xù)任務的執(zhí)行效率和精準度也是有很大影響的,所有也必須過濾掉.
經(jīng)由前一個步驟的處理,文檔集的規(guī)模會縮小三分之一左右,大大提高了文檔分詞的效率.接下來便是采用分詞器對文檔進行分詞操作,文檔分詞對于下一個階段的特征詞袋建立和建立文檔向量至關重要,文檔分詞是將文檔集變?yōu)閿?shù)字向量集的先決條件.
圖1 總流程圖
經(jīng)由上一個階段處理,文檔集中的每一篇文檔都變成了一個詞集doc={word|word∈doc}={word1、word2、word3……}.本階段主要有三項任務:建立特征詞袋、濃縮特征詞袋、建立文檔向量.
在第二節(jié)中已經(jīng)介紹到,DF即某個特征詞在文檔集中出現(xiàn)的頻率,在該階段的第一個任務便是根據(jù)特征詞的DF建立特征詞袋,以盡可能的保留文檔集中的重要特征.某個特征詞的DF值越大說明該特征詞在文檔集中分布越廣泛,同時也說明該特征詞的個性描述能力越低.DF 的取值范圍為[1/n,1],其中:
DF取值為1時,表示文檔集中每篇文檔都包含該特征詞;DF不可能取0值,只可能無限接近于0,若某個特征詞的DF等于1/n,其中n為文檔集中文檔的總篇數(shù),則表示該特征詞只在一篇文檔中出現(xiàn)過.顯然,若要選取即能兼顧覆蓋率又能保證特征描述力的特征詞袋,DF=1和DF=1/n的特征詞是均不能放入詞袋的.根據(jù)經(jīng)驗值及實驗論證,能放入特征詞袋的特征詞DF 的取值范圍一般為:[0.1/CN,1/2],其中CN為訓練集數(shù)據(jù)分類結果中類簇的個數(shù),即放入特征詞袋的特征詞至少保證在某類文檔集的十分之一的文檔中都出現(xiàn)過,同時又不會在全部文檔集的一半以上的文檔中出現(xiàn)過,這樣既可以保證特征詞的“個性”,也可以很好兼顧特征詞的“共性”.
該階段的第二個任務是濃縮特征詞袋.將上一個步驟得到的詞袋中的特征詞輸入進word2vec,利用word2vec將特征詞集訓練成詞向量,并將這些詞向量進行劃分聚類,選取詞向量之間的夾角余弦做相似度度量.當兩個詞向量夾角余弦等于1時,這兩個特征詞完全重復;當兩個詞向量夾角的余弦值接近于1時,兩個特征詞相似;兩個詞向量夾角的余弦越小,兩個特征詞越不相關.通過word2vec的訓練和聚類劃分,語義相似或相近的特征詞會聚到一個類簇中,因此,幾個語義相關的特征詞,可以從中選取一個特征詞乘以與其的夾角余弦值來表示,如公式(7)所示:
舉例說明,經(jīng) word2vec 訓練,“番茄”的詞向量與“西紅柿”的詞向量夾角余弦為0.73(訓練結果與輸入詞集有關).顯然,特征詞袋以及文檔集中的“番茄”可以用“西紅柿”乘以 0.73 來代替,以此類推,利用 word2vec這一優(yōu)良特性可以大幅縮減特征詞袋的大小,有效預防后期文檔向量維度災難的發(fā)生.
該階段的最后一個任務的是建立文檔向量.首先,依據(jù)TF-IDF詞權算法計算出特征詞袋中每個特征詞在每篇文檔中的權重,然后以每個特征詞為維度建立文檔向量,文檔向量的維度等于特征詞袋中特征詞的個數(shù).至此,文檔不再由文字或詞語來描述,而是由數(shù)字來描述,文檔集由文字的集合變成了數(shù)字向量的集合,如式(8)所示,方便了后期的分類計算.
本階段的主要任務是對文檔向量集進行分類.
分類階段的相似度計算公式為:
相似度計算公式采用歐式距離乘以夾角余弦的倒數(shù),這樣既考慮了向量間的空間距離大小又兼顧了向量間的夾角方向問題,防止了距離小但方向反向的向量被分類到一個類簇中.
該階段完成后,相似度高的文檔便會被分到一個類簇中.至此,便完成了對文檔的分類工作.
針對上文提出的基于word2vec的文檔分類方法進行了實驗設計,本文實驗選用的數(shù)據(jù)集為搜狗中文實驗室的全網(wǎng)中文新聞數(shù)據(jù)集——“SogouCA”精簡版[17],該數(shù)據(jù)集采集了來自多家新聞站點9個欄目的分類新聞數(shù)據(jù),共17910篇文檔,實驗數(shù)據(jù)集中的文檔分類情況如表1所示.
表1 “SogouCA”數(shù)據(jù)集分布
本文實驗的預處理階段,分詞器選用的是中國科學院的漢語詞法分析系統(tǒng)ICTCLAS(Institute of Computing Technology Chinese Lexical Analysis System)[18].在最終的分類階段,選用 KNN(K=10)和SVM兩種分類器分別進行了分類實驗,以消除不同分類器對分類結果的影響,并且采用五分交叉驗證法,把數(shù)據(jù)量隨機分成5份,每次取其中4份作為訓練集,剩余1分做測試集,最終取5次實驗結果的平均值.
本文實驗采用C++作為算法的實現(xiàn)語言,開發(fā)環(huán)境為 Visual Studio 2013,將本文提出的文檔分類方法同文獻[6]中的方法和文獻[7]中的方法進行了對比實驗.
本文實驗引入三個文本分類領域常用的評價指標,即:召回率、精準率和F-measure值[19].
其中,召回率(Recall)是指某個類簇內同屬于某類別文檔的數(shù)量與文檔集中本屬于該類別文檔的數(shù)量的比值,一般用字母R表示;準確率(Precision)是指某個類簇內同屬于某類別文檔的數(shù)量與該類簇內所有文檔的數(shù)量的比值,一般用字母P表示;F-measure值是召回率(R)和準確率(P)的幾何平均值,是用來綜合評價文檔的分類效果的一種指標,其計算公式可描述為:
17910篇文檔經(jīng)過去停詞、分詞器分詞后,特征詞袋中不重復的特征詞有84874個,根據(jù)DF排序,提取DF大于0.01且小于0.5的特征詞,共提取特征詞2493個,經(jīng)word2vec濃縮后,特征詞袋還有340個特征詞,大大消除了后期文檔向量的維度災難隱患.
表2 文獻[6]分類方法效果 (單位:%)
表3 文獻[7]分類方法效果 (單位:%)
表4 本文分類方法效果 (單位:%)
從表2、表3、表4中可以看出,排除分類器因素,本文提出的文檔分類方法在召回率上,較文獻[6]中的分類方法提高了6.82%,較文獻[7]中的分類方法提高了4.15%;在準確率上,較文獻[6]中的分類方法提高了5.71%,較文獻[7]中的分類方法提高了 2.12%;在 F-measure值上,較文獻[6]中的分類方法提高了6.29%,較文獻[7]中的分類方法提高了3.14%.因此,本文提出的基于word2vec的文檔分類方法在分類效果上均優(yōu)于其他兩種方法,證明了本文提出的方法在文檔分類方面的有效性.
本文在分析、總結前人研究經(jīng)驗的基礎上,針對文檔分類中的兩個難點——文檔的特征提取和文檔的向量表示,提出了一種基于word2vec的文檔分類方法.該方法根據(jù)DF采集特征詞袋,以盡可能的保留文檔集中的重要特征詞,利用word2vec的潛在語義分析特性,濃縮了特征詞袋的大小,將語義相關的特征詞用一個主題詞乘以合適的系數(shù)來代替,降低了文檔向量的維度,節(jié)約了分類階段的耗時,并且該方法還結合TFIDF改進算法,對特征詞進行加權,賦予每個特征詞合適的權重.最后,本文設計了三組對比實驗,與另外兩種文檔分類方法相比,本文提出的基于word2vec的文檔分類方法在分類效果上較其他兩種方法均有所提高.
1 Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space.arXiv:1301.3781,2013.
2 Hwang M,Choi C,Youn B,et al.Word sense disambiguation based on relation structure.Proc.of the 2008 International Conference on Advanced Language Processing and Web Information Technology.Dalian,Liaoning,China.2008.15–20.
3 蘇金樹,張博鋒,徐昕.基于機器學習的文本分類技術研究進展.軟件學報,2006,17(9):1848–1859.
4 孫建濤.Web挖掘中的降維和分類方法研究[博士學位論文].北京:清華大學,2005.
5 胡承成.基于文本向量的微博情感分析[碩士學位論文].北京:中國科學院大學,2015.
6 李學明,李海瑞,薛亮,等.基于信息增益與信息熵的TFIDF 算法.計算機工程,2012,38(8):37–40.
7 唐明,朱磊,鄒顯春.基于 Word2Vec 的一種文檔向量表示.計算機科學,2016,43(6):214–217,269.[doi:10.11896/j.issn.1002-137X.2016.06.043]
8 Lauly S,Boulanger A,Larochelle H.Learning multilingual word representations using a bag-of-words autoencoder.Computer Science,2014.
9 Salton G,Yu CT.On the Construction of Effective Vocabularies for Information Retrieval.Proc.of the 1973 Meeting on Programming Languages and Information Retrieval.New York,NY,USA.1973.48–60.
10 Salton G,Fox EA,Wu H.Extended boolean information retrieval.Communications of the ACM,1983,26(11):1022–1036.[doi:10.1145/182.358466]
11 Bengio Y,Ducharme R,Vincent P,et al.A neural probabilistic language model.The Journal of Machine Learning Research,2003,3(6):1137–1155.
12 Mnih A,Hinton G.Three new graphical models for statistical language modelling.Proc.of the 24th International Conference on Machine Learning.Corvalis,Oregon,USA.2007.641–648.
13 Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space.arXiv:1301.3781,2013.
14 Mikolov T,Sutskever I,Chen K,et al.Distributed representations of words and phrases and their compositionality.Proc.of Advances in Neural Information Processing Systems 26.2013.
15 熊文新,宋柔.信息檢索用戶查詢語句的停用詞過濾.計算機工程,2007,33(6):195–197.
16 Lo RTW,He B,Ounis I.Automatically building a stopword list for an information retrieval system.Journal of Digital Information Management,2005,(3):3–8.
17 “SogouCA”語料庫.http://www.sogou.com/labs/resource/ca.php,2012.
18 Zhang HP,Yu HK,Xiong DY,et al.HHMM-based Chinese lexical analyzer ICTCLAS.Proc.of the 2nd SIGHAN Workshop on Chinese Language Processing.Sapporo,Japan.2003.184–187.
19 Anoual H,Aboutajdine D,Elfkihi S,et al.Features extraction for text detection and localization.Proc.of the 5th International Symposium on I/V Communications and Mobile Network (ISVC).Rabat,Morocco.2010.1–4.
Document Classification Method Based on Word2vec
CHEN Jie,CHEN Cai,LIANG Yi
(Faculty of Information Technology,Beijing University of Technology,Beijing 100124,China)
The feature extraction and the vector representation are the key points in document classification.In this paper,we propose a classification method based on word2vec for the two key points.This method builds the bag of feature words by Document Frequency (DF)to retain the important feature of the document as much as possible.It takes advantage of the Latent Semantic Analysis of word2vec thus to reduce the size of bag of feature words and the dimension of document vector effectively,which replaces the semantically relevant words with the product of a topic word and proper parameters.Besides,it also gives each feature word the optimal weight by combining with the TF-IDF algorithm.Finally,compared with two other document classification methods,the method presented in this paper has made some significant progress,and the experimental result has proved its effectiveness.
document vector;feature extraction of document;document classification;TF-IDF;word2vec
陳杰,陳彩,梁毅.基于 Word2vec 的文檔分類方法.計算機系統(tǒng)應用,2017,26(11):159–164.http://www.c-s-a.org.cn/1003-3254/6055.html
2017-02-23;修改時間:2017-03-09;采用時間:2017-03-20
?