孟 濤,王 誠
(南京郵電大學 通信與信息工程學院,江蘇 南京 210003)
隨著社交網絡和電子商務的飛速發(fā)展,微博、Twitter、商品評價、實時新聞推送等短文本形式已成為互聯(lián)網的主流內容。短文本通常長度較短,范圍在10到140個字。研究短文本中熱點話題的分類挖掘以及監(jiān)測網絡輿情信息對各種領域決策方面有著重要的應用前景,因此如何高效正確地挖掘短文本成為了一個研究的熱門方向[1]。
針對常規(guī)文本分類,大多是利用傳統(tǒng)的向量空間模型(vector space model,VSM)將文本向量化并按向量之間的歐氏或余弦距離計算文本間的關系,在處理長文本時取得了很好的分類效果[2]。但是由于短文本文檔長度較短,詞項共現(xiàn)信息相對于常規(guī)文本非常匱乏,會存在向量空間信息稀疏問題。而VSM忽略了詞語之間的語義相似度,詞本身無法存儲語義信息,會嚴重限制短文本主題分類的質量[3]。
對于缺乏語境信息而導致向量空間信息稀疏性的短文本問題,現(xiàn)有方法主要遵循兩個方向來豐富短文本。第一種是僅使用隱藏在當前短文本上下文中的規(guī)則或統(tǒng)計信息來擴展特征空間[4],稱為基于自我資源的方法。另一種是通過外部資源擴展特征空間,稱為基于外部資源的方法[5],該方法可以分為四類,包括基于鏈接的方法[6]、基于Web搜索的方法[7]、基于分類的方法[8-10]以及基于主題的方法[11]。其次還有一種方式是將詞矢量作為輸入特征,利用卷積神經網絡進行訓練[12]。
現(xiàn)有的短文本研究存在的問題:引入背景知識和對外部相關數(shù)據(jù)的過度依賴,未從句子語義層面出發(fā),無法深度挖掘短文本所表達的語義;改進短文本詞向量的權重計算方法,但忽略了上下文因素。
針對短文本特征向量較少的問題,提出使用神經概率語言模型中的Word2vec技術進行詞嵌入來訓練擴展短文本中的詞向量[13]。詞嵌入也被稱為詞向量和詞的分布式表示,已被證明在捕獲語言中的語義規(guī)則方面是有效的,具有相似語義和語法屬性的詞被投影到向量空間中的相同區(qū)域,由此產生的語義特征被用作補充信息來克服短文中語境信息的局限性。詞嵌入具有兩個優(yōu)點:維度縮減,上下文相似性。為了更好地利用詞嵌入后向量空間中的詞矢量,進一步將背景語料與詞的語義相關度相結合,并用改進后的特征權重的計算方式去區(qū)分詞匯的重要程度,去除大多數(shù)背景詞在語義上沒有關聯(lián)的詞匯。最后通過KNN分類方法對所提出的改進算法進行實驗分析比較,以驗證該方法可提高短文本分類精度的有效性。
Word2vec是Google發(fā)布的一個NLP(neuro-linguistic programming,神經語言程序學)開源工具。 Word2vec采用distributed representation表示詞向量,這種表達方式不僅可以避免one-hot representation的維數(shù)災難問題,使詞向量的維度變小,而且可以比較容易地用普通統(tǒng)計學方法來分析詞與詞之間的關系。
Word2vec模型使用CBOW(continuous bag-of-words)和skip-gram[14]兩種結構作為學習模型。CBOW模型是使用上下文來預測目標詞,而skip-gram模型的思路是使用特定的詞去預測對應的上下文。這兩種方法都需要利用神經網絡對大規(guī)模語料進行語言模型訓練,同時能夠得到描述語義和句法關系的詞矢量。CBOW模型使用上下文來預測目標詞,會因為窗口大小的限制丟失短文本訓練語料集中的相關語義信息;而Skip-Gram模型使用當前詞來預測目標上下文可避免該問題,能夠高效進行詞矢量的訓練,所以文中選用Word2vec的skip-gram模型。
TF-IDF[15](term frequency-inverse document frequency,詞頻-逆文檔頻率)是一種用于信息檢索與數(shù)據(jù)挖掘的傳統(tǒng)加權方式,如式1所示:
(1)
其中,Wij是詞tj在短文本di中的權重;tfij是詞tj在短文本di中的詞頻表示;idfj是詞tj的逆文檔頻率;N是語料庫中短文本文檔的總數(shù);nj是訓練背景語料庫中出現(xiàn)tj的短文本數(shù)量。
由于短文本的數(shù)據(jù)稀疏性,導致TF-IDF權重算法的特征權重區(qū)分度不足。因此文中提出改進詞頻TF以及IDF權重以解決短文本分類中的數(shù)據(jù)稀疏性與文本區(qū)分度問題。
針對IDF權重算法,Basili提出了IWF權重算法[16],表達式如下:
(2)
相對于傳統(tǒng)的IDF部分,顯著區(qū)別在于IWF權重算法中對詞逆文檔頻率做平方處理,其共同目的都在于降低高頻率出現(xiàn)且相對來說無意義的詞。Basili認為IDF的逆頻率方面太過絕對,因此為了平衡各詞的貢獻,采用了平方去降低并緩和語料庫中包含出現(xiàn)該詞的文檔對該詞權重的影響,該方法也被證明相對IDF有更好的分類效果。同時,IWF應用到短文本領域對關鍵詞快速提取也起到了更精確的效果,因為短文本本身的特性,該方法可以有效緩解短文本中計算詞權重的偏向程度。
相比IDF與IWF的改進方式,對于TF采取類似的改進方式。tfij的定義是短文本di中詞tj的詞頻,由于短文本相對于長文本字數(shù)較少的特性,其詞頻也相對較低,所以單純使用原公式的TF相對于短文本并不適用。針對短文本的稀疏性使得難以從詞頻信息來判斷該詞的重要程度,需要降低并削弱詞頻對權重的影響,所以做出以下改進:
(1)考慮采用對數(shù)函數(shù)log(底數(shù)為10)對tfij作處理,由于tfij是小數(shù),直接進行l(wèi)og處理會是負數(shù),所以做加1處理,即log(1+tfij)。
(2)考慮到擴展后的短文本中關鍵詞相對擴展的集中性,用對數(shù)函數(shù)削弱會導致詞頻降低的太過絕對,詞頻之間相差會比較大,從而影響短文本分類的性能。所以引入方根來緩和差異性較大的問題,但是對于緩和程度,即方根的次數(shù)θ,需要結合實際短文本做實驗來確定,即(log(1+tfij))1/θ。
該方法改進的意義在于,選用對數(shù)函數(shù)來降低詞頻的影響,但是對于短文本詞頻來說對數(shù)函數(shù)削弱的太過絕對,所以引入方根來做緩和,該方法的有效性將通過具體實驗進行驗證。綜合以上改進,得到改進后的權重計算公式,記為TF’-IWF。
(3)
對于短文本稀疏的特性,使用外部語料集來擴展短文本。首先,通過收集相關訓練語料庫作為訓練短文本的擴展詞典,并使用Word2vec模型處理該語料庫,并測試擴展后的語義相關性;然后通過Word2vec訓練詞的語境相關概念并用來處理擴展短文本的詞向量。該方法的一般框架如圖1所示。
圖1 短文本分類過程
在對短文本做功能擴展之前對短文本進行預處理,包括三個主要步驟:中文版分詞、停用詞過濾和特征選擇。文中采用比較成熟的中文分詞工具-結巴分詞將短文本收集成分詞;之后對停用詞進行過濾,通過功能選擇保留了有代表性的詞;最后,使用式3對特征進行加權,得到短文本的向量表示。
文中使用整理好分類的新聞語料庫,總共包含39 247篇新聞,分為歷史、軍事、文化、經濟、教育、IT、娛樂、法制總共八個類別。對于詞嵌入擴展的新聞數(shù)據(jù)集,使用中文的百度百科網站上抓取的10萬篇文檔信息和已整理好的新聞語料庫的新聞內容當作訓練語料詞典,即語料庫。
首先,使用Word2vec模型去訓練整理好的新聞語料庫,得到詞的相關語境概念。對于使用Word2vec訓練得到的詞相關語境概念只是為了預測之后測試短文本過程中的副產物,而不是結果。
(1)訓練語料庫中詞的相關語境概念。
定義訓練的新聞語料庫為詞庫vocab,其中文本數(shù)定義為di,文本中出現(xiàn)的詞定義為tk,M是指詞向量維數(shù)。
vocab={tk|k∈[1,M]}
使用Word2vec模型訓練該語料庫,將得到詞相關語境的向量空間Ck(disk,1,disk,2,…,disk,n),一個輸入單詞,有n個輸出概率結果,n是指該詞在相關詞庫出現(xiàn)的次數(shù)。該訓練過程只包括該詞的語義環(huán)境,并不針對整個詞庫。
該相關語境的詞向量空間Ck不是預測的目標(語義相關度才是需要的),該詞向量是為之后測試輸入詞用來學習的表達,是為了測試短文本任務中預測所給單詞的語義環(huán)境。該相關語境的詞向量Ck是Word2vec模型在試圖通過不斷學習該詞的一個好的數(shù)學表達來提高預測詞分類的精確結果。在模型重復循環(huán)的過程中,不斷調整完善詞的數(shù)學表達。
(2)測試短文本與相關語境之間的語義相關度。
在得到訓練語料庫中詞的相關語境概念后,需要測量測試短文本中詞的語境向量Ci與其相關詞語境向量空間Ck之間的語義相關度。其中測試短文本詞的語境向量Ci是用Word2vec得到詞ti在該文本語境中的矢量表示,表示形式為Ci(disi,1,disi,2,…,disi,n)。
文中用Word2vec來處理,得到測試文本中詞的語境向量Ci與訓練語料庫中詞的相關語境向量概念Ck,并測量兩者的語義相關度,具體過程如圖2所示。
圖2 語義相關性的具體過程
語義相關度的定義如下:
(4)
經過以上處理,最終得到測試短文本的文檔向量表示C(di),C(di)=((C1,R1),(C2,R2),…,(Cn,Rn)),其中Ri(1≤i≤n)是詞ti的語境向量Ci和涉及到的Ck的語義相關度。
擴展特征項是短文本分類的核心,基于語料庫擴展短文本特征的方式有助于解決數(shù)據(jù)稀疏性問題和傳統(tǒng)缺乏描述短文本類特征的能力。在對短文本進行預處理后,得到特征項列表及其加權值為((t1,tf'iwf1),(t2,tf'iwf2),…,(tm,tf'iwfm)),tf'iwfi是特征項ti的加權值,由式3計算,m是短文本中特征項的數(shù)量?;谡Z料庫的Ck擴展特征空間,該方法由以下步驟完成。
(1)確定特征詞ti有無語料中對應的詞嵌入。如果有該詞ti的相關語義知識,則繼續(xù)下一步;如果不是,則更改為下一個特征詞。
(2)將相關語義加到特征向量中,得到語義詞Ci和相關語境集合Ci((C1,R1),(C2,R2),…,(Cn,Rn))的特征項ti。對于擴展性能是否合理以及最佳性,需要設定閾值φ來判斷詞嵌入的質量。
(3)使用特征權重定義擴展后短文本集。為了準確衡量擴展后的詞對短文本原始語義的影響,結合短文本特征的重要性和擴展語境之間的相關性,通過式5計算擴展項的權重值。
(5)
其中,weighti,j是擴展項j的權重值;tf'iwfi是短文本中特征詞ti的加權值;Rj是語義相關度。如式5所示,記為TF’IWF-Rj。
從以上的處理分析可得到短文本的向量空間包含原始特征項和上述處理之后擴展的詞向量。
文中使用整理好分類的新聞語料庫,總共包含39 247篇新聞,分為歷史、軍事、文化、經濟、教育、IT、娛樂、法制共八個類別。數(shù)據(jù)集包括新聞標題及新聞內容,文本采用原新聞標題數(shù)據(jù)集作為短文本數(shù)據(jù)集,內容數(shù)據(jù)集作為背景語料庫數(shù)據(jù)集。按照u:v(u+v=1)的比例將短文本數(shù)據(jù)集進行分類,其中u是用于訓練的數(shù)據(jù)集,v是用于測試的數(shù)據(jù)集。
實驗平臺:兩臺Linux操作系統(tǒng)的計算機搭建Spark集群,這兩臺計算機一個Master節(jié)點,一個Slave節(jié)點,兩臺計算機都同時部署Hadoop 2.6.4和Spark 2.1.0,Hadoop提供HDFS等底層文件支持。
分類評價指標主要包括預測準確率Precision、召回率Recall和二者的綜合評價指標調和平均數(shù)F1。
通過Word2vec獲得百度百科網站等新聞語料庫中概念的特征矢量。擴展短文本時,根據(jù)篩選出的語義相關詞的質量來決定閾值φ。設置擴展閾值φ=0.5,該擴展的參數(shù)調整使分類準確率達到最高,并設置θ來權衡擴展短文本權重比例對分類的影響。最后使用Spark中可用的KNN分類器實現(xiàn)實驗[17]。
4.3.1 改進詞頻對分類結果的影響
為了驗證所提降低詞頻的算法對短文本的實用性,從語料庫中選取已標注關鍵詞的8個類別中不相關的短文本作為測試文本集。
對于式3中方根次數(shù)θ的選定,依次選擇θ值等于1、2、3、4,并進行實驗分析不同方根值對短文本分類結果的影響。比較數(shù)據(jù)如表1所示。
表1 不同θ值對分類結果的影響
續(xù)表1
從圖3中可以發(fā)現(xiàn),當θ=2時,分類結果相較于其他值較好,同時也驗證了考慮方根值緩和對數(shù)函數(shù)削弱詞頻太過絕對性方面是有意義的。
圖3 詞頻中不同θ值對分類性能的影響
4.3.2 改進的關鍵詞提取算法比較
對于關鍵詞加權算法TFIDF與TFIWF和TF’IWF的比較,采用確定值θ=2,通過實驗來具體比較它們的性能。一般關鍵詞提取算法的評估是通過精確率和召回率來評測算法性能,比較如圖4所示。
從圖4中可看出,文中算法提取的關鍵詞在分類的準確率和召回率上相對于傳統(tǒng)TFIDF算法提高了10%左右,驗證了該算法在短文本上的適用性更可取。
圖4 不同關鍵詞提取算法對分類結果的影響
4.3.3 引入Word2vec方法分類對比
通過三個實驗來驗證該方法的效果。其中使用原始的TFIWF+Word2vec的詞嵌入特征測試短文本的分類性能;用Word2vec與改進后的TF’IWF加權方法作為第二組對比實驗;最后用文中改進的TF’IWF-Rj方法與Word2vec進行對比。實驗數(shù)據(jù)如表2所示。
從表中可以看出,文中方法比Word2vec和TF’IWF相融合的方法在準確率、召回率都有提高,其中F1值從89.2%上升到91.7%,整體提高了2.5%;與Word2vec融和TFIWF方法相比較,在F1值指標中有8.7%左右的提高。
表2 引入Word2vec的分類結果對比
4.3.4 綜合比較
由于以上對比改進的關鍵詞提取算法和引入Word2vec都是基線比較,為了直觀表現(xiàn)該方法的有效性,將比較只引入詞嵌入的方法1:Word2vec,只引入關鍵詞最優(yōu)的提取算法作為方法2:TF’IWF,以及與文中所提出的方法3:TF’IWF-Rj+Word2vec作比較。比較結果如圖5所示,可以直觀地看出文中算法的有效性。
圖5 方法綜合比較
與傳統(tǒng)文本向量空間模型相比,通過Word2vec擴展短文本特征向量,使用語義相關度并融合改進后的權重計算可以有效地改進短文本的稀疏性和缺少上下文語義分析的問題,進而提高了短文本分類的性能。下一步可以考慮分類主題模型的創(chuàng)新以及對擴展訓練語料進行研究,從而繼續(xù)提高算法的精度和適用性。