?

基于詞注意力卷積神經網絡模型的情感分析研究

2018-10-19 03:03王盛玉曾碧卿韓旭麗
中文信息學報 2018年9期
關鍵詞:注意力卷積神經網絡

王盛玉,曾碧卿,2,商 齊,韓旭麗

(1. 華南師范大學 計算機學院,廣東 廣州 510631;2. 華南師范大學 軟件學院,廣東 佛山 528225)

0 引言

情感分類任務面向用戶生成的文本,分析文本的情感信息,最終得到文本的情感傾向: 正向、中性或負向。目前,情感分析已經廣泛應用于諸多領域,如電子商務平臺、電影推薦、輿情分析等。

當前,情感分類主要有基于規則、機器學習和深度學習這三類方法?;谝巹t的方法主要借助于情感詞或專家構建的特征,但特征構建的代價非常高?;跈C器學習的方法將情感分類視為與文檔分類或主題分類相似的任務,采用unigram、bigram或one-hot等語言模型構建篇章特征,使用機器學習算法作為分類器對篇章進行情感傾向性分析。該方法面臨篇章特征向量稀疏、維度爆炸、特征提取困難等問題?;谏疃葘W習的方法把神經網絡模型參數訓練與特征學習的過程并行化,篇章映射成矩陣作為模型的輸入,模型學習到篇章的特征表示后,將其輸入到分類器,完成情感分類任務。

近年來,隨著深度學習在情感分析領域的研究,越來越多的研究者使用深度學習、神經網絡模型對文本進行情感分析。卷積神經網絡在情感分析任務中的有效性已被證明。篇章通過word embedding映射后作為CNN的輸入,經過卷積層和池化層得到篇章的特征表示。Kim[1]利用提前訓練的詞向量,成功地將CNN應用于句子分類任務。Kalchbrenner[2]提出一種動態k-max pooling的CNN用于句子特征學習,取得較好效果。

注意力機制(attention mechanism)目前已經成功應用于自然語言處理與圖像處理等多個領域。在情感分析領域,注意力機制的應用,有利于模型更有效地發現和構建特征,使模型在訓練時有選擇地進行特征提取。Xu K[3]將注意力機制應用于解決圖片描述生成問題;在機器翻譯領域[4-5],注意力機制改進了原有的encoder-decoder翻譯模型。Yin[6]等提出一種基于注意力機制的卷積神經網絡,將其用于句子對建模任務中;Wang[7]等人利用基于多層注意力機制的卷積神經網絡進行句子關系分類;這些方法的成功說明注意力機制與CNN結合的有效性。

CNN雖然擁有強大的學習能力,但在文本特征提取時,數據集未進行預處理,導致輸入文本中存在大量非關鍵詞;其次,CNN無法自動判別輸入文本中哪些局部特征詞較為重要,而這對情感分析至關重要;再者,CNN在情感分析中往往采用不同大小的卷積核,但忽略對單一詞特征的提??;最后,CNN在情感分析領域的應用缺乏理論解釋,同時卷積操作容易忽略篇章首尾詞的上下文信息。因此,本文結合卷積神經網絡和注意力機制,以詞特征提取為目標,提出詞注意力卷積神經網絡模型(word attention-based CNN,WACNN)。該模型針對情感分析任務,做出如下三方面工作: ①詞注意力機制。模型首先在詞嵌入層后構造詞注意力層,注意力機制作用在詞嵌入層輸出的文本特征表示上,以局部窗口的方式,獲取窗口中心詞的上下文信息,得到每個詞的情感權重。②卷積核。卷積層的卷積操作可以視為獲取文本的n-grams特征,在該層加入大小為1的卷積核,獲取單一詞的特征。③輸入填充。借鑒n-grams思想,對卷積層的輸入進行適當的0填充(Padding),使卷積操作可以根據每個詞的上下文提取特征。最后在MR5K和CR數據集上進行實驗驗證,取得了比普通卷積神經網絡和傳統機器學習方法更好的效果。

本文的主要貢獻如下:

(1) 本文首次結合注意力機制和CNN來解決情感分類問題。

