陳德剛,艾孜爾古麗
(新疆師范大學 計算機科學技術學院,新疆 烏魯木齊 830054)
情感分析領域[1],也被稱為觀點挖掘,主要通過NLP相關技術對于用戶所產生的文本評論信息中帶有情緒的內容進行分析處理,判別其情感傾向。傳統的情感詞典方法,對于情感詞典資源的需求尤為重要,并且語法規則設定的優劣,決定了文本情感傾向分析結果準確率的上限。而采用機器學習方法,預處理常需要人工進行大量繁瑣的特征工程,消耗大量的精力,也存在特征矩陣稀疏等問題。
而近年來深度學習迎來新生,CNN[2]利用卷積滑動窗口提取文本的局部有效特征,再通過池化操作進一步降低特征維度,但仍存在解釋性不強的缺陷。RNN[3]循環神經網絡對于序列文本雖能較好提取上下文內容,但對于過長序列可能會出現梯度爆炸或梯度消失等情況。后續出現了改進的GRU[4]與LSTM[5]模型,解決了傳統循環神經網絡對于較長信息可能會出現語義丟失的問題。谷歌[6]深度闡述了注意力機制,即使不使用RNN、CNN等網絡,單一注意力機制在圖像、文字工程領域也能取得較好收益。
基于上述方法,提出了一種Tri-BiGRU-Atten模型,結合GRU與注意力機制的優點,在多特征融合下,形成多通道平行輸入,大大提高了模型挖掘深層情感語義特征,且在情感決策分類層前引入特征圖擾動Disout[7]技術。
深度學習技術的不斷發展,近年來越來越受人們所關注,在NLP領域大受人們歡迎。在用CNN進行情感識別領域中,Poria等[8]構建了七層深度卷積CNN模型,并將其與其它網絡模型集成分類器,以判定文本中每個詞是否為Aspect詞。Lai等[9]將RNN和CNN結合起來,利用前后雙向RNN將文本中當前詞的前后詞與該詞連接起來,再通過池化操作,能夠比較均勻獲取該詞的上下文信息。Wang等[10]為篇章級文本情感分析提供了一種新思路,即按文本句子區域劃分的CNN-LSTM結構。首先利用CNN對每個區域特征的特征進行提取,對于包含情感信息區域分配較大權重,反之亦然。再利用LSTM結構提取區域文本的序列時序關系,最后使用線性解碼器獲得最終預測結果。梁斌等[11]利用CNN與attention機制,將輸入文本先經過注意力提取詞性和位置特征以利用,再通過卷積挖掘文本語義信息,這表明了attention這種機制在文本預測情感傾向時會有更好表現,并能更好解釋模型中關鍵詞對于文本情感傾向分析的影響。Nikolaos等[12]在論文中,將RNN與attention機制結合起來。提出了HAN神經網絡結構,其中編碼階段使用了詞等級和句子等級兩層attention機制。其中單詞編碼器和句子等級編碼器均使用了雙向GRU編碼,各句子及詞語在分類任務時的重要性占比都能較好表現出來。Ji等[13]將詞匯特征與位置特征相結合,引入雙向GRU與多頭注意力機制,在情感分析任務取得較高成效。
綜上所述,本文提出了基于多通道的注意力機制情感分析模型Tri-BiGRU-Atten,BiGRU解決了CNN固定的卷積核尺寸視野比較有限,很難獲得更長的序列語義有效信息,導致長序列輸入部分語義特征表達缺失等問題。多通道輸入基礎上,引入了attention機制與特征圖擾動Disout算法,在解決了單一RNN、CNN解釋性不強問題的同時,也能充分挖掘輸入情感文本的深層語義,而Disout算法有效增強了模型泛化性能,相較于現有模型具備更好分類結果。
本文提出的Tri-BiGRU-Atten模型利用雙向GRU在嵌入層分別接收來自3個平行通道的融合特征,來實現充分挖掘文本中的情感隱藏信息,以提高模型分類性能。Tri-BiGRU-Atten整體結構如圖1所示,主要由嵌入層、多通道層、融合層、自注意力層、Disout層以及情感輸出層。

