魏上斐 喬保軍 于俊洋 姚相宇
1(河南大學(xué)軟件學(xué)院 河南 開封 475000) 2(河南大學(xué)計(jì)算機(jī)信息與工程學(xué)院 河南 開封 475000)
隨著網(wǎng)絡(luò)的盛行與網(wǎng)絡(luò)技術(shù)的發(fā)展,用戶可在網(wǎng)絡(luò)中發(fā)表自己對事物的觀點(diǎn),這些觀點(diǎn)中含有用戶想要表達(dá)的情感因素。更加準(zhǔn)確地發(fā)掘評論中的情感因素已成為當(dāng)前工業(yè)界和學(xué)術(shù)界的迫切要求。
情感分析又稱為意見挖掘、主觀因素挖掘等,是通過計(jì)算機(jī)分析并整理互聯(lián)網(wǎng)上大量的評論信息,對帶有情感因素的主觀性文本進(jìn)行分析、處理的過程[1]。情感分析的主要工作是將文本所含有的情感因素(如積極、消極、中立等)進(jìn)行分類。目前,國內(nèi)外學(xué)者提出基于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,在語法層面上進(jìn)行語義分析。周楓等[2]提出了一種雙向GRU與CNN相結(jié)合的文本分類模型,通過增大重要信息的權(quán)重,提高分類精度?,F(xiàn)在流行的深度學(xué)習(xí)采用淺層神經(jīng)網(wǎng)絡(luò)的方法也可以進(jìn)行情感分類。一些研究學(xué)者在文本的詞向量表達(dá)上進(jìn)行了改進(jìn),得到了更好的分類效果。Biswas等[3]利用特有領(lǐng)域的信息訓(xùn)練詞向量,使情感分類模型有了更好的提升。Cotterell等[4]提出了一種新的形態(tài)學(xué)詞向量,在詞相似方面得到了很大的提升效果。Abdedda?m等[5]提出了一種新的MeSH-gram模型,通過句向量捕捉語義聯(lián)系,性能高于傳統(tǒng)skip-gram模型。Yao等[6]提出了一種新方法LSI,通過將外部知識轉(zhuǎn)化為語義空間以增強(qiáng)詞向量表達(dá)方式。文獻(xiàn)[7-8]通過結(jié)合主題模型來訓(xùn)練詞向量進(jìn)行文本分類。文獻(xiàn)[9-11]均使用深層次模型訓(xùn)練詞向量,并應(yīng)用在詞表征任務(wù)上。
綜上所述,現(xiàn)階段的情感分類問題在于無法更好地抓取情感因素。詞向量表示方法能夠更好地對文本特征進(jìn)行描述,在分類時(shí)的效果更好。本文提出GE-BiLSTM情感分析模型。通過預(yù)訓(xùn)練語言模型構(gòu)建文本的特征詞向量,然后將文本的特征詞向量作為BiLSTM神經(jīng)網(wǎng)絡(luò)的輸入,通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)獲取深度詞向量特征,最后使用softmax層對文本進(jìn)行情感分類。
Glove(Global Vectors for Word Representation)模型由斯坦福大學(xué)的Pennington等[12]提出,Glove模型是基于共現(xiàn)矩陣分解生成詞向量的模型。假設(shè)共現(xiàn)矩陣為X,Xi表示詞i,Xij表示詞j在目標(biāo)詞i的上下文中出現(xiàn)的次數(shù)。模型在訓(xùn)練時(shí)用到了全局信息,利用了詞共現(xiàn)的信息狀態(tài),使用上下文信息建模,如果兩個(gè)詞在語料庫中出現(xiàn)的上下文位置類似,這兩個(gè)詞的詞向量就相似,對詞語具有更好的描述。Glove模型的損失函數(shù)為:
(1)
式中:|V|是詞典的大小;Wi為詞i的詞向量;Wj為詞j的詞向量;bi和bj分別為矩陣X行、列的偏移值。J的計(jì)算復(fù)雜度和共現(xiàn)矩陣矩陣X的非零元素的數(shù)目呈線性關(guān)系。設(shè)共現(xiàn)矩陣X中,Xij代表詞j在詞i上下文出現(xiàn)的次數(shù)。詞i和詞j的上下文是k時(shí),k與i、j存在共現(xiàn)關(guān)系。
(2)
式中:P(k|i)為單詞i、k共現(xiàn)概率。
(3)
式中:P(k|j)為單詞j、k共現(xiàn)概率。
(4)
如果F(wi,wj,wk)的值較大,說明k和i的相關(guān)性強(qiáng);反之,則說明k與j相關(guān)性比較大。Glove模型的不足是上下文單詞之間的聯(lián)系不強(qiáng),同一個(gè)詞出現(xiàn)在不同場景的文本中,詞匯的向量表征矩陣變化不大。
LSTM網(wǎng)絡(luò)結(jié)構(gòu)是基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)改進(jìn)而來的。循環(huán)神經(jīng)網(wǎng)絡(luò)最早由Schuster等[14]提出,該網(wǎng)絡(luò)結(jié)構(gòu)更適合對序列化數(shù)據(jù)進(jìn)行處理和預(yù)測,在處理文本信息時(shí),可以使之前的信息對后面的輸入信息產(chǎn)生影響,輸入信息為{x1,x2,…,xt},xi的輸入都會經(jīng)過激活函數(shù)轉(zhuǎn)化為輸出值oi和上一個(gè)狀態(tài)的記憶值hi,所以當(dāng)前時(shí)刻t的輸入除了來自當(dāng)前輸入層的xt,還有上一個(gè)狀態(tài)的ht。LSTM具體單元結(jié)構(gòu)公式如下:
zt=tanh(Wz[ht-1,xt]+bz)
(5)
it=σ(Wi[ht-1,xt]+bi)
(6)
ft=σ(Wf[ht-1,xt]+bf)
(7)
ot=σ[Wo(ht-1,xt)+bo]
(8)
ct=ft·ct-1+it·zt
(9)
ht=ot·tanhct
(10)
式中:z為輸入值;i為輸入門;f為遺忘門;o為輸出門;ct為結(jié)合遺忘門選擇的信息后輸出的新狀態(tài);ht為結(jié)合ct、輸入和上一個(gè)狀態(tài)所生成的進(jìn)入下一層隱藏層的狀態(tài);σ為sigmoid激活函數(shù);b是訓(xùn)練時(shí)的偏置項(xiàng)?!伴T”機(jī)制可以更好地篩選有用的信息,雖然在訓(xùn)練時(shí)會產(chǎn)生更多的參數(shù),但在數(shù)據(jù)量不大的數(shù)據(jù)集上具有更好的效果,所以本文選擇了LSTM作為提取情感因素的網(wǎng)絡(luò)結(jié)構(gòu)。
本文提出一種GE-BiLSTM情感分析模型,引入了預(yù)訓(xùn)練語言模型,針對于當(dāng)前傳統(tǒng)情感分類模型無法更好地抓取情感因素導(dǎo)致文本向量矩陣稀疏的問題進(jìn)行了改進(jìn)及處理。通過訓(xùn)練語言模型,以BiLSTM作為語言模型訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu)在訓(xùn)練結(jié)束后可以得到輸入文本中每個(gè)詞匯的m層向量矩陣,由于兩個(gè)模型的訓(xùn)練機(jī)制不同,最終生成向量矩陣需進(jìn)行運(yùn)算重組,運(yùn)算函數(shù)如下:
(11)
式中:e′為新的ELMO模型詞向量;e為原始詞向量;n為詞向量維度;h為每個(gè)詞匯的詞向量層數(shù)。將預(yù)訓(xùn)練語言模型ELMO訓(xùn)練結(jié)果與Glove詞向量通過運(yùn)算融合為新的詞向量矩陣。最終放入BiLSTM模型訓(xùn)練,進(jìn)行情感分析。
本文引用了Peters等[13]提出的ELMO模型(Embeddings from Language Models),以語言模型為目標(biāo)在雙向LSTM上訓(xùn)練模型,利用LSTM網(wǎng)絡(luò)結(jié)構(gòu)生成詞語的表征。Word2Vec等傳統(tǒng)模型生成詞向量時(shí),不同句子中的相同詞匯的詞向量是一樣的;而本文預(yù)訓(xùn)練雙向語言模型的輸入度量是字符而不是詞匯,從而可以增強(qiáng)單詞的聯(lián)系,以語言模型為目的,更好地預(yù)測下一個(gè)單詞的出現(xiàn)概率。該語言模型的前后網(wǎng)絡(luò)結(jié)構(gòu)如下。
前向LSTM結(jié)構(gòu):
(12)
反向LSTM結(jié)構(gòu):
(13)
聯(lián)合前向和后向語言模型,并最大化前后向語言模型,得到該語言模型的聯(lián)合似然函數(shù)如下:
(14)
式中:θx為輸入的初始詞向量參數(shù);θs為輸出的softmax層參數(shù)。本文利用預(yù)訓(xùn)練語言模型的概念,使用雙向LSTM訓(xùn)練語言模型,對該模型加以應(yīng)用,每個(gè)詞語經(jīng)過語言模型的預(yù)訓(xùn)練后,情感詞的權(quán)重通過最大條件概率隨之增大,更加突出情感關(guān)鍵詞的重要性,結(jié)合特定數(shù)據(jù)語境的情感詞的條件概率可通過極大似然估計(jì)求得:
(15)
通過結(jié)合全局信息和局部上下文信息,可以充分彌補(bǔ)傳統(tǒng)情感分類模型中,只能通過前后句子判斷關(guān)鍵情感詞重要性的缺陷,情感詞條件概率的增大,可以通過不同場景,產(chǎn)生不同意義的詞語表征。情感信息在融合新機(jī)制下得到了更好的保留,效果優(yōu)于傳統(tǒng)主題模型。
本文所選擇的傳統(tǒng)詞向量模型為Glove模型,該模型在Word2Vec模型的基礎(chǔ)上加以改進(jìn),結(jié)合了全局信息,彌補(bǔ)了Word2Vec只能結(jié)合局部語義信息的缺點(diǎn),在詞表征任務(wù)上具有更好的效果。本文模型首先通過預(yù)訓(xùn)練語言模型訓(xùn)練詞向量,在得到局部上下文信息后,再結(jié)合Glove模型訓(xùn)練得到的全局信息重組運(yùn)算成新的矩陣。傳統(tǒng)詞向量模型Glove訓(xùn)練出來的詞向量矩陣設(shè)為G,文本分詞之后每個(gè)詞的tokens設(shè)為g,詞向量矩陣維度過大容易造成訓(xùn)練參數(shù)增加、時(shí)間復(fù)雜度提升。經(jīng)過實(shí)驗(yàn)證明,詞向量維度在200~300維之間時(shí)詞向量差別很??;當(dāng)維度超過300維,會造成維度過長,訓(xùn)練時(shí)參數(shù)過多,提高時(shí)間復(fù)雜度。本文Glove模型詞向量維度選擇為256維,矩陣為文本詞向量的集合G。
(16)
通過預(yù)訓(xùn)練語言模型訓(xùn)練出來的詞向量矩陣設(shè)為E,文本分詞之后每個(gè)詞的tokens設(shè)為e,維度與Glove模型輸出保持一致,矩陣為文本詞向量的集合{e1,1,e1,2,…,e229902,256},訓(xùn)練出的每個(gè)詞的詞向量有m層,將ELMO模型每個(gè)詞的詞向量求平均值,轉(zhuǎn)為新的詞向量矩陣E′。
(17)
將兩個(gè)模型訓(xùn)練的詞向量通過運(yùn)算融合,即W=concat(G,E′),運(yùn)算后的具體矩陣為:
(18)
融合后的詞向量維度為512維。
本文提出的GE-BiLSTM模型的關(guān)鍵部分在于通過預(yù)先訓(xùn)練語言模型,得到包含上下文信息的詞向量,再結(jié)合傳統(tǒng)的Glove所生成的全局詞向量,提高了詞語之間的聯(lián)系,以語言模型為目的訓(xùn)練詞向量可以更好地抓取情感因素,雙向LSTM網(wǎng)絡(luò)進(jìn)一步提取文本特征,以提高分類精度。LSTM網(wǎng)絡(luò)結(jié)構(gòu)是在RNN(Recurrent Neural Network)基礎(chǔ)上改進(jìn)得到的網(wǎng)絡(luò)結(jié)構(gòu),其克服了RNN無法存儲更多信息的缺點(diǎn)。但是在訓(xùn)練時(shí),文本中每個(gè)詞匯的理解不僅依賴于前面所存儲的信息,也與后面輸入的信息有關(guān)。LSTM是單向的網(wǎng)絡(luò)結(jié)構(gòu),如果要同時(shí)考慮上下文的信息,就需要同時(shí)考慮文本句子前后方向的信息。在經(jīng)過對模型性能和訓(xùn)練復(fù)雜性之間進(jìn)行權(quán)衡之后,本文選擇雙向的LSTM結(jié)構(gòu)作為詞向量融合之后訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu),以此可以充分地理解詞匯的上下文信息。GE-BiLSTM情感分析模型的流程如圖1所示。
圖1 GE-BiLSTM情感分析模型流程
在訓(xùn)練之前,先通過停用詞表去除無用詞并處理原數(shù)據(jù),通過兩個(gè)模型分別訓(xùn)練出詞向量,經(jīng)過維度調(diào)整和矩陣處理后,將預(yù)訓(xùn)練語言模型與Glove模型最終訓(xùn)練得到的矩陣運(yùn)算融合成新的詞向量矩陣。融合后分類交叉熵得到的目標(biāo)函數(shù)為:
(19)
圖2 融合細(xì)節(jié)圖
將融合之后的結(jié)果作為網(wǎng)絡(luò)結(jié)構(gòu)的輸入放到輸入層中,再次通過BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)一步抓取情感因素,將輸出結(jié)果作為softmax層的輸入,最終得到分類結(jié)果。
最終生成的詞向量矩陣通過BiLSTM網(wǎng)絡(luò)訓(xùn)練,在得到情感特征向量后,利用向量矩陣做分類,softmax函數(shù)是歸一化的指數(shù)函數(shù),其定義如下:
(20)
式中:X是經(jīng)過網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練后的矩陣;d是輸入數(shù)據(jù)的向量維度,W是輸入層的向量矩陣。設(shè)softmax函數(shù)的輸入數(shù)據(jù)為d維的向量W,最終softmax函數(shù)結(jié)果也是一個(gè)d維的向量,每個(gè)維度的值在0到1之間。利用softmax輸出兩個(gè)取值在0到1之間的數(shù)值,通過數(shù)值判斷最終輸出的概率,選擇輸出概率最大的作為文本分類的結(jié)果。GE-BiLSTM算法流程如算法1所示。
算法1GE-BiLSTM
1. 通過對數(shù)據(jù)集處理成句子與標(biāo)簽對應(yīng)形式
2. 通過式(4)和式(14)得到融合后的情感詞向量矩陣
3. foriin [1,N]
4. 使用預(yù)訓(xùn)練語言模型與傳統(tǒng)詞向量模型訓(xùn)練詞語表示
5. 使用式(15)的最大條件概率再次定義情感詞權(quán)重
6. 運(yùn)算重組訓(xùn)練后的詞向量矩陣
7. end
8. 將BiLSTM再次訓(xùn)練之后的向量矩陣,通過式(19)更新權(quán)重參數(shù)
9. 將最終的詞語表征矩陣輸入到softmax 分類器中,輸出最終的分類結(jié)果
本文實(shí)驗(yàn)數(shù)據(jù)集采用了IMDB大型電影評論集。該評論集具有良好的特征情感詞,評論集中共有50 000條含有標(biāo)簽的評論,其中積極的文本為25 000條,消極文本為25 000條。在訓(xùn)練時(shí),采用5 ∶1的比例劃分訓(xùn)練集與測試集。訓(xùn)練集文本為40 000條,測試集文本為10 000條。通過統(tǒng)計(jì)數(shù)據(jù)集文本,每條文本評論在500詞左右,本次實(shí)驗(yàn)對訓(xùn)練詞匯設(shè)定統(tǒng)一長度,最大詞匯數(shù)設(shè)定為500,超過部分進(jìn)行截?cái)?不足的補(bǔ)0。
本文所選數(shù)據(jù)集為IMDB大型電影評論集,該評論語料集中主要為積極評論與消極評論兩種,表1所示為數(shù)據(jù)集中部分積極與消極評論。
表1 實(shí)驗(yàn)數(shù)據(jù)集
本文所提出的GE-BiLSTM模型訓(xùn)練參數(shù)如表2所示。該模型訓(xùn)練時(shí)使用的激活函數(shù)是tanh,可以有效地降低在訓(xùn)練時(shí)梯度爆炸的概率。常用的SGD優(yōu)化函數(shù)在優(yōu)化過程中,容易陷入局部次優(yōu)解,相比較下Adam優(yōu)化函數(shù)可以直接并入梯度一階矩估計(jì)中,其魯棒性更強(qiáng)。
表2 實(shí)驗(yàn)參數(shù)
續(xù)表2
本文選取查準(zhǔn)率P(precision)、召回率R(recall)和F1值(F1-score)作為情感分析的評價(jià)標(biāo)準(zhǔn)。查準(zhǔn)率與召回率是一對矛盾量,為了達(dá)到一個(gè)較為平衡的評價(jià)標(biāo)準(zhǔn),需要用到F1值來衡量。F1公式如下:
(21)
為了驗(yàn)證GE-BiLSTM情感分析模型的有效性,本文將分別與Glove-LSTM、ELMO-LSTM、Glove-BiLSTM、ELMO-BiLSTM模型進(jìn)行對比實(shí)驗(yàn)。
圖3為Glove模型與雙向LSTM訓(xùn)練后得到的acc/loss圖,圖4為ELMO預(yù)訓(xùn)練語言模型與雙向LSTM訓(xùn)練后得到的acc/loss圖,圖5為本文模型的acc/loss圖??梢钥闯觯珿E-BiLSTM具有更好效果,訓(xùn)練集在第6輪左右,數(shù)據(jù)收斂趨于平緩。具體實(shí)驗(yàn)結(jié)果數(shù)據(jù)對比如表3所示。
圖3 Glove-BiLSTM acc/loss圖
圖4 ELMO-BiLSTM acc/loss圖
圖5 GE-BiLSTM acc/loss圖
表3 實(shí)驗(yàn)結(jié)果對比
本文還與文獻(xiàn)[16]方法做比較,通過結(jié)合LDA主題模型來捕捉單詞之間的語義和情感相似性,分析語義成分,再結(jié)合上下文語義結(jié)構(gòu),通過無監(jiān)督概率模型學(xué)習(xí)單詞向量,最終將生成語義向量通過SVM(支持向量機(jī))進(jìn)行情感分類。實(shí)驗(yàn)證明,本文提出的GE-BiLSTM情感分析模型具有更好的分類效果,F1值比ELMO-BiLSTM方法提升0.045,比Glove-BiLSTM方法提高0.025。
本文提出了一種基于預(yù)訓(xùn)練語言模型ELMO與傳統(tǒng)詞向量模型融合的GE-BiLSTM情感分析模型。通過模型輸出向量矩陣調(diào)整后,進(jìn)行詞向量矩陣運(yùn)算融合,在文本向量化表示部分增加了文本的特征描述及上下文詞匯之間的聯(lián)系,減少了向量矩陣的稀疏度,再通過雙向LSTM的訓(xùn)練可以更好地抓取情感因素。實(shí)驗(yàn)表明,GE-BiLSTM情感分析模型具有更好的分類效果。下一步將對文本的特征描述做進(jìn)一步研究。