(2) 基于詞注意力的卷積神經網絡模型既能在詞嵌入層自動地獲取關鍵特征詞,還能在卷積層分別提取詞特征和整體的語義特征。

(3) 本文給出卷積在情感分析上的n-grams解釋,并利用Padding方法模擬該特征提取,實驗證明了Padding方法在文本特征提取上的有效性。

1 相關工作

1.1 情感分析

情感分析任務針對用戶生成的文本,判斷用戶的觀點、情感或態度[8]。情感分類作為情感分析的一項基礎任務,通過對文本的情感分析獲取其情感傾向性。傳統的情感分析方法主要借助于機器學習算法和人工特征構建。Pang B[9]利用機器學習方法,借助一元詞、二元詞、詞性標注等特征進行電影評論情感分析。Wang和Manning[10]將支持向量機與樸素貝葉斯方法相結合,在多個數據集上取得較好效果。

在語言模型上,傳統方法多使用詞袋模型,但該模型無法有效地獲取文本的深層次語義特征。詞嵌入(word embedding)[11]將詞或短語映射到一個低維向量空間中,用以表征它的語法和語義特征。大量基于word embedding的神經網絡模型應用于情感分類任務。Kim[1]將CNN應用于文本分類;Johnson等[12]提出一種類似于Kim的方法,但將高維度的one-hot向量作為模型的輸入;Socher[13]提出遞歸神經網絡對電影評論進行分析;Tang[14]使用CNN與帶有門機制的RNN構建層次化的情感分類模型。

注意力機制方面,Bahdanau[4]提出注意力機制,并首次應用于翻譯領域,Luong[5]則提出了兩種注意力方式global attention和local attention。兩者將注意力機制在翻譯領域的成功應用,使其迅速成為研究的熱點。Zhou[15]結合LSTM和注意力機制,用于特定目標的情感分類,將特定目標作為模型的關注點,訓練中獲取與特定目標關聯性強的信息,分配高權重,從而有效識別目標的情感傾向。

1.2 卷積神經網絡模型

本文以Kim的卷積神經網絡為基礎,卷積神經網絡主要包括輸入層、詞嵌入層、卷積層、池化層和全連接層。假設輸入的情感篇章為S={w1,w2,…,wn-1,wn},篇章長度為n,通過詞嵌入層的詞嵌入矩陣可得到篇章的Word2Vec特征表示X,如式(1)所示。

X={x1,x2,…,xn}

(1)

d代表詞向量的維度,其中xi∈Rd。卷積層使用大小不同、數量不等的卷積核對輸入矩陣進行卷積操作,獲取每個局部的特征,生成輸入篇章的特征圖,如式(2)所示。

C=f(ω·X+b)

(2)

其中ω∈Rh×d代表卷積核權重矩陣,h代表卷積核大小,b代表偏置量,f(·)代表卷積核函數。得到特征圖后,池化層進行下采樣操作,提取重要的特征。最后,將經過池化后的卷積層輸出串聯作為全連接層的輸入,得到最終的分類結果。

2 詞注意力卷積神經網絡模型

如圖1所示,本文提出的詞注意力卷積神經網絡模型WACNN(word attention-based CNN)主要分為五個步驟:

(1) 詞嵌入層: 將序列化后的輸入文本進行詞嵌入,得到文本的特征表示。

圖1 詞注意力機制卷積神經網絡

(2) 詞注意力層: 在詞嵌入層后添加注意力層,使模型在訓練的過程中有選擇地進行詞特征提取,降低噪聲對情感分析的影響。

(3) 填充層: 本文以每個詞的上下文含義作為詞特征表示,根據卷積核大小對卷積層的輸入進行填充,保證每個詞都存在上下文。

(4) 卷積層: 卷積層除了使用多個大小為[3,4,5]的卷積核,還增加大小為1的卷積核。卷積層對填充后的注意力層輸出進行特征提取,獲取局部特征。

(5) 后兩部分與CNN相似,包括池化層和全連接層。

通過步驟(2)~(4),使卷積神經網絡在情感分析時,具備鑒別特征詞的能力;卷積層既能獲取每個詞的特征,也能基于每個詞的上下文得到局部特征。

2.1 詞注意力機制