圖1 Tri-BiGRU-Atten結構模型
詞嵌入層是由詞向量與詞性向量、位置向量、依存句法向量分別組合形成三通道平行輸入模型。
2.1.1 詞向量
詞向量傳統常用的是one-hot編碼表示,這種方法比較簡單直接,但它的向量矩陣緯度高且存在稀疏,容易造成維度困難,難以訓練。而且one-hot編碼固有的算法思想決定了詞語之間的向量表示相互正交,如果將其用于情感分析任務,會缺失意想不到的重要信息,對下層模型訓練造成較大影響。因此,Mikolov等[14]提出了Word2Vec算法,其有效解決了one-hot編碼語義缺失的問題,論文提出了CBOW及Skip-gram兩個模型。其中CBOW模型優化如式(1)所示
LossCBOW=∑logp(wi|Context(wi))
(1)
Skip-gram模型優化如式(2)
LossSkip-gram=∑logp(Context(wi)|wi)
(2)
通過比較兩個需優化的損失函數,可以看出兩者所使用的先驗概率剛好相反。CBOW模型使用第i位置的w詞的前后信息去預測當前詞wi的概率,Skip-gram模型則是使用當前詞wi去預測前后信息。本文實驗我們選擇word2vec詞嵌入方式獲得詞語向量化表示。ti∈Va, 其中第i個單詞的詞性向量為ti,向量的維度為a。如輸入n長度的句子s,其向量化矩陣計算如式(3)所示
Va=t1⊕t2⊕t3…⊕tn
(3)
2.1.2 詞性向量
詞性,即以單個詞匯為單位,按照它所使用的語言的語法規則和詞本身的意義不同,將其劃分到不同類別。本文利用HowNet(知網)英文情感集合對原始的輸入文本s進行詞性標注,再將標注后的詞匯信息進行特征向量化,形成多維度的連續值詞性向量矩陣。tagi∈Vb,其中第i個單詞的詞性向量為tagi,向量的維度為b。如輸入n長度的句子s,其向量化矩陣計算如式(4)所示
Vb=tag1⊕tag2⊕tag3…⊕tagn
(4)
通過將詞性特征向量化輸入,我們可以研究融合詞性特征后特征輸入對于情感分析任務的影響。
2.1.3 位置向量
情感分析任務中應用注意力機制主要是挖掘輸入文本中詞匯之間的相似性,而缺少了對句子時間序列信息的挖掘,由于句子的詞序信息也對模型性能有很大影響,因此我們同樣在輸入層引用位置信息,將原始輸入文本的位置信息進行編碼,再和詞向量相結合,就可以得到位置向量。我們采用Vaswani等[6]在文中提出了正弦位置編碼(sinusoidal position encoding),其計算如式(5)、式(6)所示
POSE(pos,2i)=sin(pos/100002i/d(model))
(5)
POSE(pos,2i+1)=cos(pos/100002i/d(model))
(6)
其中,i表示輸入文本序列的第i單詞,公式中將pos位置的單詞映射為維度為d的向量,其維度和原始文本的詞向量維度相同,通過矩陣相加操作[15]即可得到融合位置的特征的位置向量。位置向量可表示為posi∈Vc,其中第i個單詞的句法特征向量為posi,向量的維度為c。如輸入n長度的句子s,其計算如式(7)所示
Vc=pos1⊕pos2⊕pos3…⊕posn
(7)
2.1.4 依存句法向量
依存句法分析是通過對輸入文本句子進行分析,挖掘句子中存在的句法結構、層次關系以及詞匯之間的相互依存關系。將每個句子分析出的句法特征映射成多維度的連續值句法矩陣向量化表示。grami∈Vd,其中第i個單詞的句法特征向量為grami,向量的維度為d。如輸入n長度的句子s,其向量化矩陣計算如式(8)所示
Vd=gram1⊕gram2⊕gram3…⊕gramn
(8)
通過將句法特征向量化輸入,我們可以研究融合各類特征的輸入對于情感分析任務的影響。
2.2.1 多通道特征融合
為防止喂入神經網絡的模型過于復雜,我們將特征進行分別組合拼接,形成如式(9)、式(10)、式(11)

(9)

(10)

(11)

2.2.2 Bi-GRU
GRU即為門控循環單元(gated recurrent units),它是RNN(recurrent neural network)的一種,GRU是通過門控機制對于進入神經網絡的神經元狀態進行設置。GRU在模型上對LSTM進行了改進,取消了輸出門,只有reset和update兩個門控機制。GRU內部結構展開如圖2所示。

