竇賢銳,李 敏,趙 暉+
(1.新疆大學(xué) 軟件學(xué)院,新疆 烏魯木齊 830046;2.新疆大學(xué) 信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830046;3.新疆大學(xué) 信號檢測與處理重點實驗室,新疆 烏魯木齊 830046;4.新疆大學(xué) 多語種信息技術(shù)重點實驗室,新疆 烏魯木齊 830046)
圖卷積網(wǎng)絡(luò)(graph convolutional networks,GCN)具有很好的提取與句法相關(guān)的詞信息能力[1-3]。然而,現(xiàn)有的GCN框架下卷積到同一結(jié)點的鄰接結(jié)點的權(quán)重相同,不能有效獲得關(guān)鍵節(jié)點信息。另一方面,固定卷積層數(shù)的方法不能自適應(yīng)地獲取情感詞信息。
圖1 依存句法信息示例
固定卷積層數(shù)(一般設(shè)定為2)的方法不能自適應(yīng)地獲取情感詞信息是指:一是層數(shù)值設(shè)定小,方面詞的感受野有限,進而無法獲取長句法距離的詞信息;二是層數(shù)值設(shè)定大,卷積到方面詞的噪音多,影響對特定方面情感信息的提取,一些學(xué)者[5,6]認(rèn)為當(dāng)卷積層數(shù)增多后會造成特征信息過平滑,進而影響特征表示。為解決這個問題,一些學(xué)者[7-10]將注意力和語義信息融合到GCN中旨在挖掘更多的情感線索;一些學(xué)者[11,12]使用依存句法信息構(gòu)建方面詞與情感詞的句法相關(guān)性,以自適應(yīng)地捕獲特定方面的情感詞信息。
本文根據(jù)這些理論和方法,在GAT的基礎(chǔ)上,加入句法邊信息提高對不同結(jié)點的區(qū)分度。另一方面,本文設(shè)計一個迭代注意力機制用于建立方面詞和句中所有詞的關(guān)聯(lián)關(guān)系,以自適應(yīng)選擇全局詞信息。
基于圖注意力的方面級情感分類模型(aspect-based sentiment classification with graph convolution and attention networks,ASGAT)的框架如圖2所示。ASGAT模型由雙向LSTM網(wǎng)絡(luò)(bi-directional long short-term memory,Bi-LSTM)、帶邊標(biāo)簽的圖注意力模塊、迭代注意力模塊和門機制組成,其中W3和W4是方面詞。迭代注意力中的att是注意力計算;add是對應(yīng)向量相加并求平均;Mask是掩蓋對應(yīng)位置向量后合并向量;Pooling是對多個向量平均池化操作。
圖2 模型ASGAT
其中,對于所有輸入(方面詞、句子)對,由Stanford[13]句法解析獲得句子的帶邊標(biāo)簽的依存樹矩陣以及每個詞對應(yīng)的詞性(part of speech,POS)。在把數(shù)據(jù)輸入網(wǎng)絡(luò)前,將單詞、詞性、邊標(biāo)簽和距離方面詞的位置信息(position)用詞典統(tǒng)計為對應(yīng)的數(shù)字。對單詞進行300維GloVe[14]詞嵌入,對詞性、位置信息和邊標(biāo)簽參數(shù)學(xué)習(xí)分別獲得30維詞嵌入。然后將拼接的Glove、詞性和位置嵌入輸入到Bi-LSTM獲取上下文信息,接著拼接詞向量和邊標(biāo)簽嵌入用以計算卷積因子。由上下文信息和卷積因子通過GCN捕獲與方面詞句法相關(guān)的詞信息。接著用卷積后的方面詞向量和上下文信息迭代獲取特定方面詞的情感特征向量,然后使用門機制對向量特征進行增強,最后用Softmax分類器獲得情感分類。
1.2.1 圖卷積網(wǎng)絡(luò)
在一些研究者[1-3]使用的卷積中,卷積公式為
(1)
式中:φ是ReLU激活函數(shù),Aij是依存矩陣(存在句法連接邊的值為1,不相連為0;且設(shè)定為自循環(huán),即Aii=1),ci是結(jié)點i度的倒數(shù),ciAij即是卷積因子。由公式可知,聚合到i結(jié)點的不同結(jié)點j的卷積因子是相同的。但在實際語言中與當(dāng)前結(jié)點句法相連的詞對當(dāng)前結(jié)點的重要性是不同的。
1.2.2 帶邊標(biāo)簽的圖注意力
(2)
式中:參數(shù)We∈R2dh+de,be∈R1,de的值設(shè)置為30。獲取表示連接邊關(guān)系的標(biāo)量值后使用Softmax函數(shù)計算卷積因子,公式如下
(3)
式中:Ei表示與結(jié)點i有句法連接邊的結(jié)點集(包括自循環(huán)設(shè)定的結(jié)點i)。
GCN兩層卷積后聚合到方面詞的向量信息包含與方面詞直接和間接句法相連的兩跳內(nèi)詞信息,通過注意力方法可以自適應(yīng)選擇全局詞信息。與Zhang等[2]選擇的注意力機制相同,本文使用的是點積注意力。公式如下
(4)
(5)
本文根據(jù)注意力和殘差思想[15]提出一種迭代注意力的方法將句法信息和全局信息結(jié)合起來,從而自適應(yīng)選擇全局詞信息和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。具體的迭代注意力算法如算法1所示:
算法1:迭代注意力算法
方面詞向量中含有圖卷積捕獲的與方面詞句法相關(guān)的兩跳內(nèi)詞信息、通過迭代注意力自適應(yīng)提取的句子中其它詞信息。再使用Mask-pooling技術(shù)提取即可得到特定方面詞的向量。公式如下
(6)
(7)
其中,m為方面詞長度,τ+1是方面詞的第一個單詞,n是句子中的單詞總數(shù)。
在獲得特定方面詞的特征表示后,本文使用門機制[16]對向量增強,公式如下
(8)
(9)
其中,σ是sigmoid激活函數(shù),確保f的值在(0,1)區(qū)間。權(quán)重矩陣維度是Wf∈R2dh×dh,Wh∈Rdh×dh, 偏置bf∈Rdh,bh∈Rdh。
(10)
整個世界都在跟他作對,掙扎也是徒勞。還能抓住什么?沒有一絲讓人留念的東西,一直在考慮的問題,現(xiàn)在都想清楚了。原本要向父親交待的話,看來已經(jīng)沒有必要。當(dāng)活著成為痛苦的時候,死未嘗不是一種解脫。
為了驗證模型的有效性,實驗采用了與Zhang等[2]相同的5個數(shù)據(jù)集:一個是Twitter數(shù)據(jù)集,其它4個(Laptop14、Rest14、Rest15和Rest16)是SemEval任務(wù)中的筆記本電腦和餐館兩種類型的數(shù)據(jù)。對數(shù)據(jù)集數(shù)據(jù)的統(tǒng)計見表1。
表1 數(shù)據(jù)集統(tǒng)計數(shù)據(jù)
為了更好地訓(xùn)練神經(jīng)網(wǎng)絡(luò),本文在每一層隨機剔除10%的神經(jīng)元,在輸入層約剔除70%的神經(jīng)元。本文使用Adam優(yōu)化器,學(xué)習(xí)率設(shè)為0.01,L2歸一化系數(shù)設(shè)置為5×10-5。此外,模型訓(xùn)練設(shè)置為100批且使用提前結(jié)束技術(shù),批次大小為32,窗口大小為10,GCN層數(shù)和迭代注意力層數(shù)均設(shè)置為2。
通過隨機初始化運行,得到了以準(zhǔn)確率(Accuracy,acc)和宏平均F1(Macro-Averaged F1,F(xiàn)1)作為評價指標(biāo)的實驗結(jié)果。
將ASGAT模型與以下研究工作所提出的模型進行對比:
AOA[17]。該模型使用Bi-LSTM獲取上下文信息和方面詞信息,接著用注意力機制建立方面詞和句子詞之間的關(guān)系交互獲得特定方面詞的特征向量。
ASGCN-DG[2]。該模型通過Bi-LSTM獲取上下文信息,使用圖卷積將與方面詞句法相關(guān)的信息卷積到方面詞,再用卷積后的方面詞和句中所有詞計算注意力,根據(jù)詞之間的相似度計算所有詞的權(quán)重,由權(quán)重加權(quán)求和得到特定方面詞的特征表示。該模型將句法信息和上下文信息結(jié)合,同時由注意力調(diào)整獲得全局信息,取得了較好的情感分類結(jié)果。
CDT[1]。該模型在Bi-LSTM獲取上下文前拼接GloVe向量、詞性嵌入和位置嵌入以獲得更豐富、更具有語言環(huán)境的詞向量表示。接著利用依存樹可以建立詞之間的句法關(guān)系而不論在句中的序列距離的特性,使用圖卷積捕獲方面詞句法相關(guān)的句法信息,之后平均池化方面詞向量得到特定方面詞的特征表示。
DGEDT[18]。該模型使用有方向的依存矩陣,建立兩個方向的圖卷積,同時與transformer自注意力的全局功能交互獲取全局信息。
R-GAT[12]。該模型通過重構(gòu)和修剪依存樹得到其它詞與方面詞的句法距離關(guān)系,根據(jù)句法關(guān)系(與方面詞直接句法相連邊類型和間接相關(guān)的句法距離)訓(xùn)練模型得到句中詞對方面詞的影響權(quán)重,結(jié)合GAT方法得到特定方面詞的特征表示。
RepWalk[11]。該模型根據(jù)依存樹的句法關(guān)系構(gòu)建句中詞與方面詞句法相關(guān)的句法路徑,由方面詞出發(fā)隨機游走到目標(biāo)詞,繼而根據(jù)游走概率得出當(dāng)前結(jié)點對方面詞的重要性權(quán)重。該模型將句法邊信息融合到模型中以便得到更準(zhǔn)確的連接比重。
實驗結(jié)果最高加粗,次高下劃線標(biāo)識,模型對比實驗結(jié)果見表2。
表2 模型對比實驗結(jié)果
從表2的實驗結(jié)果可以得出下列結(jié)論:
與AOA相比,ASGCN-DG在除了Twitter數(shù)據(jù)集上的其它4個數(shù)據(jù)集上都有更好的性能。具體地說,性能改進最小的是在數(shù)據(jù)集Rest14上0.8%的準(zhǔn)確度和F1值1.6%的提高,最高是在數(shù)據(jù)集Laptop14近3%的準(zhǔn)確性和F1值3%以上的提高,這表明句法信息有效地提高了情感方面的特征表示能力。CDT、DGEDT、RepWalk和R-GAT模型都在模型中添加了句法信息,表明句法信息捕獲特定方面詞情感信息的能力得到了學(xué)術(shù)界的認(rèn)同并被引入使用。與CDT固定卷積網(wǎng)絡(luò)層數(shù)只能獲取方面詞兩跳句法內(nèi)的詞信息不同,RepWalkp和R-GAT建立方面詞與其它多跳句法詞之間的連接,實驗性能進一步提高,說明自適應(yīng)獲取不同句法距離詞信息的必要性。本文的模型是基于網(wǎng)絡(luò)ASGCN-DG和CDT,通過與這些模型對比,本文的圖注意力和迭代注意力機制獲得了更好的實驗性能。從表2的結(jié)果可以看出,本文的實驗結(jié)果與最新的DGEDT、R-GAT和RepWalk在Twitter、Rest14和Rest16數(shù)據(jù)集上相比有一定的性能提升,這進一步驗證了模型ASGAT的有效性。
與其它模型相比,本文模型有3個部分主要差異,分別是卷積因子計算、迭代注意力和用于增強特征的門機制。消融實驗即圍繞這3點,具體實驗介紹如下:
(1)/GAT。該模型是刪除邊信息用GAT[4]方法計算卷積因子。
(2)w/oatt。該模型是刪去迭代注意力模塊,在圖注意力網(wǎng)絡(luò)后直接用Mask-pooling技術(shù)提取特定方面詞的向量送入門機制中。
(3)w/ogate。該模型是刪去門機制模塊驗證門機制對特征增強的作用。
實驗結(jié)果最高加粗,次高下劃線標(biāo)識,消融實驗結(jié)果見表3。
表3 消融實驗結(jié)果
從表3的實驗結(jié)果可以得出下列結(jié)論:
圖注意力模塊分析:在Laptop14數(shù)據(jù)集中,/GAT中性數(shù)據(jù)集分類正確的準(zhǔn)確率較高,由數(shù)據(jù)集的分布可以發(fā)現(xiàn),Laptop14數(shù)據(jù)集測試集中中性句子占比較高,二者實驗結(jié)果相當(dāng)是由數(shù)據(jù)不平衡造成的。本文統(tǒng)計數(shù)據(jù)集Laptop14、Rest14和Rest15中連接情感詞的邊信息,對比發(fā)現(xiàn)Rest15數(shù)據(jù)集對邊信息不敏感,這是ASGAT在Rest15上準(zhǔn)確率不高于/GAT的原因。 對比/GAT,ASGAT在其它3個數(shù)據(jù)集上實驗效果均更好,可以得出加入邊標(biāo)簽的信息比只用詞向量計算卷積因子的方法效果好的結(jié)論。
迭代注意力模塊分析:ASGAT在所有數(shù)據(jù)集上的效果不低于模型w/oatt,這有效說明GCN結(jié)合迭代注意力對特定方面的情感詞信息更加敏感。
門機制模塊分析:ASGAT在數(shù)據(jù)集laptop14、Rest14和Twitter上的效果均高于模型w/ogate,在數(shù)據(jù)集Rest15和Rest16上二者實驗性能相當(dāng),說明門機制有效的提高了實驗性能,驗證了其有效性。分析分類句子發(fā)現(xiàn),門機制在Rest15和Rest16中數(shù)據(jù)集中提高了中性句子正確分類的準(zhǔn)確率,而在數(shù)據(jù)集Rest15和Rest16中中性句子占比較小,本文推測這是門機制在這兩個數(shù)據(jù)集中效果不明顯的原因。
為了進一步分析詞嵌入方法對模型性能的影響,本文對不同的詞嵌入向量做補充實驗,實驗結(jié)果見表4。
表4 詞嵌入模型實驗結(jié)果
從表4的實驗結(jié)果可以得出下列結(jié)論:
不同詞向量方法對比:在300維詞向量對比中,除了Twitter數(shù)據(jù)集外的其它4個數(shù)據(jù)集中,使用glove比word2vec和fastText效果均要好。Twitter數(shù)據(jù)集的語料談?wù)摰姆秶容^大,涉及的詞較多,這是訓(xùn)練詞向量的詞匯相對少的glove_6B_300d效果差于fastText_300d的原因。
不同維度詞向量對比:在glove_6B的4種不同維度詞向量中,維度越高,實驗結(jié)果越好,說明維度高能更好表示詞信息。在200維和300維對比中,Rest14數(shù)據(jù)集上200維實驗的準(zhǔn)確率更高,在Twitter、Laptop14和Rest16數(shù)據(jù)集上二者實驗結(jié)果相當(dāng),這說明一定的語料中維度對信息的保存并不是越高越好。
不同訓(xùn)練詞匯量對比:對比6 B、42 B和840 B的詞匯量可以發(fā)現(xiàn),隨著詞匯量的增大,實驗效果越好??梢缘贸鰠⑴c訓(xùn)練的詞匯越多,詞向量對詞義的表示越完整的結(jié)論。
綜上對比,glove_840B_300d的詞向量獲得最佳實驗結(jié)果,說明其對詞義的表示最完整,這是本文選擇該詞向量用于網(wǎng)絡(luò)訓(xùn)練的主要原因。
為了進一步說明連接邊對于圖注意力的重要性,卷積因子示例如圖3所示,當(dāng)前聚合結(jié)點是詞“food”,第一行是GAT的卷積因子,第二行是帶邊標(biāo)簽的卷積因子??梢园l(fā)現(xiàn),GAT對詞“great”、“dreadful”沒有較大的區(qū)分度。在帶邊標(biāo)簽的圖注意力中,修飾“food”的情感詞匯“great”有很大權(quán)重。
圖3 卷積因子示例
為了進一步迭代注意力的重要性,注意力示例如圖4所示。第一行是GAT的卷積因子自點積模擬兩層后聚合到方面詞的各個詞的比重,第二行是迭代1次注意力的注意力值,第三行是迭代2次的注意力值。當(dāng)前的方面詞是“internal cd drive”,句中的主要情感詞是“complaint”和“no”。可以看到,僅用GAT不一定能給關(guān)鍵情感詞分配高權(quán)重,尤其是兩跳外的詞“complaint”。使用1次迭代注意力即能結(jié)合句法信息和全局信息,使用2次后“complaint”和“no”得到更大的注意力值。三者信息結(jié)合一起作為方面詞的向量從而得到更準(zhǔn)確的特定方面詞的特征表示。
圖4 注意力示例
為了進一步說明注意力層數(shù)對實驗結(jié)果的影響,注意力層數(shù)實驗結(jié)果統(tǒng)計見表5。
表5 注意力層數(shù)實驗結(jié)果
由實驗結(jié)果可知,層數(shù)為2時模型綜合表現(xiàn)最佳。本文迭代注意力的設(shè)計核心是迭代方面詞向量表示。層數(shù)為1時,方面詞向量由圖卷積獲得的句法信息、句法與所有詞通過注意力獲得的信息構(gòu)成,其它詞則通過自注意力進行特征更新。在層數(shù)2時,再做注意力即可獲得自注意力后的全局信息。結(jié)合句法信息、所有源詞信息以及自注意力全局信息是層數(shù)為2時綜合表現(xiàn)最佳的原因所在。同時可以看到,迭代注意力模型固定后,單純的增加層數(shù)只能在部分?jǐn)?shù)據(jù)集上提高實驗性能。通過分析,Twitter數(shù)據(jù)集中的句子只有一個方面詞,一層注意力即可獲得特定方面詞的全局信息,增加注意力層數(shù)反而會引入噪音。在Laptop14數(shù)據(jù)集中,層數(shù)在4和5時提高的關(guān)鍵是多分對中性的句子,由數(shù)據(jù)集的分布可以發(fā)現(xiàn),Laptop14數(shù)據(jù)集測試集中中性句子占比較高,所以模型的注意力層數(shù)與數(shù)據(jù)集的情感樣本不平衡有關(guān)系。
對于方面級情感分類而言,句法信息有助于捕獲情感特征,本文提出基于圖卷積和注意力的模型ASGAT。在5個公開數(shù)據(jù)集的實驗結(jié)果顯示,模型ASGAT在GAT的基礎(chǔ)上考慮邊信息提高了對關(guān)鍵詞的識別度,同時表明GCN結(jié)合迭代注意力對特定方面的情感詞信息更加敏感。本文的研究比較依賴句法解析器獲得的依存句法信息,而依存句法信息也含有一定的噪音和錯誤,在今后的研究中可以試著構(gòu)造融合多種句法解析結(jié)果的方法以減少這種噪音。