竇賢銳,李 敏,趙 暉+
(1.新疆大學 軟件學院,新疆 烏魯木齊 830046;2.新疆大學 信息科學與工程學院,新疆 烏魯木齊 830046;3.新疆大學 信號檢測與處理重點實驗室,新疆 烏魯木齊 830046;4.新疆大學 多語種信息技術重點實驗室,新疆 烏魯木齊 830046)
圖卷積網絡(graph convolutional networks,GCN)具有很好的提取與句法相關的詞信息能力[1-3]。然而,現有的GCN框架下卷積到同一結點的鄰接結點的權重相同,不能有效獲得關鍵節點信息。另一方面,固定卷積層數的方法不能自適應地獲取情感詞信息。

圖1 依存句法信息示例
固定卷積層數(一般設定為2)的方法不能自適應地獲取情感詞信息是指:一是層數值設定小,方面詞的感受野有限,進而無法獲取長句法距離的詞信息;二是層數值設定大,卷積到方面詞的噪音多,影響對特定方面情感信息的提取,一些學者[5,6]認為當卷積層數增多后會造成特征信息過平滑,進而影響特征表示。為解決這個問題,一些學者[7-10]將注意力和語義信息融合到GCN中旨在挖掘更多的情感線索;一些學者[11,12]使用依存句法信息構建方面詞與情感詞的句法相關性,以自適應地捕獲特定方面的情感詞信息。
本文根據這些理論和方法,在GAT的基礎上,加入句法邊信息提高對不同結點的區分度。另一方面,本文設計一個迭代注意力機制用于建立方面詞和句中所有詞的關聯關系,以自適應選擇全局詞信息。
基于圖注意力的方面級情感分類模型(aspect-based sentiment classification with graph convolution and attention networks,ASGAT)的框架如圖2所示。ASGAT模型由雙向LSTM網絡(bi-directional long short-term memory,Bi-LSTM)、帶邊標簽的圖注意力模塊、迭代注意力模塊和門機制組成,其中W3和W4是方面詞。迭代注意力中的att是注意力計算;add是對應向量相加并求平均;Mask是掩蓋對應位置向量后合并向量;Pooling是對多個向量平均池化操作。

圖2 模型ASGAT
其中,對于所有輸入(方面詞、句子)對,由Stanford[13]句法解析獲得句子的帶邊標簽的依存樹矩陣以及每個詞對應的詞性(part of speech,POS)。在把數據輸入網絡前,將單詞、詞性、邊標簽和距離方面詞的位置信息(position)用詞典統計為對應的數字。對單詞進行300維GloVe[14]詞嵌入,對詞性、位置信息和邊標簽參數學習分別獲得30維詞嵌入。然后將拼接的Glove、詞性和位置嵌入輸入到Bi-LSTM獲取上下文信息,接著拼接詞向量和邊標簽嵌入用以計算卷積因子。由上下文信息和卷積因子通過GCN捕獲與方面詞句法相關的詞信息。接著用卷積后的方面詞向量和上下文信息迭代獲取特定方面詞的情感特征向量,然后使用門機制對向量特征進行增強,最后用Softmax分類器獲得情感分類。

1.2.1 圖卷積網絡
在一些研究者[1-3]使用的卷積中,卷積公式為
(1)
式中:φ是ReLU激活函數,Aij是依存矩陣(存在句法連接邊的值為1,不相連為0;且設定為自循環,即Aii=1),ci是結點i度的倒數,ciAij即是卷積因子。由公式可知,聚合到i結點的不同結點j的卷積因子是相同的。但在實際語言中與當前結點句法相連的詞對當前結點的重要性是不同的。
1.2.2 帶邊標簽的圖注意力

(2)
式中:參數We∈R2dh+de,be∈R1,de的值設置為30。獲取表示連接邊關系的標量值后使用Softmax函數計算卷積因子,公式如下
(3)
式中:Ei表示與結點i有句法連接邊的結點集(包括自循環設定的結點i)。