圖2 GRU內部結構
GRU核心算法計算如式(12)~式(15)所示
rt=σ(Wr·[ht-1,xt])
(12)
zt=σ(Wz·[ht-1,xt])
(13)
(14)
(15)


圖3 Bi-GRU結構
Bi-GRU算法核心如式(16)~式(18)所示
(16)
(17)
(18)

注意力是人腦固有的一種特殊視覺處理方式,依靠這種方式,人將會更多關注自己感興趣的局部區域,而自動過濾掉無關信息,以此對局部區域進行放大來獲得更多細節信息,有效解決了信息量過大導致難以處理等問題。情感分析任務同樣如此,通過對局部的語義信息放大,減少對情感分類結果影響較小的文本內容注意力。因此,在模型這層引入注意力機制,其計算如式(19)所示

(19)
其中,在NLP領域中,常使用的是自注意力機制。Key普遍即為Values的值,可以將注意力機制理解為:首先計算Query與Values的相似度,其次使用Softmax函數對權重進行歸一化處理,最后將權重與Values進行加權求和,得到最終自注意力計算結果。
特征圖擾動(feature map distortion,Disout)算法是由華為提出的一種新型算法,它區別于傳統工業界常使用的Dropout[16]正則化方法。Dropout是按一定概率p隨機屏蔽掉部分神經元,使其停止工作,減少神經網絡模型對該部分神經元的過分依賴。Dropout技術是一種啟發式的方法,能部分解決模型過擬合問題,增強其健壯性,但這種方法并不是解決模型過擬合的最優選擇。因此,Tang等[7]研究了一種通過計算神經網絡中間層的拉德馬赫爾復雜度(empirical rademacher complexity,ERC),來評估期望風險和經驗風險間的關系,建立泛化誤差界限,并在特征映射上引入擾動,降低ERC值,以提高模型泛化能力。圖4對比了常規神經網絡、使用正則化方法Dropout以及Disout這3種神經網絡結構中神經元之間的信號傳遞。

圖4 3種神經網絡結構對比

(20)
獲取模型訓練的最優擾動如式(21)所示
(21)

Disout層通過擾動神經元,減少了對部分神經元的過分依賴,增強模型的泛化性能,再將隱藏信息H傳入全連接層,通過sigmoid函數將經過非線性變化后的分類結果輸出。其中輸入的文本都會匹配0-1之間的標簽分類,結果越接近1,則輸入文本預測結果則為積極,反之亦然。分類計算如式(22)

(22)

為測試Tri-BiGRU-Atten模型性能,本文使用公開數據集IMDB(www.imdb.com)的50 000條電影影評數據驗證模型有效性,其中25 000條正面評價,25 000條負面評價。我們利用正則表達式對數據集進行了相關預處理:清洗掉Html標簽、標點符號,輸入文本轉換為小寫、去掉與情感分析任務無意義的相關詞匯等,最終數據集包含88 273個詞匯。
本文提出的Tri-BiGRU-Atten模型實質是應用于NLP領域中的情感分類模型。為驗證模型分類的有效性,我們采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)及F1值(F1-Measure)4項指標對于Tri-BiGRU-Atten性能進行評估。衡量分類模型指標的主要成分可以用表1所示的2×2混淆矩陣表示,表1表明了樣本集真實標簽情況分類與實際預測結果分類之間的相互關系。

表1 混淆矩陣
其中TP表示正類別樣本能夠正確地被模型預測為正類別的數目;同理,TN表示負類別樣本能夠正確地被模型預測為負類別的數目;FP表示負類別樣本能夠錯誤地被模型預測為正類別的數目;FN表示負類別樣本能夠錯誤地被模型預測為負類別的數目。以下4個指標就是在以上這4種樣本預測結果的基礎上衍生出來的模型衡量指標。
Accuracy即為模型所預測正確的所占的比例。其計算公如式(23)所示
(23)
Precision表示為模型預測為正樣本數中,實際為正樣本所占的比例。其計算公如式(24)所示
(24)
Recall表示為樣本集中的所有正樣本數,實際被預測為正樣本所占的比例。其計算公如式(25)所示
(25)
現實實驗中,Precision和Recall值的一方過高一方過低都會對模型性能優劣造成影響。因此,在二者的基礎上引用了F1值,算法上,它是兩者的加權平均,它有效解決了樣本集分布不平衡所造成的難以評估等情況,F1值是Precision和Recall值的綜合評價,本實驗中設置的β系數為1,其計算公如式(26)所示
(26)
模型數據處理采用了Stanford CoreNLP工具對IMDB數據集進行分詞、詞性標注、句法依存分析。貫穿整個實驗,訓練設置的詞向量維度為300,其余特征向量維度都是30。其中輸入句子的最大長度設置為400,訓練中的Batch_Size的大小為32,全連接層正則化L2參數為0.001,實驗環境見表2。

