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

2.4 LSTM層
2.5 分 類
3 實驗結果及分析
3.1 數據集

3.2 實驗設置

3.3 對照實驗
3.4 結果分析




4 結束語