GCN兩層卷積后聚合到方面詞的向量信息包含與方面詞直接和間接句法相連的兩跳內詞信息,通過注意力方法可以自適應選擇全局詞信息。與Zhang等[2]選擇的注意力機制相同,本文使用的是點積注意力。公式如下
(4)
(5)
本文根據注意力和殘差思想[15]提出一種迭代注意力的方法將句法信息和全局信息結合起來,從而自適應選擇全局詞信息和訓練神經網絡。具體的迭代注意力算法如算法1所示:
算法1:迭代注意力算法


方面詞向量中含有圖卷積捕獲的與方面詞句法相關的兩跳內詞信息、通過迭代注意力自適應提取的句子中其它詞信息。再使用Mask-pooling技術提取即可得到特定方面詞的向量。公式如下
(6)
(7)
其中,m為方面詞長度,τ+1是方面詞的第一個單詞,n是句子中的單詞總數。
在獲得特定方面詞的特征表示后,本文使用門機制[16]對向量增強,公式如下
(8)
(9)
其中,σ是sigmoid激活函數,確保f的值在(0,1)區間。權重矩陣維度是Wf∈R2dh×dh,Wh∈Rdh×dh, 偏置bf∈Rdh,bh∈Rdh。

(10)

整個世界都在跟他作對,掙扎也是徒勞。還能抓住什么?沒有一絲讓人留念的東西,一直在考慮的問題,現在都想清楚了。原本要向父親交待的話,看來已經沒有必要。當活著成為痛苦的時候,死未嘗不是一種解脫。
為了驗證模型的有效性,實驗采用了與Zhang等[2]相同的5個數據集:一個是Twitter數據集,其它4個(Laptop14、Rest14、Rest15和Rest16)是SemEval任務中的筆記本電腦和餐館兩種類型的數據。對數據集數據的統計見表1。

表1 數據集統計數據
為了更好地訓練神經網絡,本文在每一層隨機剔除10%的神經元,在輸入層約剔除70%的神經元。本文使用Adam優化器,學習率設為0.01,L2歸一化系數設置為5×10-5。此外,模型訓練設置為100批且使用提前結束技術,批次大小為32,窗口大小為10,GCN層數和迭代注意力層數均設置為2。
通過隨機初始化運行,得到了以準確率(Accuracy,acc)和宏平均F1(Macro-Averaged F1,F1)作為評價指標的實驗結果。
將ASGAT模型與以下研究工作所提出的模型進行對比:
AOA[17]。該模型使用Bi-LSTM獲取上下文信息和方面詞信息,接著用注意力機制建立方面詞和句子詞之間的關系交互獲得特定方面詞的特征向量。
ASGCN-DG[2]。該模型通過Bi-LSTM獲取上下文信息,使用圖卷積將與方面詞句法相關的信息卷積到方面詞,再用卷積后的方面詞和句中所有詞計算注意力,根據詞之間的相似度計算所有詞的權重,由權重加權求和得到特定方面詞的特征表示。該模型將句法信息和上下文信息結合,同時由注意力調整獲得全局信息,取得了較好的情感分類結果。
CDT[1]。該模型在Bi-LSTM獲取上下文前拼接GloVe向量、詞性嵌入和位置嵌入以獲得更豐富、更具有語言環境的詞向量表示。接著利用依存樹可以建立詞之間的句法關系而不論在句中的序列距離的特性,使用圖卷積捕獲方面詞句法相關的句法信息,之后平均池化方面詞向量得到特定方面詞的特征表示。
DGEDT[18]。該模型使用有方向的依存矩陣,建立兩個方向的圖卷積,同時與transformer自注意力的全局功能交互獲取全局信息。
R-GAT[12]。該模型通過重構和修剪依存樹得到其它詞與方面詞的句法距離關系,根據句法關系(與方面詞直接句法相連邊類型和間接相關的句法距離)訓練模型得到句中詞對方面詞的影響權重,結合GAT方法得到特定方面詞的特征表示。
RepWalk[11]。該模型根據依存樹的句法關系構建句中詞與方面詞句法相關的句法路徑,由方面詞出發隨機游走到目標詞,繼而根據游走概率得出當前結點對方面詞的重要性權重。該模型將句法邊信息融合到模型中以便得到更準確的連接比重。
實驗結果最高加粗,次高下劃線標識,模型對比實驗結果見表2。