詞嵌入層: 篇章經過序列化處理后得到S={w1,w2,…,wn-1,wn},wi代表詞在整個數據集詞匯表中的下標,篇章的特征表示采用one-hot模型。在詞嵌入層采用詞映射的方式將每個詞映射為d維的向量,如式(3)所示。

(3)

e代表詞向量矩陣e∈R|ν|×d,|ν|表示整個數據集中詞匯的數量。

詞注意力層: 注意力層的作用是對輸入文本進行篩選,決定哪些詞匯較為重要,使模型在訓練過程中重點關注。如圖2所示,我們采取n-grams語言模型,取該詞和其上下文的含義作為該詞的語義表達。設置詞的上下文范圍為D,pi表示詞在文本中的位置,則詞wi的語義可表示為: 大小為L=[pi-D,pi+D]=1+2D的窗口內上下文的含義。設置滑動窗口矩陣參數Watt∈RL×d,計算每個詞xi的特征值權重αi,用以表示其對情感分析的重要程度。

(6)

對于詞嵌入層的輸出X,注意力層采用滑動的方式,對每個局部提取詞的權重αi,得到權重向量α,如圖2所示。

α={α1,…,αn}

α∈Rn

(7)

n代表輸入句子的長度。

圖2 詞注意力層

通過α可以標識每個詞的重要程度,將其與對應位置的詞向量相乘得到新的文本特征表示Xatt:

(8)

2.2 填充(Padding)方法

在情感分析領域,傳統自然語言處理常采用unigram、bigrams或trigrams作為語言特征。

Pang B[9]曾使用該方法進行情感分析,此方法基于馬爾科夫鏈,考慮每個詞的上下文信息,研究結果表明該方法非常有效。卷積層提取局部特征,可以將卷積操作近似地視為提取文本的n-grams特征。每次卷積操作,卷積核參數ω∈Rh×d以xi為中心,考慮詞的上下文,依次提取每個詞的n-grams特征。以大小為3的卷積核為例,每次考慮中心詞的上下文范圍為1,即遵循隱馬爾可夫原則,而大小為5時,上下文范圍就擴大到2。

但在卷積層中,處于篇章首尾的詞無法被卷積操作覆蓋到,且無上下文信息,即首尾各存在h/2個詞無法提取到n-grams特征,產生信息丟失。如圖3所示,我們使用兩種方式對卷積層的輸入進行適當的填充,以使卷積操作可以提取到每個詞的上下文信息。

圖3 兩種Padding方式

(1) Padding-1: 對卷積層的輸入在首尾位置進行0向量補全,補全大小為h/2,以保證開始詞存在上文,結尾詞存在下文,如式(9)所示。

(9)

(2) Padding-2: 在卷積層的輸入末尾進行大小為h-1的0向量補全,如式(10)所示。

(10)

式(10)中,⊕表示串聯操作。

2.3 卷積層和池化層

卷積層負責提取單一詞特征和詞的上下文信息。經過填充后的文本特征表示Xatt,將其作為卷積層的輸入。卷積層使用大小為h的卷積核ω∈Rh×d對輸入進行局部特征提取,如式(11)所示。

ci=f(ω·Xatt: (i: i+h-1)+b)

(11)

其中Xatt: (i: i+h-1)代表文本特征矩陣從第i行到第i+h-1 行的局部特征,f(·)代表卷積核函數,b代表偏置量。卷積層對特征矩陣X的不同位置進行卷積操作,得到特征圖(feature map)c,如式(12)所示。

c={c1,c2,…cn-h,cn-h+1}

(12)

(13)

2.4 全連接層

上述為單一大小的卷積核,本文使用多個大小的卷積核,數量為z,將池化層的輸出串聯作為全連接層的輸入,全連接層負責情感分類,得到結果,如式(14)所示。

(14)

式(14)中,⊕表示串聯操作,O代表模型在多個不同大小的卷積核下生成的結果串聯,z表示選取了幾種大小的卷積核,m表示每個卷積核的數量,Wfc為全連接層的權重,bfc為偏置量,y∈{+1,-1},代表情感類別,此處為二分類。

3 實驗數據與實驗設置

3.1 數據集

實驗部分在以下兩個公開數據集上進行:

(1) CR: 用戶在不同商品上的評論數據集,用于對評論進行情感傾向性分析[16]。

(2) MR5K: 用戶對電影的評論數據。每一條評論數據包含正向和負向的情感傾向[17]。

上述的這些數據集已經人工對每條評論設置了情感標簽,實驗中暫不考慮標簽與文本是否相符的情況。數據集詳細信息如表1所示。

表1 實驗數據集

表1中|V|代表數據集詞匯數量;N代表數據集篇章數量;average代表篇章詞數量的平均值;max代表篇章詞數量的最大值。

3.2 實驗參數與數據處理

本實驗按照8∶1∶1將數據集劃分為訓練集、驗證集和測試集。數據集的預處理采用keras自帶的tokenizer接口進行分詞。文本使用預訓練的詞向量進行映射,詞向量采用Mikolov[11]提前訓練好的公開結果集,向量維度300維[注]https://code.google.com/archive/p/word2vec/。為了降低數據分配對實驗結果的影響,每組實驗結果都取十折交叉驗證的平均值。

實驗中卷積神經網絡的參數同Kim[1]構建的單層卷積神經網絡參數相似,激活函數使用rectified linear units(RELU),卷積核大小分別為[1,3,4,5],每個卷積核數量為100個,Dropout層接收比例為0.5,batch_size為64,池化層采用最大池化,訓練時對詞向量進行微調,采用 Adadelta[18]算法優化模型參數,詞注意力層取上下文范圍大小D=2,即L=5,滑動窗口數量為1。全連接層隱藏單元200個。

3.3 對比方法

本文提出的方法與多種不同的方法進行對比,包括支持向量機(support vector machine,SVM)、卷積神經網絡等。對比實驗數據來自Kim[1]。

對比方法如下:

NBSVM,MNB: 使用樸素貝葉斯和支持向量機進行情感和主題分類[10]。

CNN-K: Kim[1]將卷積神經網絡應用于篇章分類。

CNN-Z: Zhang Y[19]實驗觀察了卷積神經網絡對各參數的敏感性。

CNN: 在本實驗環境下,使用CNN在各數據集上的實驗結果。

WACNN1: 詞注意力卷積神經網絡模型,填充層使用Padding-1方法。

WACNN2: 詞注意力卷積神經網絡模型,填充層使用Padding-2方法。

WACNN-N: 模型在填充層不使用Padding方法。

3.4 實驗結果與分析

本文在MR5K和CR數據集上進行多組實驗,得到目標的情感傾向。表2給出了實驗在不同數據集上得到的分類結果。

表2 不同模型在特定目標的情感分類結果

從表2可以看出,本文提出的方法在兩個領域的數據集上都取得更好的效果。WACNN1/WACNN2/WACNN-N都取得了比原始CNN和傳統機器學習方法更好的效果。CNN模型將所有詞都同等對待,提取每一處的局部特征,沒有識別關鍵詞匯的能力,基于注意力機制的WACNN模型相比CNN情感分類正確率有明顯提升。在CR數據集上提升了2%,這說明注意力機制能使CNN在訓練過程中有選擇地關注特定目標詞匯,降低噪聲影響,從而更好地識別目標情感傾向性。本組實驗驗證了注意力機制同卷積神經網絡結合有助于特定目標的情感分類。

從表2還可以看出,在多個數據集上,WACNN-N模型的表現要比WACNN1和WACNN2略差。從圖4可以更顯著地看出,WACNN-N效果優于原始CNN,但較WACNN1和WACNN2要差一些。卷積層在獲取文本開始和結尾處的局部特征時,缺乏詞的上下文信息,造成信息丟失,填充層的加入可有效提升模型效果,保證卷積層可提取到每個詞的n-grams特征。實驗驗證了本文提出的兩種填充方法在WACNN模型上的有效性。

從圖4可以看出,兩種填充方法的優劣并無絕對差別,在不同的目標數據中表現不一。兩種方法哪種更優需要根據特定目標而定。

3.5 填充(PADDING)方法

卷積神經網絡在卷積層的卷積操作,我們將其理解為依據中心詞提取詞的n-grams特征,并給出了兩種填充方法保證卷積操作可以提取到每個詞的上下文信息。

