吳彥文,黃 凱,王馨悅,林 嫻
1(華中師范大學 物理科學與技術學院,武漢 430079) 2(華中師范大學 信息管理學院,武漢 430079)E-mail:18707125049@163.com
互聯網技術和移動社交網絡平臺的迅速發(fā)展使得微博博文、即時會話和用戶評論等中文短文本信息迅速增長.這些文本長度短、語境依賴性強,在信息檢索、文本推薦和關系抽取等領域有重要研究價值.由于短文本存在內容短小,內容口語化且噪聲大[1],同時在情感分類當中也存在短文本特征極性不顯著等問題[2],如何更精確的提取文本特征,進而采用適當的分類模型對短文本進行情感分類也成為當前研究的一個重難點問題.
科研人員試圖通過改進算法或者模型融合來更精確表征短文本特征[3-6].LDA主題模型(Latent Dirichlet Allocation,LDA)[7]作為一種成熟的技術也為研究人員所重視,Zhang[3]等考慮文本的“詞”粒度和“文本”粒度,通過融合詞向量模型與LDA主題模型并利用k-NN分類器分類,取得了較好的效果.Lv等[6]利用LDA主題模型對短文本進行預測,得到對應的主題分布,把主題中的詞作為短文本的部分特征,并擴充到原短文本的特征中去,最后利用SVM分類方法進行短文本的分類,具有良好的分類表現.
近年來,深度學習在人工智能的多個子領域都取得了顯著的進展.在自然語言處理方面,科學家利用深度學習相關模型不斷探索和嘗試,以期望獲得更好的問題解決方案.Du[8]從評論和轉發(fā)等上下文內容中挖掘具有語義遞進關系的語料擴展短文本并抽取構建情感詞典,引入深度信念網絡(Deep Belief Network,DBN)構建基于特征詞的自適應學習模型,結合SVM分類器來提高情感分類的準確率.Zhao[9]等基于word2vec實現語義信息的詞向量表示,然后基于k-means++實現語義關系的聚類提高訓練數據質量并調用LSTM(Long-short Term Memory)分類器來構建飲食健康文本分類模型,與卷積神經網絡和支持向量機相比具有更好的表現.
綜上所述,鑒于LDA模型的優(yōu)良性能,本文嘗試將LDA模型引入特征提取當中,通過word2vec模型構建詞向量,并融合LDA主題模型擴展特征來表示短文本信息,在此基礎上通過引入LSTM神經網絡分類器完成短文本的情感分類.
3.1.1 LDA模型介紹
LDA主題模型(Latent Dirichlet Allocation,LDA)于2003年由Blei D M等人提出[7],認為一篇文章的主題符合狄利克雷分布,從而獲得文本間的關系,與空間向量模型(Vector Space Model,VSM)相比增加了概率信息.LDA模型由3層生成式貝葉斯網絡結構組成[10],包含文檔(d),主題(z)和詞(w),其有向概率模型如圖1所示.
圖1 LDA概率主題模型Fig.1 LDA probabilistic topic model
定義詞表的大小為L,一個L維向量(1,0,0,…,0)表示一個詞,N個詞構成短文本d=(w1,w2,w3,…,wn),M表示文檔集D的文本數,記為D=(d1,d2,d3,…,dn).K表示文檔集D的主題數,記為zi(i=1,2,3,…,K).N表示每篇文檔包含的特征詞數.α和β為狄利克雷函數的先驗參數,θ為主題在文檔中的多項式分布,其服從超參數為α的狄利克雷先驗分布,φ為詞在主題中的多項式分布,其服從超參數為β的狄利克雷先驗分布,則在短文本dj條件下生成詞[11]:
(1)
其中,P(wi|z=s)表示詞wi屬于第s個主題的概率,P(z=s|dj)表示第s個主題在短文本dj中的概率.
LDA模型假定每篇短文由各個主題按一定比例隨機混合而成,每個主題由詞匯表中的各個詞語按一定的比例隨機混合而成,這樣可以獲得LDA模型參數之間的依賴關系[12]:
Z|θ=Multionminal(θ);θ~Dirichlet(α)
(2)
W|Z,φ=Multionminal(θ);θ~Dirichlet(β)
(3)
這里我們采用變分推斷(Variational Inference)法計算[13].參數值可以采用極大似然估計,找出一對α和β使得似然函數值最大.然后利用EM算法[14],每一次輸入α和β最大化似然函數,直到函數收斂,得到最終的參數值.
3.1.2 融合詞向量與LDA模型的文本表示方法
Zhang[3]選擇文本中的每個詞語所屬的概率最大的主題,然后根據LDA模型匹配對應主題詞,選取前k個主題詞作文該詞語的擴展特征,該方法利用主題-詞語分布信息.Lv[6]計算文檔中每個詞的TF-IDF值將文檔向量化,然后把文檔屬于概率最大的主題的主題詞作為該文檔的擴展特征,特征值為主題詞對應的概率值大小.本文利用LDA模型結合Word2vec詞向量模型獲取主題擴展特征,充分利用文檔-主題分布和主題-詞語分布信息.主要思路如下:
通過訓練好的LDA模型可以得到文檔di對應的主題概率分布,選擇該文檔所屬的概率最大的主題zmax.將zmax通過Φ匹配主題詞文件,選擇主題下前k個詞(a1,a2,a3,…,ak) 及其概率值(q1,q2,q3,…,qk),將概率值歸一化作為k個詞語的權重信息,具體公式表示如下:
(4)
qi表示pi歸一化以后的值,(q1,q2,q3,…,qk)即為前k個詞的權重大小.
利用Word2vec模型獲得每個詞語的詞向量(A1,A2,A3,…,Ak),通過對k個詞的詞向量加權求和獲得主題擴展特征,公式如下:
(5)
其中,Bi為文檔di的主題擴展特征.
提取主題擴展特征過程如算法1所示.
算法1.主題擴展特征算法
輸入:經處理后的數據集,設定主題個數為m.
輸出:每個文檔的主題擴展特征
算法:
1.訓練LDA模型,獲取模型參數θ和φ;
2.訓練Word2vec模型,設定詞向量長度a;
3.對訓練集每一個文檔di(di∈(d1,d2,d3,…,dn)):
1)獲取文檔di的主題分布并獲得文檔di所屬的概率最大的主題zmax;
2)獲取zmax下的主題詞分布;
3)分別獲得前n個主題詞的詞向量;
4)采用公式(4)歸一化n個主題詞的概率值作為對應詞向量的權重信息;采用公式(5)合成主題詞向量作為文檔di的主題擴展特征.
長短時記憶網絡(LSTM)最早由Hochreiter和Schmidhuber提出[15],是一種特殊的循環(huán)神經網絡(Recurrent Neural Network,RNN).RNN網絡將前一時刻的輸出作為輸入的一部分,并與此刻的外部輸入一同輸入到神經網絡當中,但是存在短期記憶和梯度消失的問題.LSTM對RNN模型進行改進,將RNN的隱層節(jié)點替換為記憶單元(Memory Cell),并通過門結構來去保護或控制LSTM神經網絡的節(jié)點狀態(tài),使得隱藏層之間構成閉環(huán)[5],同時隱藏層的權重負責控制調度記憶,而隱藏層的狀態(tài)作為此刻的記憶狀態(tài)參與下一次的預測,解決了短期記憶和梯度消失的問題.LSTM單元為四層結構,標準模型如圖2所示.
圖2 LSTM標準模型Fig.2 LSTM standard model
LSTM神經網絡模型通過門結構訓練和更新信息的工作流程如下:
it=σ(Wixt+Uiht-1+bi)
(6)
1https://www.datafountain.cn/competitions/283/details/2https://dst.ctrip.com/
(7)
②計算t時刻的忘記門ft,忘記門用來控制歷史信息對記憶單元狀態(tài)值的影響:
ft=σ(Wfxt+Ufht-1+bf)
(8)
其中,ht-1為上一時刻的輸出,xt為此刻的輸入,σ為Sigmoid函數,bf為忘記門偏置,WfUf為權重.
③更新存儲單元狀態(tài):
(9)
由輸入門決定將候選值的哪些信息保留并更新到存儲單元,同時由忘記門決定上一個存儲單元狀態(tài)的保留情況.
④計算輸出門的值ot和記憶單元的最終輸出ht:
ot=σ(Woxt+Uoht-1+bo)
(10)
ht=ot×tanh(Ct)
(11)
使用tanh作用于存儲單元,并由輸出門來選擇要輸出的信息.
由此可以看出,將門結構引入到模型當中可以同時學習到短周期和長周期的信息,也避免了梯度消失的問題,克服了RNN的缺點,可以處理數據序列等問題.
本文特征提取部分融合LDA主題模型擴展文本的表示方法,同時引入LSTM分類器,設計出了一種短文本的情感分類模型,系統(tǒng)的整體架構如圖3所示.
圖3 情感分類框架圖Fig.3 Emotional classification framework
圖4 模型時間展開圖Fig.4 Time-based model expansion diagrams
利用主題模型對word2vec構建的詞向量進行補充擴展,解決了短文本由于信息量較少且情感界限模糊造成文本特征不明顯等問題.同時,基于word2vec的詞嵌入方法可以解決數據稀疏和和維度災難等問題,是目前最常用和最流行的方法之一.也可以通過余弦距離或者歐氏距離來得出詞與詞之間相似度,解決了one-hot編碼或者詞袋模型無法獲取詞之間關系等問題.
模型中的輸入層將分類文本統(tǒng)一為同等長度,通過建立詞包獲得每個詞語的索引.將樣本矩陣和詞向量矩陣傳遞給Embedding層,目的是將文本向量化,然后進入標準LSTM隱層進行上下文學習,獲得一維文本向量,模型的時間展開圖如圖4所示.
對于某一短文本的n個詞,將這n個詞用維數為d的向量表示,分別為x0到xn,這里的LSTM方框圖表示LSTM隱層結構單元.圖5中共有n個LSTM單元,即模型運行了n個時間單位(n為文本長度),每個時間單位t上,LSTM陣列的輸入為xt,輸出為ht, 其中t∈{1,2,…,n}.
池化層采用平均池化,即對所有時間單位上的ht的平均,得到向量h,再通過全連接層輸出一維向量,即為文本向量.之后將文本向量結合LDA主題特征和人工特征進行拼接,經過全連接層和Softmax層就可以得到輸入文本在各個類別的概率,從而實現最終的分類目的,Softmax模型實際上是邏輯回歸模型的一般化形式,對多分類性能優(yōu)良.而且擁有很好的數學性質[13],不僅可以預測出短文本所屬類別,而且可以給出所屬類別的概率,如果對概率設定閾值,則也可以解決多標簽分類問題[16].
本實驗數據來源包含兩部分:1.“云移杯”2018景區(qū)口碑評價分值預測比賽初賽數據集1,共包括100000條數據樣本,每個樣本包含作者ID、評論文本、評分;2.通過爬蟲獲取攜程旅游網站2上的景區(qū)評論.為了更好的構建基于評論的情感分類模型,本文將基于評論的情感類別劃分為三種:積極、中性和消極.同時,基于上述樣本做出了以下數據篩選和獲取方案:
①選擇情感分類樣本:對于有監(jiān)督學習而言,擁有高質量標注的學習樣本是模型訓練成功的前提.為此,本文基于“云移杯”數據集已有的評分樣本結合人工標注,從全部語料中隨機抽取10%的樣本,分三組獨立進行人工標注,再通過投票機制確定每個樣本的分類標簽,從而保證了樣本標注的質量.
②樣本擴充:鑒于“云移杯”數據集樣本出現嚴重的不均衡,積極、中性、消極樣本個數比例約為:50:15:1,因此本文爬取旅游網站上的景區(qū)部分中性和消極評論對數據集擴充,結合已有的評分和人工標注來保證樣本標注的質量.
表1 評分語料分布表Table 1 Distribution of the corpus
經過上述步驟處理之后的評論樣本分布如表1所示.
評價指標采用準確率P(Precision)、召回率R(Recall)、F1值三個指標來衡量情感分類的結果,其公式如下[3]:
(12)
(13)
(14)
其中,各個參數的含義如表2所示.
表2 評價指標含義Table 2 Meanings of evaluation indicators
其中,準確率P考察的是分類結果的正確性,召回率R考察分類結果的完備性.F1值為準確率和召回率的調和平均值.
在進行特征選擇之前,首先對訓練集中的每篇文檔進行分詞,使用ICTCLAS分詞工具進行分詞,然后進行詞性過濾、停用詞過濾等預處理.將4.1節(jié)中獲取的景區(qū)評論語料加入到基于維基百科中文語料庫的詞向量模型(1)https://dumps.wikimedia.org/zhwiki/latest/中以更新詞向量模型;利用gensim三方庫訓練LDA模型來獲得評論文檔的主題分布,并利用3.1節(jié)的算法得到主題擴展特征;人工提取評論文檔的特征包括評論詞數、字數、詞性占比、非重復詞數量占比、情感詞數量個數等.依此得到三類特征為:詞向量特征,主題擴展特征,人工特征.根據不同特征我們擬采用如表3的四種文本表示方法.
表3 四種評論文本表示方法Table 3 Three kinds of features
1)實驗1
①主題個數選取
針對短文本信息量較少等問題,本文采用LDA模型對評論文本特征進行擴展,設定主題個數范圍為[0,50],根據評論-主題的概率分布來選取不同主題個數下每個評論的最大概率主題,并依據主題詞的概率分布選取概率最大的100個主題詞作為特征擴充,同時結合詞向量和人工特征.采用LSTM模型作為分類器,得到評價指標變化趨勢如圖5所示.
由圖5可知,當主題個數設定為29時具有最優(yōu)的分類效果,此時準確率達到81.32 %,當設定的主題個數繼續(xù)增大時,LDA模型計算復雜度增加,也容易產生過擬合[17],因此分類準確率變化較小并有降低趨勢,因此本實驗設定主題個數為29.
②不同訓練次數下的模型性能對比
采用LSTM模型作為分類器,不同的特征提取方法在測試集上的分類準確率隨迭代次數的變化曲線如圖6所示.
經圖6分析可知,編號A的模型表現最優(yōu)秀,準確率收斂至80%左右.四種模型在測試集上的準確率都存在先增大后減小的過程,是因為模型進行過度訓練,使得模型復雜度高于實際數據復雜度,導致了模型的過擬合.同時可以得到幾種模型的最優(yōu)解條件下的迭代次數:其中,A模型為(13,0.813)B模型為(12,0.775),C模型為(11,0.738),D模型為(15,0.708),融合主題特征后的情感分類模型在測試集上有更好的表現,與融合前相比準確率提高了3.8%.
圖5 準確率在不同主題個數下的變化曲線圖Fig.5 Variation curve of accuracy under different number of subjects
圖6 幾種模型在測試集上的準確率對比圖Fig.6 Comparison of the accuracy of the models in the test set
2)實驗2
本實驗根據實驗1的結果選取主題個數為29來建立A模型,評估指標為精確率、召回率、F1值.將A模型的文本表示方法與文獻[3]、文獻[6]中的模型(簡稱P3、P6)作比較,得到的比較結果如表4所示.
表4顯示的是不同分類模型下的結果,可以看出本文提出的模型的精確率、召回率、F1值均有較好的表現.
表4 不同分類方法的比較結果Table 4 Comparison of different classification methods
表5對比了不同分類器在各類情感文本中評估結果,可以看到在每個分類模型當中,消極和積極的情感文本各項分類指標相對較好,但是中性評論評價指標較差,原因是文本中極性評論和中性評論相比特征較為突出.本文提出的融合LDA后的模型在三類情感中的表現更為優(yōu)秀,其中中性評論的F1值指標均提高5%以上,這是由于引入LDA模型以后豐富了文本特征的表示方法,在一定程度上解決了由于情感評論漸變界限不突出等問題.
表5 各類情感文本的評價結果Table 5 Evaluation results of various emotional texts
本研究為了提高情感分類的準確度,主要做了以下工作:在文本的特征提取方面,利用詞向量的表示方法并融合LDA主題模型擴展評論文本特征,一定程度上解決了短文本內容少,噪聲大等缺陷,同時,該方法也可以緩解由于情感類別的界限不清晰導致分類效果不明顯等問題;調用LSTM網絡模型學習文本的上下文內容并獲得分類結果,在景區(qū)評論數據集上與相關模型相比均有較好的表現.
本文由于未能設置更多的情感梯度,所以后續(xù)研究也應設置更多的梯度來驗證模型的可靠性或者做出相應的改進.同時,在分類器這一塊可以嘗試更復雜或者最新的分類模型以進一步提高情感分類的準確度.