顧軍華,彭偉桃,李娜娜+,董永峰
(1.河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300401;2. 河北工業(yè)大學(xué) 河北省大數(shù)據(jù)計(jì)算重點(diǎn)實(shí)驗(yàn)室,天津 300401)
在深度學(xué)習(xí)之前,情感分析[1,2]是以基于規(guī)則的和統(tǒng)計(jì)的方法為主[3]。Maite等[4]提出了一種融合多方面的文本情感因素的方法來進(jìn)行情感分析,根據(jù)句子語氣強(qiáng)度的不同而賦予不同的權(quán)重,同時(shí)考慮了否定詞、程度副詞等對情感傾向的影響,最終取得了不錯(cuò)的分類效果。
隨著深度學(xué)習(xí)在圖像處理上取得的成就,近年來,學(xué)者們將其應(yīng)用到自然語言處理情感分析上面來。Zhang等[5]提出了一種用于文本分類的字符級別的卷積神經(jīng)網(wǎng)絡(luò)(CNN),且獲得了不錯(cuò)的結(jié)果。胡朝舉等[6]將主題詞融入進(jìn)行建模,使用雙向LSTM網(wǎng)絡(luò)模型進(jìn)行情感分類。Zhou等[7]首先使用LSTM網(wǎng)絡(luò)來捕捉文本的前后語義關(guān)系,之后使用二維的CNN卷積和池化的方式來提取局部最優(yōu)情感性。Hassan等[8]將CNN卷積結(jié)合LSTM進(jìn)行分類,實(shí)驗(yàn)驗(yàn)證了卷積層結(jié)合LSTM網(wǎng)絡(luò)進(jìn)行文本情感分類的有效性。RNN的優(yōu)勢在于能夠更好地捕捉上下文信息,特別是長文本的語義。但RNN模型無法捕捉文本局部信息,忽略了情感轉(zhuǎn)折詞對整個(gè)文本情感傾向的影響,從而限制其分類精度。
基于以上問題,本文首先提出了一種基于卷積操作的注意力模型,使用卷積操作提取文本注意力信號,將其加權(quán)融合到Word-Embedding文本分布式表示矩陣中,從而突出文本關(guān)注重點(diǎn)的情感詞與轉(zhuǎn)折詞,實(shí)現(xiàn)文本注意力機(jī)制;其次提出CNN_attention_LSTM模型,將注意力模型和LSTM加權(quán)融合最終實(shí)現(xiàn)文本情感分類。
注意力機(jī)制最早由Bahdanau等[9]應(yīng)用到自然語言處理領(lǐng)域,之后該模型成為了主流注意力模型的理論基礎(chǔ)。
Yang等[10]將注意力機(jī)制應(yīng)用到文檔級別的情感分類,以RNN隱藏單元作為輸入的感知機(jī)來模擬人腦注意力機(jī)制,與非注意力機(jī)制相比,取得了不錯(cuò)的結(jié)果。Pavlopoulos等[11]提出深層注意力機(jī)制,將其應(yīng)用到審核用戶評論,取得了比 RNN 更好的效果。Du等[12]提出新的卷積注意力模型,基于認(rèn)知神經(jīng)科學(xué)思想,使用卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)模型來提取文本注意力,使用卷積操作獲取文本權(quán)重,再將權(quán)重賦予到LSTM隱藏層輸出上作為文本的注意力信號。
本文結(jié)合以上研究成果,提出一種基于卷積操作的注意力機(jī)制模型,對于文本數(shù)據(jù),使用CNN做一維卷積操作將詞嵌入矩陣轉(zhuǎn)化為一維向量表示。在CNN的模型中,長度為n的文本序列(必要時(shí)填充)可以表示為
x1∶n=x1⊙x2⊙…⊙xn
(1)
其中,xi∈K(i={1,2,…,n}) 對應(yīng)文本序列中第i個(gè)詞的k維向量表示,⊙表示向量的連接操作。x1∶n表示文本中的第1個(gè)詞到第n個(gè)詞的對應(yīng)向量的首尾連接。w∈hK表示卷積濾波器,其高度為h(h ci=f(w·xi∶i+h-1+b) (2) 其中,b∈K為偏置項(xiàng),f為非線性函數(shù)(像tanh,ReLu)。當(dāng)輸入{x1∶h,x2∶h+1,…,xn-h+1∶n} 一整個(gè)詞序列時(shí),將產(chǎn)生如下特征圖 c=[c1,c2,…,cn-h+1] (3) 每個(gè)卷積濾波器的輸出是來自原始文本的關(guān)注信號。為了減少注意信號中的噪聲,本文選擇多個(gè)卷積濾波器應(yīng)用于原始文本的矢量表示,并對這些濾波器的結(jié)果進(jìn)行平均以獲得平滑的關(guān)注信號。 假設(shè)卷積濾波器的個(gè)數(shù)為m,這些濾波器由 [w1,w2,…,wm] 表示,相應(yīng)的注意信號特征向量為 [c1,c2,…,cm]。 在經(jīng)過平均濾波器的處理之后,將獲得平滑的注意信號c∈T,其中每個(gè)元素表示對應(yīng)詞的重要性 (4) 整個(gè)卷積注意抽取模型,如圖1所示。 圖1 卷積注意抽取模型 長短記憶網(wǎng)絡(luò)LSTM是基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)改進(jìn)的模型,使用門控系統(tǒng)來實(shí)現(xiàn)長短記憶。LSTM模型的每個(gè)神經(jīng)元引入了稱為存儲(chǔ)單元的新結(jié)構(gòu),存儲(chǔ)單元由4個(gè)主要部分組成:輸入門it,輸出門ot,忘記門ft和記憶單元ct,它們都是d維度的向量。LSTM的計(jì)算公式如下 it=σ(Wixt+Uiht-1+Vict-1) (5) ft=σ(Wfxt+Ufht-1+Vfct-1) (6) ot=σ(Woxt+Uoht-1+Voct-1) (7) (8) (9) ht=ot⊙tanh(ct) (10) 其中,xt為第t時(shí)刻的輸入,σ為sigmoid激活函數(shù),⊙為元素對應(yīng)相乘。 LSTM通過門控系統(tǒng)的方式,來削弱近距離相對不重要的信息,增強(qiáng)長距離中重要的情感傾向信息,從而實(shí)現(xiàn)捕捉文本長距離之間的語義關(guān)系。 通過卷積注意抽取模型之后,我們將得到文本的注意力信號,并將其附加到文本word-embedding的矩陣中實(shí)現(xiàn)注意力融合,再通過LSTM網(wǎng)絡(luò)獲取文本上下文語義信息。本模型包括詞向量層、卷積注意神經(jīng)網(wǎng)絡(luò)層、注意力融合層、LSTM分類層、池化層、全連接層。網(wǎng)絡(luò)整體結(jié)構(gòu)如圖2所示。 通過word2vec將文本中的輸入序列轉(zhuǎn)化成向量x1∶n=x1⊙x2⊙…⊙xn,其中n表示詞序列的長度(必要時(shí)填充),每個(gè)詞用h維的向量表示,則輸入x為n*h維的矩陣。 我們使用CNN網(wǎng)絡(luò)來捕捉句子中的注意力信號。假設(shè)輸入文本序列為 [x1,x2,…,xn],其中xt∈d(t=1,2,…,n),m個(gè)長度為l的卷積濾波器表示為 [w1,w2,…,wm],對應(yīng)的卷積結(jié)果為 [c1,c2,…,cm],其中ci∈t(t=1,2,…,m) 代表分布在長度為n的序列的注意力。我們對m個(gè)濾波器進(jìn)行平均,得到穩(wěn)定的關(guān)注信號c。之后我們將注意力信號c賦予到輸入矩陣x上,得到帶有注意力機(jī)制的文本矩陣表示c⊙x。 我們通過特定的卷積操作提取注意力之后,使用圖2中的方式進(jìn)行注意力融合,注意力融合公式如下 si=λ1·xi+λ2·xi·ci (11) 其中,i∈{1,2,…,n} 代表當(dāng)前文本中的第幾個(gè)詞,λ1為原始詞向量所占權(quán)重,λ2為注意力信號權(quán)重。通過上式將得到融合注意力信號之后的詞向量表示序列s=[s1,s2,…,sn]。 圖2 卷積注意力機(jī)制網(wǎng)絡(luò)模型(CNN_attention_LSTM) 我們用LSTM網(wǎng)絡(luò)來對此序列提取前后語義信息。此時(shí),輸入為 [s1,s2,…,sn],LSTM的隱藏層維度為k,那么我們將得到一個(gè)大小為n*k矩陣。再使用最大池化的方法獲取文本的最強(qiáng)特征n*1的向量。 上面通過LSTM網(wǎng)絡(luò)得到的結(jié)果,再使用線性函數(shù)來進(jìn)行分類,最終得到文本情感極性結(jié)果 p=softmax(Wcs+bc) (12) 為了測試本文模型的性能,我們將本模型應(yīng)用于4個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),包括多細(xì)粒度的二分類和五分類數(shù)據(jù)集以及句子級別和文檔級別的情感分析數(shù)據(jù)集。具體數(shù)據(jù)集介紹如下: (1)MR(move review):包含4個(gè)子集,本文選用基于句子級別的電影評論數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),分類涉及積極和消極二元評論類別(下載鏈接:http://www.cs.cornell.edu/people/pabo/movie-review-data/); (2)SST-1:為MR的擴(kuò)展,提供了數(shù)據(jù)集的詳細(xì)劃分,將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測試集。此數(shù)據(jù)集為五分類問題,將標(biāo)簽劃分為:非常消極、消極、中性、積極、非常積極(下載鏈接:http://ai.stanford.edu/sentiment/); (3)SST-2:與SST-1數(shù)據(jù)集類似,只是刪除了更細(xì)粒度的標(biāo)簽,將標(biāo)簽分為積極和消極兩類; (4)IMDB:文檔級文本分類數(shù)據(jù)集,為積極和消極二分類電影評論數(shù)據(jù)集(下載鏈接:http://ai.stanford.edu/amaas/data/sentiment/)。 前3個(gè)數(shù)據(jù)集為句子級別分類,包括二分類和五分類任務(wù),每個(gè)樣本所包含詞語長度為20個(gè)詞左右。最后的IMDB數(shù)據(jù)集為文檔級別分類,將整篇文檔內(nèi)容分為積極和消極兩類。在實(shí)驗(yàn)中,對于沒有標(biāo)準(zhǔn)列出訓(xùn)練集和測試集的數(shù)據(jù)集,本文使用10折交叉驗(yàn)證。表1列出了數(shù)據(jù)集摘要統(tǒng)計(jì)數(shù)據(jù)。 表1 4個(gè)數(shù)據(jù)集的摘要統(tǒng)計(jì) 該模型可以通過反向傳播以端對端的方式進(jìn)行訓(xùn)練,損失函數(shù)選用交叉熵?fù)p失函數(shù),使用Adadelta優(yōu)化方法提高訓(xùn)練速度。在實(shí)驗(yàn)中,word embedding使用Google公開的word2vec 300維向量進(jìn)行初始化,這是谷歌在新聞數(shù)據(jù)集上使用1000億個(gè)字訓(xùn)練而成的,囊括了各個(gè)領(lǐng)域的詞語,也是目前常用的預(yù)訓(xùn)練詞向量。在對詞向量矩陣進(jìn)行卷積操作時(shí),由于矩陣的每一行代表一個(gè)詞,所以每一行需要作為一個(gè)整體,單獨(dú)拆開沒有意義。因此,實(shí)驗(yàn)中卷積核高度為3,寬度等于word embedding的維度。模型其它參數(shù)見表2。 表2 實(shí)驗(yàn)參數(shù)設(shè)置 為了驗(yàn)證本文提出的基于卷積注意力機(jī)制和循環(huán)神經(jīng)網(wǎng)絡(luò)模型的有效性,我們將本文模型與一些基準(zhǔn)的方法進(jìn)行比較。進(jìn)行實(shí)驗(yàn)的模型見表3。 實(shí)驗(yàn)結(jié)果見表4,我們使用7個(gè)模型與本文提出的模型來進(jìn)行比較。包括傳統(tǒng)的Na?ve Bayes、SVM方法和一些深度學(xué)習(xí)模型。首先我們可以看到,深度學(xué)習(xí)方法明顯好于傳統(tǒng)的機(jī)器學(xué)習(xí)方法。其次我們注意到,在深度學(xué)習(xí)的幾個(gè)模型中,基于循環(huán)神經(jīng)網(wǎng)絡(luò)的MV-RNN和LSTM的性能不如嵌入注意機(jī)制的模型,因?yàn)镽NN模型提取的順序特征不適合文本分類。但是從實(shí)驗(yàn)結(jié)果來看,本文提出的CNN_attention_LSTM模型可以結(jié)合CNN和RNN的優(yōu)點(diǎn)來提高性能。結(jié)果顯示,我們基于注意力機(jī)制的CNN_attention_LSTM模型,在4個(gè)數(shù)據(jù)集上取得3個(gè)最優(yōu)精度,在五分類SST-1數(shù)據(jù)集上和LSTM+RNN attention模型持平。 表3 對照實(shí)驗(yàn)及描述 表4 實(shí)驗(yàn)結(jié)果對比 為了進(jìn)一步分析和驗(yàn)證我們的模型能夠捕捉到文本句子中的顯著部分,我們在MR數(shù)據(jù)集抽取了3條評論數(shù)據(jù)做了注意力層的可視化顯示,選取評論數(shù)據(jù)見表5。 表5 樣例抽取 我們使用訓(xùn)練好的模型提取以上測試樣本的注意力信號,使用熱力圖來直觀展示評論數(shù)據(jù)中各個(gè)詞語的注意力信號。在這些句子中,我們的模型正確預(yù)測了類別標(biāo)簽。如圖3中的每一行都是我們模型提取的關(guān)注信號的熱圖。注意力信號已經(jīng)標(biāo)準(zhǔn)化到[-1,1]區(qū)間,其中-1表示最消極,用黑色色塊表示;+1表示最積極,用白色色塊表示,使用黑色到白色線性漸變來表示-1到1之間的數(shù)值。 圖3 注意力信息可視化 從圖3中可以看出,本文提出的模型可以識別出帶有強(qiáng)烈情感傾向的情感詞語,像flawed(有瑕疵的)、fear(害怕)和insecurity(心神不定)等。此外還可以處理句子中的情感轉(zhuǎn)換。例如,在第二句話中,我們的模型對句子前半部分給予了高度的積極關(guān)注,但模型也能發(fā)現(xiàn)這句話的后半部分與負(fù)面情緒高度相關(guān)。且負(fù)面情緒的相關(guān)性更高,因此使得最終預(yù)測標(biāo)簽為負(fù)值。 通過實(shí)驗(yàn)結(jié)果比較以及注意力信號可視化顯示可知,本模型能夠提取文本的局部最優(yōu)情感極性,且能夠捕捉到文本情感極性轉(zhuǎn)移的語義信息,從而提高文本分類精度。 本文提出一種基于卷積操作的注意力模型,并融合循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM)進(jìn)行情感極性分類。實(shí)驗(yàn)結(jié)果表明,本文的模型能夠提取文本句子中的顯著部分信息,從而提高文本情感分類性能。此外,我們的模型能夠結(jié)合CNN和RNN的優(yōu)點(diǎn)來提高文本分類性能。最后,我們使用熱力圖可視化顯示了提取到文本注意力信息值,直觀展示了本模型能夠捕捉到文本中的否定和語義轉(zhuǎn)化情感詞,從而能夠正確分類。 本文沒有考慮帶有表情符號的文本語料,怎么將本文的卷積注意力機(jī)制應(yīng)用到表情符號的注意力提取上,是下一步工作的重點(diǎn)。本文接下來將針對文本中表情符號的問題進(jìn)行進(jìn)一步研究。1.2 LSTM
2 模型結(jié)構(gòu)
2.1 構(gòu)建詞向量輸入層
2.2 卷積注意力層
2.3 注意力融合層
2.4 LSTM層
2.5 分 類
3 實(shí)驗(yàn)結(jié)果及分析
3.1 數(shù)據(jù)集
3.2 實(shí)驗(yàn)設(shè)置
3.3 對照實(shí)驗(yàn)
3.4 結(jié)果分析
4 結(jié)束語