彭俊利 王少泫 陸正球 李興遠



摘 要:針對自然語言處理中傳統文檔表示方法上下文語義信息不全,干擾詞多等問題,提出了一種基于LDA-TF-IDF和Word2vec的文檔表示方法。首先對數據集進行分詞、去停用詞等預處理;其次,利用LDA主題模型和TF-IDF抽取文檔中具有表征性的特征詞,并計算對應權重;最后,應用數據集訓練Word2vec模型獲取詞向量,并將抽取的特征詞權重融入Word2vec詞向量構建文檔語義向量。通過分類任務對該方法進行驗證,實驗結果表明,與已有方法相比該方法在垃圾短信數據集上表現效果更佳,驗證了方法的有效性。
關鍵詞:LDA主題模型; TF-IDF; word2vec; 文檔表示
中圖分類號:TP391.1? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? 文章編號:1674-2346(2023)02-0091-06
在大數據、人工智能時代,各類文本信息呈現指數級增長,互聯網每時每刻都在產生數以億計的文本數據,文本向量化表示可以幫助用戶在巨量數據中快速獲取所需的信息。目前,文檔表示方法一般分為兩種:一種是基于詞袋模型(Bag-of-Word,BoW)[1]的構建方法,將所有文檔看成詞語的集合,計算文檔中詞語的詞頻信息構建文檔向量;另一種方法是基于詞嵌入(Word Embedding)的構建方法,通過深度學習模型建立詞語與上下文的聯系,并將所有詞語都映射到某一維度的連續向量空間中,使詞向量中包含更加豐富的語義信息,然后對詞向量進行處理,得到文檔向量。
上面兩種文檔表示方法存在著一定的問題。詞袋模型不考慮文檔中詞語的順序、語義等信息,將文檔表示為一個同數據集所有詞語總數相同維度的向量,向量每一維度上的值就是該位置詞語的詞頻信息[2]。當利用詞袋模型獲取較大數據集的文檔向量時,會得到高維向量,從而增加計算難度。而且這類高維向量具有稀疏性,即文檔中詞語表現在向量中的形式只有在極少數維度上存在有效權重[3]。此外,詞袋模型的權重計算僅利用了詞的頻率,并未考慮詞語在文中的語境,導致權重中缺乏語義信息,無法識別諸如“西紅柿”“番茄”這類多義詞。2013年,Mikolox等[4]提出的Word2vec模型使自然語言處理任務正式邁入了詞嵌入模型時代,Word2vec利用詞語與上下文的關聯性,利用深度學習算法將詞語轉化為低維實數向量,有效解決了詞頻統計法存在的維度災難問題。但詞和向量是一一對應關系,多詞一義或一詞多義的問題并沒有得到有效解決。隨著對詞嵌入模型的深入研究,CoVe、XLNet等基于深度學習的詞嵌入模型相繼出現,也被稱為預訓練模型。這些預訓練模型在各類自然語言處理任務中都取得了很好的效果,贏得了學者們的青睞。但這類模型對算力、內存的要求極高,在很多任務中無法普及,所以Word2vec依然在各種自然語言處理任務中被廣泛使用[5]。
文檔中的詞語少則幾十多則上千,然而能表達文檔主題的關鍵詞卻不多。去除干擾詞,利用具有代表性的詞語構建文檔的語義向量是研究熱點之一[5]。當前研究成果多是將詞頻―逆文檔頻率(Term Frequency-Inverse Document Frequency, TF-IDF)[6]和詞嵌入模型結合構建低維語義向量。汪靜等[7]將詞性、TF-IDF和Word2vec三者結合構建文本語義向量,最后在分類任務中驗證了方法的可行性;石琳等[8]對TF-IDF進行了優化,并加權到Word2vec模型訓練得到的詞向量來表示文檔,在物流評價的分類預測中得到了較好的結果。但這些方法將詞語的TF-IDF權重與詞向量結合時并未考慮詞語在不同類別間的重要程度。針對這一問題,本文提出了一種融合隱含迪利克雷分布(Latent Dirichlet Allocation,LDA)、TF-IDF與Word2vec的文檔表示方法,先利用LDA主題模型計算文檔、主題、詞語的3層關系與權重信息,篩選出能表達文檔含義的詞語集合,再將該集合內所有詞語的LDA權重、TF-IDF值與詞向量進行融合,構建文檔向量。最后,在垃圾短信數據集上進行測試,驗證了該方法的有效性。
1? ? 相關模型介紹
1.1? ? TF-IDF模型
TF-IDF模型是基于概率統計的算法,根據某詞語在某文檔中出現的頻次和整個數據集中出現的頻次衡量一個詞語的權重。在數據集中,若某詞語僅在少數文檔中出現,且該詞在文檔中被頻繁使用,則該詞語就能很好代表文檔的主題。TF指詞語在某篇文檔中出現的次數,即詞頻,如公式(1)所示。
但TF-IDF值只是通過詞語出現的頻率來代表重要程度,并未包含詞語的語義信息。無法區分多詞一義和一詞多義的情況,如若“土豆”和“馬鈴薯”的頻次信息不同,就會導致TF-IDF權重不同。
1.2? ? LDA主題模型
LDA主題模型是由Blei等[9]提出的一種生成文本、主題、詞3層結構的貝葉斯概率模型。LDA建立在這樣一種假設下:每篇文檔都能提煉出若干主題,而文檔中又有若干詞匯能夠代表每個主題[10]。層次結構圖如圖1所示。
如圖2所示,LDA主題模型由參數( , )確定, 為分布的超參數,是一個K維向量, 描述了各主題自身的概率分布情況[10]。
其中, 和 在使用算法時憑借經驗進行設置, m表示文檔與主題之間的概率關系,表示主題與詞匯之間的概率關系,M表示文檔數,K表示主題數,N表示每篇文檔中各主題對應的詞語數目,Z表示詞在各主題中的分布情況[12]。通過吉布斯采樣估計 和。
1.3? ? Word2vec模型
Word2vec是一種用于獲取詞向量的詞嵌入模型。它將所有的詞向量化,詞向量中包含了詞語與上下文之間的語義信息,可以較好地衡量詞與詞之間的關系。
Word2vec包含兩類預測模型:CBOW和Skip-gram。CBOW模型根據中心詞前后各c個詞語來預測中心詞,每個詞語都會作為中心詞對詞向量進行調整,如圖3(a)所示;Skip-gram模型相反,根據中心詞預測前后各c個詞語,如圖3(b)所示。
CBOW模型的輸入層是詞wt的前后各c個one-hot詞向量,這2c個詞向量在投影層進行累加運算,再應用隨機梯度上升法對投影層進行預測,將結果傳到輸出層。輸出層是一棵哈夫曼樹,在訓練中用詞語作為葉子結點,將詞語的頻次信息作為各結點的權重[2]215。Skip-gram模型原理相似。當訓練完成后,使用詞向量V進行簡單的計算可發現類似關系:V(女王) = V(國王)-V(男人)+V(女人)[13],可見詞向量包含了詞語一定程度的語義信息。
2? ? 融合LDA-TF-IDF和Word2vec的文檔表示方法
考慮到詞語權重信息的重要性以及干擾詞對文檔向量語義信息的影響,本文首先通過LDA獲取各主題下詞語的概率權重,選取具有強表征性的詞語,并將LDA概率權重、TF-IDF值與Word2vec詞向量進行融合,提出了一種文檔向量表示法。
2.1? ? LDA-TF-IDF算法
由于傳統的TF-IDF模型單純以詞語出現頻率來衡量一個詞語的重要性,并未包含詞語的語義信息,并且IDF缺乏考慮詞語在不同類別間的分布情況,當某類中含有該詞語的文檔數目越多,而在其他類中含有該詞語的文檔數目越少時,說明該詞語具有更好的表征性,能較好地與其他類別進行區分。
為解決這一問題,本文提出了一種新權重計算方法,先將LDA中各主題下詞語的概率權重與詞語的IDF值相加,最后將得到的值與TF值相乘,這樣得到的詞語權重融合了LDA中的主題權重,在一定程度上彌補了IDF未考慮詞語在不同類別間分布情況的缺點,增加了具有表征性的詞語與干擾詞之間的區分度。如公式(4)所示。
2.2? ? LDA-TF-IDF與Word2vec的融合
設數據集D中共M個文檔,先對數據集中的文本數據分詞,將分詞后的數據輸入Word2vec模型,預測每個詞語對應的維實數向量。同時應用LDA-TF-IDF算法篩選具有表征性的詞語構建單詞集合T,并計算每個詞語的LDA-TF-IDF權重值。
對于文檔,先提取集合T與共同存在的詞語,然后利用這些詞語的詞向量與權重信息將文檔的文檔向量表示為如公式(5)所示。
其中,表示詞語的詞向量,LDA-TF-IDF表示詞語的權重信息。通過LDA-TF-IDF與Word2vec的融合構建包含詞語在主題中的權重信息以及上下文語義信息的詞向量,使其具有更強的表征性。模型工作步驟如圖4所示。
3? ? 實驗
3.1? ? 性能評價指標
分類任務常用準確率(Precision)、召回率(Recall)、值評價效果的好壞。其中,準確率P是指分類時被分入某類所有樣本中分類正確的樣本概率,如公式(6)所示。
3.2? ? ?實驗結果與分析
為驗證本方法的有效性,本文整理了1萬條垃圾短信數據集作為實驗數據,數據集分為垃圾短信(C1)和非垃圾短信(C2)。實驗中與基于TF-IDF、Word2Vec和TF-IDF融合Word2Vec的垃圾短信識別方法進行了對比。經過多次實驗,在運用本文設計的LDA-TF-IDF模型提取特征詞時,將LDA的主題數目K設置為30,LDA超參數 =50/K, =0.01,這是常用設置。接著計算主題-詞匯概率分布,提取每個主題的主題詞,部分主題特征如表1所示。
所有實驗采用五折交叉驗證。測試結果如表2~表5所示。
由表2至表4實驗結果可以看出,TF-IDF與Word2vec模型融合后的分類效果最佳,能夠有效豐富詞向量的語義信息。
由表4至表5實驗結果可見,本文所提方法在垃圾短信識別中平均準確率P、召回率R、F1值比TF-IDF加權Word2vec分別提升了1.33%、1.42%、1.33%。用4種模型各類別評價指標的平均值制作對比圖如圖5所示。由圖可知,本文所提方法在3項評價指標上均取得了最佳效果,驗證了方法在文檔表示方面的有效性。
3? ? 結束語
針對現存文檔向量表示方法的不足之處,本文提出了一種融合LDA與TF-IDF的詞語權重計算方法,有效提取了詞語在各類別間的重要程度和語義信息,將計算出的權值與Word2vec詞向量進行進一步融合。最終在垃圾短信中文文本分類語料庫上進行了驗證,實驗表明,所提方法比基于TF-IDF模型、Word2vec模型、TF-IDF融合Word2vec模型的文檔向量表示方法效果更佳,證明了方法的有效性。但本文所提方法也有缺點,針對超短文本數據,算法可能無法有效學習到詞語的權重與語義信息,后續將針對超短文本向量表示進行研究,提高算法對語義特征提取的準確率。
參考文獻
[1]Manning C D, Schutze H. Foundations of Statistical Natural Language Processing[M].Cambridge: MIT press, 1999:229-252.
[2]唐明,朱磊,鄒顯春.基于Word2Vec的一種文檔向量表示[J].計算機科學,2016,43(06):214-217,269.
[3]陳行健,胡雪嬌,薛衛.基于關系拓展的改進詞袋模型研究[J].小型微型計算機系統,2019,40(05):1040-1044.
[4]Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[C]//International Conference on Learning Representations.2013:1-12.
[5]彭俊利,谷雨,張震,等.融合單詞貢獻度與Word2Vec詞向量的文檔表示[J].計算機工程,2021,47(04):62-67.
[6]T S Z,H M L.Mining microblog user interests based on TextRank with TF-IDF factor[J].The Journal of China Universities of Posts and Telecommunications,2016,23(05):40-46.
[7]汪靜,羅浪,王德強.基于Word2Vec的中文短文本分類問題研究[J].計算機系統應用,2018, 27(05):209-215.
[8]石琳,徐瑞龍.基于Word2vec和改進TF-IDF算法的深度學習模型研究[J].計算機與數字工程,2021,49(05):966-970.
[9]Blei D M,Ng A Y,Jordan M I. Latent Dirichlet allocation [J].Journal of Machine Learning Research,2003,3(03):993-1022.
[10]王振振,何明,杜永萍.基于LDA主題模型的文本相似度計算[J].計算機科學,2013,40(12):229-232.
[11]Dong X L,Wei L F,Zhu H J,et al.EP2DF:an efficient privacy-preserving date-forwarding scheme for service-oriented vehicular Ad Hoc networks [J].IEEE Transactions on Vehicular Technology,2011,60(02):580-591.
[12]張志飛,苗奪謙,高燦.基于LDA主題模型的短文本分類方法[J].計算機應用,2013,33(06):1587-1590.
[13]Mikolov T,Yih W,Zweig G.Linguistic Regularities in Continuous Space Word Representations[C]//Proceedings of the 2013 Conference of the North American Chapter of the Association for Computational Linguistics.Atlsnta:NAACL Press,2013: 746-751.
Abstract: Aiming at the problems of incomplete contextual semantic information and many interfering words in traditional document representation methods in natural language processing,a document representation method based on LDA-TF-IDF and Word2vec is proposed.Firstly,the data set is preprocessed by word segmentation and stopping words.Secondly,the LDA topic model and TF-IDF are used to extract the characteristic words in the document,and the corresponding weight is calculated.Finally, the data set is used to train the Word2vec model to obtain word vectors,and the extracted feature word weights are integrated into Word2vec word vectors to construct document semantic vectors.The proposed method is verified by a classification task.The experimental results show that the proposed method performs better on the spam SMS data set than the existing methods,which verifies the effectiveness of the proposed method.
Key words: LDA topic model;TF-IDF;word2vec;document representation