表2和圖4驗證了填充方法在WACNN模型上的有效性,本節在MR5K數據集上設計兩組實驗來驗證理論猜想的正確性、填充方法在CNN上的有效性。分別考慮多卷積核大小和單一卷積核的CNN,形成表3和表4的實驗結果。CNN-1代表使用Padding-1方法,CNN-2代表使用Padding-2方法。

從表3的實驗結果可以看出,伴隨著卷積核的變大,卷積層在文本開始和結尾處丟失的信息更多,取得的效果也越差。填充層的加入使輸入根據卷積核的大小進行填充,卷積層提取到每一個詞的上下文信息,能更好地表達文本的情感信息。CNN-1和CNN-2取得了比原始CNN更好的效果。實驗驗證了填充方法在多卷積核卷積神經網絡上的有效性。

表3 Padding對多卷積核模型的影響

表4的實驗結果表明,在不同大小的卷積核下,填充方法可取得0.3%~1%的模型提升效果。填充方法在單卷積核的情況下同樣有效,但是兩種方法的優劣并沒有絕對差別,效果取決于目標數據。

圖4 MR數據集上模型10折交叉驗證的實驗結果

Region SizeCNNCNN-1CNN-2380.8180.8980.89481.0281.3681.38581.2381.4481.62680.9681.4281.24780.8881.5281.091080.4481.4181.411580.1181.1481.10

3.4節和3.5節的實驗表明: ①理論的正確性。情感分析任務中,卷積層以每個詞為中心,依據詞的上下文提取詞的n-grams特征。②填充方法的有效性。兩種填充方法有效地保證了每個詞具有上下文信息,使卷積層可提取到每個詞的特征。

3.6 詞注意力可視化

情感分析任務中,卷積神經網絡取得了不錯的效果,但是模型在特征提取、特征選擇等環節都缺乏可解釋性和可視性。本文在詞嵌入層之后卷積層之前添加詞注意力層,使得模型在訓練過程中有選擇地進行特征提取。因此,我們可以對模型的特征提取和選擇進行可視化,并給予解釋。

本組實驗從MR5K和CR數據集中隨機各選出兩條文本,模型的詞注意力層得到每個詞的權重,根據權重大小加深詞的顏色,深色陰影代表最高權重級別,淺色陰影代表較高權重級別。表5和表6中只標識出權重較高的詞,其余不做標注。

表5CR數據集文本注意力機制可視化

表6 MR5K數據集文本注意力機制可視化

從表5和表6中可以看出,模型訓練時會將形容詞短語(形容詞+名詞)和形容詞視為較重要的詞。例如在CR數據中“very sleek”“good front panel”“thinly sketched”,MR5K數據中“thinly sketched”“integrated”等。除此之外,否定詞轉折詞、名詞短語和比較短語也有很高的權重值。如“much better”“more like”“i’m not”“but”等。

本組實驗證明: 詞注意力層確實可以使模型在訓練過程中發現關鍵詞并有選擇地提取數據特征。在情感分類任務中,情感詞、形容詞短語、比較詞、否定詞和轉折詞都對情感傾向性判斷具有較大影響。

4 結論

本文提出一種基于詞注意力的卷積神經網絡模型,并將其用于情感分析領域,實驗取得了較好效果。模型借鑒傳統自然語言處理中的n-grams特征,在詞嵌入層之后加入注意力層,提升了模型訓練時的特征選擇能力,并使模型具備特征選擇可視化和可解釋性;填充層的填充方法保證每個詞都具備上下文信息;卷積層以詞為中心,根據詞的上下文提取特征。最后,模型在MR5K和CR數據集上驗證了效果。

然而,本文將注意力機制應用在詞特征的選擇上,并未在語義層面進行特征篩選。所以接下來將對注意力機制進行改進,使其對語義的特征選擇更加有效。

猜你喜歡
注意力卷積神經網絡
基于遞歸模糊神經網絡的風電平滑控制策略
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設計及FPGA實現
卷積神經網絡的分析與設計
神經網絡抑制無線通信干擾探究
從濾波器理解卷積
基于神經網絡的中小學生情感分析
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合