表2 模型對比實驗結果
從表2的實驗結果可以得出下列結論:
與AOA相比,ASGCN-DG在除了Twitter數據集上的其它4個數據集上都有更好的性能。具體地說,性能改進最小的是在數據集Rest14上0.8%的準確度和F1值1.6%的提高,最高是在數據集Laptop14近3%的準確性和F1值3%以上的提高,這表明句法信息有效地提高了情感方面的特征表示能力。CDT、DGEDT、RepWalk和R-GAT模型都在模型中添加了句法信息,表明句法信息捕獲特定方面詞情感信息的能力得到了學術界的認同并被引入使用。與CDT固定卷積網絡層數只能獲取方面詞兩跳句法內的詞信息不同,RepWalkp和R-GAT建立方面詞與其它多跳句法詞之間的連接,實驗性能進一步提高,說明自適應獲取不同句法距離詞信息的必要性。本文的模型是基于網絡ASGCN-DG和CDT,通過與這些模型對比,本文的圖注意力和迭代注意力機制獲得了更好的實驗性能。從表2的結果可以看出,本文的實驗結果與最新的DGEDT、R-GAT和RepWalk在Twitter、Rest14和Rest16數據集上相比有一定的性能提升,這進一步驗證了模型ASGAT的有效性。
與其它模型相比,本文模型有3個部分主要差異,分別是卷積因子計算、迭代注意力和用于增強特征的門機制。消融實驗即圍繞這3點,具體實驗介紹如下:
(1)/GAT。該模型是刪除邊信息用GAT[4]方法計算卷積因子。
(2)w/oatt。該模型是刪去迭代注意力模塊,在圖注意力網絡后直接用Mask-pooling技術提取特定方面詞的向量送入門機制中。
(3)w/ogate。該模型是刪去門機制模塊驗證門機制對特征增強的作用。
實驗結果最高加粗,次高下劃線標識,消融實驗結果見表3。

表3 消融實驗結果
從表3的實驗結果可以得出下列結論:
圖注意力模塊分析:在Laptop14數據集中,/GAT中性數據集分類正確的準確率較高,由數據集的分布可以發現,Laptop14數據集測試集中中性句子占比較高,二者實驗結果相當是由數據不平衡造成的。本文統計數據集Laptop14、Rest14和Rest15中連接情感詞的邊信息,對比發現Rest15數據集對邊信息不敏感,這是ASGAT在Rest15上準確率不高于/GAT的原因。 對比/GAT,ASGAT在其它3個數據集上實驗效果均更好,可以得出加入邊標簽的信息比只用詞向量計算卷積因子的方法效果好的結論。
迭代注意力模塊分析:ASGAT在所有數據集上的效果不低于模型w/oatt,這有效說明GCN結合迭代注意力對特定方面的情感詞信息更加敏感。
門機制模塊分析:ASGAT在數據集laptop14、Rest14和Twitter上的效果均高于模型w/ogate,在數據集Rest15和Rest16上二者實驗性能相當,說明門機制有效的提高了實驗性能,驗證了其有效性。分析分類句子發現,門機制在Rest15和Rest16中數據集中提高了中性句子正確分類的準確率,而在數據集Rest15和Rest16中中性句子占比較小,本文推測這是門機制在這兩個數據集中效果不明顯的原因。
為了進一步分析詞嵌入方法對模型性能的影響,本文對不同的詞嵌入向量做補充實驗,實驗結果見表4。