表2 實驗環境
3.4.1 不同特征組合分析
為驗證本文提出的模型在多重特征融合的情況下能夠獲得最高性能,我們在構建的BiGRU-Atten模型上,對比原始向量(Original)輸入,以及單(Single)、雙(Double)、三(Triple)通道條件下的特征融合輸入見表3。表中W表示原始詞向量,T表示詞性向量,P表示位置向量,G表示句法依存向量,W+T即表示詞特征與詞性特征融合。

表3 不同特征融合實驗對比
對比實驗結果表明,原始文本特征基礎上,每附加一種特征能夠有效提升模型性能,但通道數較少情況下,收益并不算高。而隨著通道數量增加,附加特征種類越多,在結合詞向量、位置向量、依存句法向量、詞性向量后,能夠深度挖掘語義信息,在Accuracy指標上取得最高成績。三通道條件下的特征融合模型比起原始、單、雙通道模型能挖掘更多的語義特征,說明該3種附加詞匯特征并不存在特征冗余,詞匯特征越豐富對于模型分類性能效果越顯著。
3.4.2 不同特征擾動形式
為驗證采用Disout技術處理神經網絡過擬合方法優于現在常使用的Dropout技術,我們同樣在我們所構建的Tri-BiGRU-Atten模型基礎上,將Disout層替換為使用Dropout層進行對比實驗。Dropout層參數設置為0.5,即隨機失活50%的神經元,而Disout層需設置3個參數,dist_prob為0.5,block_size為1,alpha為0.5。其中dist_prob代表元素擾動的概率,block_size為擾動的尺寸大小,alpha即Disout方法特征圖擾動的強度大小。實驗結果對比見表4。

表4 Dropout與Disout方法對比
利用Disout技術,在3個指標上均高于Dropout方法,僅在Precison率上低了0.2%,因此本模型在特征擾動形式上采用Disout方法,相較于Dropout隨機失活神經元的方法也更具備理論支撐。
3.4.3 不同模型評判
如圖5所示,本節將構建的Tri-BiGRU-Atten模型與其它模型在IMDB數據集上進行實驗比較。相比于傳統LSTM、BiLSTM、兩層CNN、CNN-LSTM[10]以及文獻[13]提出的MA-BGRU模型等,我們模型的性能在Accuracy、Precision、Recall、F1值均高于以上模型,驗證我們模型充分挖掘了情感文本的深層語義信息。

圖5 不同模型對比
通過上述實驗,可以驗證本文提出的Tri-BiGRU-Atten模型融合不同詞匯特征輸入,能夠充分提高模型語義信息提取能力。而采用自注意力機制能將更多網絡權重分配給情感特征,便于模型下層情感極性分類,Disout技術優于傳統特征擾動形式,能更好提高模型泛化性能。在情感分析任務上,我們構建的模型結合了特征融合的多通道雙向門控注意力機制取得最優結果,驗證本模型可為情感分析任務提供理論依據。
本文提出了一種基于多通道雙向門控注意機制的情感分析模型(Tri-BiGRU-Atten),它針對文本情感分析任務能夠發揮較好效果。該模型結合人類所認知的詞匯、詞性、詞序位置、句法依存多重特征融合進行建模。考慮到多重特征輸入會增加模型復雜度,我們構建了三道并行通道將不同特征相互融合利用雙向門控循環單元GRU分別提取上下文隱藏表示,再將提取的隱藏信息進行融合操作,添加注意力機制深度挖掘語義關系,利用Disout技術提高模型魯棒性,在文本情感分析任務上具備有效性。下一步工作中,我們將對現有模型進一步優化,并嘗試融合其它特征進行建模,以提高模型性能。