表4 詞嵌入模型實驗結果
從表4的實驗結果可以得出下列結論:
不同詞向量方法對比:在300維詞向量對比中,除了Twitter數據集外的其它4個數據集中,使用glove比word2vec和fastText效果均要好。Twitter數據集的語料談論的范圍比較大,涉及的詞較多,這是訓練詞向量的詞匯相對少的glove_6B_300d效果差于fastText_300d的原因。
不同維度詞向量對比:在glove_6B的4種不同維度詞向量中,維度越高,實驗結果越好,說明維度高能更好表示詞信息。在200維和300維對比中,Rest14數據集上200維實驗的準確率更高,在Twitter、Laptop14和Rest16數據集上二者實驗結果相當,這說明一定的語料中維度對信息的保存并不是越高越好。
不同訓練詞匯量對比:對比6 B、42 B和840 B的詞匯量可以發現,隨著詞匯量的增大,實驗效果越好。可以得出參與訓練的詞匯越多,詞向量對詞義的表示越完整的結論。
綜上對比,glove_840B_300d的詞向量獲得最佳實驗結果,說明其對詞義的表示最完整,這是本文選擇該詞向量用于網絡訓練的主要原因。
為了進一步說明連接邊對于圖注意力的重要性,卷積因子示例如圖3所示,當前聚合結點是詞“food”,第一行是GAT的卷積因子,第二行是帶邊標簽的卷積因子。可以發現,GAT對詞“great”、“dreadful”沒有較大的區分度。在帶邊標簽的圖注意力中,修飾“food”的情感詞匯“great”有很大權重。

圖3 卷積因子示例
為了進一步迭代注意力的重要性,注意力示例如圖4所示。第一行是GAT的卷積因子自點積模擬兩層后聚合到方面詞的各個詞的比重,第二行是迭代1次注意力的注意力值,第三行是迭代2次的注意力值。當前的方面詞是“internal cd drive”,句中的主要情感詞是“complaint”和“no”。可以看到,僅用GAT不一定能給關鍵情感詞分配高權重,尤其是兩跳外的詞“complaint”。使用1次迭代注意力即能結合句法信息和全局信息,使用2次后“complaint”和“no”得到更大的注意力值。三者信息結合一起作為方面詞的向量從而得到更準確的特定方面詞的特征表示。

圖4 注意力示例
為了進一步說明注意力層數對實驗結果的影響,注意力層數實驗結果統計見表5。

表5 注意力層數實驗結果
由實驗結果可知,層數為2時模型綜合表現最佳。本文迭代注意力的設計核心是迭代方面詞向量表示。層數為1時,方面詞向量由圖卷積獲得的句法信息、句法與所有詞通過注意力獲得的信息構成,其它詞則通過自注意力進行特征更新。在層數2時,再做注意力即可獲得自注意力后的全局信息。結合句法信息、所有源詞信息以及自注意力全局信息是層數為2時綜合表現最佳的原因所在。同時可以看到,迭代注意力模型固定后,單純的增加層數只能在部分數據集上提高實驗性能。通過分析,Twitter數據集中的句子只有一個方面詞,一層注意力即可獲得特定方面詞的全局信息,增加注意力層數反而會引入噪音。在Laptop14數據集中,層數在4和5時提高的關鍵是多分對中性的句子,由數據集的分布可以發現,Laptop14數據集測試集中中性句子占比較高,所以模型的注意力層數與數據集的情感樣本不平衡有關系。
對于方面級情感分類而言,句法信息有助于捕獲情感特征,本文提出基于圖卷積和注意力的模型ASGAT。在5個公開數據集的實驗結果顯示,模型ASGAT在GAT的基礎上考慮邊信息提高了對關鍵詞的識別度,同時表明GCN結合迭代注意力對特定方面的情感詞信息更加敏感。本文的研究比較依賴句法解析器獲得的依存句法信息,而依存句法信息也含有一定的噪音和錯誤,在今后的研究中可以試著構造融合多種句法解析結果的方法以減少這種噪音。