楊春霞,宋金劍,姚思誠
(1.南京信息工程大學自動化學院,江蘇 南京210044;2.江蘇省大數據分析技術重點實驗室,江蘇 南京 210044;3.江蘇省大氣環境與裝備技術協同創新中心,江蘇 南京 210044)
情感分析,又叫意見挖掘[1],是自然語言處理NLP(Natural Language Processing)中的一項重要任務。隨著數字技術的快速發展,微博、淘寶和京東等平臺上的評論呈爆發式增長,情感分析也得到了越來越多的關注。
方面級情感分析屬于細粒度情感分析,旨在預測文本中特定實體或方面的情感極性,其關鍵在于提取文本表示。目前,同時融合語義信息和句法信息的文本表示在方面級情感分析中取得的分類效果比只融合一種信息的文本表示好[2,3],但這種文本表示仍然只包含了淺層文本信息而忽略了深層信息。因此,如何挖掘深層次文本特征,改進文本表示是值得研究的一個熱點問題。
圖卷積網絡GCN(Graph Convolutional Network)[4]善于捕捉圖中的結構信息,因此被廣泛應用于NLP[5,6]。但現有研究表明:兩層GCN捕捉鄰域信息的性能最佳[7],即再多層的GCN也無法捕獲更多的結構信息。因此,如何讓GCN提取更多的結構信息是現階段面臨的一個問題。
針對以上問題,本文提出了一種基于DBiLSTM(Deep Bi-drectional Long Short-Term Memory)和緊密連接的圖卷積網絡DDGCN(Deep BiLSTM and Dense Connections-based Graph Convolutional Network)模型。該模型的主要貢獻如下:
(1)結合深度雙向長短時記憶DBiLSTM和GCN來獲取不同類型的文本信息,進而生成最具代表性的文本表示。輸入的詞向量、位置向量和詞性向量在DBiLSTM的每一層進行訓練,實現文本中方面詞和上下文間語義信息的挖掘;DBiLSTM最后一層的輸出送入改進后的GCN,以提取依存圖上的結構信息。
(2)通過引入緊密連接[8],改變了GCN只能捕捉局部結構信息的現狀,進而生成一個新的能捕捉深層結構信息的緊密GCN網絡。
本文在3個公開數據集上進行了對比實驗和消融實驗。實驗結果表明,本文提出的模型性能較基線模型均有所提升,且每個組成部分對提高分類效果都有一定的幫助。
方面級情感分析是一種細粒度的情感分類任務。早期模型大多是基于樸素貝葉斯、支持向量機SVM(Support Vector Machine)等機器學習方法建立的,這些模型的性能很大程度上取決于特征標注,而特征標注需要消耗大量資源。深度學習方法不需要人為構造特征,可自動實現對文本中語義特征和句法特征的捕捉,近年來逐漸成為方面級情感分析研究的主流方法。
在深度學習方法中,有些方法使用長短時記憶LSTM(Long Short-Term Memory)或GRU(Gated Recurrent Unit)來建模上下文表示,彌補了RNN(Recurrent Neural Network)模型存在的梯度爆炸和梯度消失問題。但是,單向的LSTM或GRU只能獲取前面文本對當前文本的響應,而忽略了后續文本對當前文本的影響。BiLSTM(Bi-directional LSTM)和BiGRU(Bi-directional GRU)彌補了它們的不足,實現了上下文間關聯信息的提取。曾蒸等[9]使用DBiLSTM進行情感分析,實驗結果表明DBiLSTM能更加有效地建模上下文表示。雖然上述方法在文本表示上已經取得了較好的效果,但仍忽略了諸如依存樹這樣的句法結構信息。Sun等[3,10]通過圖卷積網絡獲取依存樹上各節點表示,并結合上下文間語義表示進行方面級情感分析,均獲得了當時最好的分類效果,這表明同時考慮上下文間的語義信息和圖結構中的結構信息對提高分類效果有明顯幫助?;诖?,本文嘗試使用DBiLSTM學習方面詞和上下文間的深層語義信息;使用GCN學習依存圖中的結構信息,生成既包含語義信息又包含結構信息的文本表示。
圖卷積網絡是卷積神經網絡的變體,它可直接對圖進行操作,圖中每個節點表示的更新都與其相鄰節點有關。理論上講,要想獲取相距L的鄰居節點信息,就需要L層GCN。但是研究發現,兩層GCN捕獲圖中結構信息的能力最強[7],即多層GCN只能捕獲豐富的鄰域信息而無法獲取更多深層結構信息。Xu等[11]嘗試在GCN上添加額外循環層,取得了一定的效果。然而,這種方法只適用于層數小于6的GCN,因此捕捉到的信息也十分有限。Huang等[8]利用多層CNN進行圖像深層信息挖掘時,發現在層與層之間引入緊密連接可以有效促進深層網絡間信息的交換。受其啟發,本文將緊密連接引入GCN網絡中,以提高GCN對深層結構信息的提取。
綜上,本文提出了一種基于DBiLSTM和緊密連接的圖卷積網絡模型。
本文提出的DDGCN模型結構如圖1所示,主要由以下4部分組成:
(1)詞嵌入層:將輸入的數據樣本轉化為詞向量,并與位置向量和詞性向量串聯,一起作為DBiLSTM層的輸入。
(2)DBiLSTM層:對輸入向量進行處理。該層具有多個隱藏層,前一層的輸出作為下一層的輸入。經過多層處理,獲得包含方面詞與上下文間深層語義信息的隱藏層表示,并將其作為緊密GCN層的輸入。
(3)緊密GCN層:在原始GCN中加入緊密連接,使得GCN不僅能夠捕獲豐富的鄰域信息,還能獲取深層結構信息。
(4)平均池化層:先從緊密GCN層輸出的隱藏表示中挑選出方面詞表示,然后對其進行平均池化操作,最后將該層輸出作為Softmax層的輸入。

(1)
其中,a1和am分別表示方面詞起始和結束的索引。本文使用Glove[12]預訓練模型將wq轉換為詞向量表示eq,并將sr表示成q×d的詞向量矩陣X={e1,e2,…,eq},其中d表示詞向量的維度。另外,利用Stanford coreNLP生成句子sr對應的依存樹,并構建相應的鄰接矩陣A。
雖然單向LSTM符合人們的閱讀習慣,但是實際中一個詞不僅與它前面的詞有關聯,還受后面詞的影響。BiLSTM從前后2個方向捕捉上下文信息,最后合并結果得到所需的上下文表示,這更符合句子實際的語義結構。本文采用DBiLSTM模型來進一步提取方面詞與其上下文間的深層語義信息。
LSTM的計算方法如式(2)~式(7)所示:
it=σ(W(i)et+U(i)ht-1+b(i))
(2)
ft=σ(W(f)et+U(f)ht-1+b(f))
(3)
ot=σ(W(o)et+U(o)ht-1+b(o))
(4)
(5)
(6)
ht=ot*tanh(Ct)
(7)

BiLSTM比LSTM多了一個反向提取信息的過程,其計算方法如式(8)~式(10)所示:
(8)
(9)
(10)
DBiLSTM由多層BiLSTM組成,其計算方法如式(11)~式(13)所示:
(11)
(12)
(13)

(14)

(15)

隨著緊密連接的加入,GCN層與層間的聯系變得更為密切,從而不僅能捕捉節點間豐富的鄰域信息,還能捕捉層與層之間的深層次結構信息,如圖3所示。圖3是一個3層的緊密圖卷積網絡,圖中層與層之間的黑實線代表原始圖卷積網絡間的連接方式,虛線表示新增的緊密連接方式。從圖3中可以看出,未引入緊密連接時,節點表示只與網絡層數和上一層的輸出有關;緊密連接的加入增強了層與層之間的聯系,使得節點表示中又融入了更深層的結構信息。另外,為了避免節點自身信息被忽略,在原始鄰接矩陣A的基礎上添加了單位矩陣I。因此,原始GCN計算公式應當加以修改,修改后如式(16)所示:
(16)
經過DBiLSTM和緊密GCN的處理,方面詞隱藏表示中已經包含了上下文語義信息和句法結構信息,因此本文只選取方面詞表示作為分類器輸入,通過式(17)所示的方法將非方面詞表示屏蔽,并保持方面詞的隱藏表示不變:

(17)

(18)
其中,f(·)表示平均池化函數;{}里是屏蔽非方面詞后所得的方面詞隱藏表示。
(19)

本文在SemEval-2014數據集和微博評論(Twitter)數據集上進行模型性能評估,其中SemEval-2014數據集包含餐廳評論(Rest14)和筆記本評論(Laptop14),每個數據集包含3種情感極性(積極,中性,消極)。表1給出了每個數據集中訓練樣本和測試樣本的數據分布情況。

Table 1 Rest14,Laptop14,and Twitter dataset information
表1中,pos表示情感類別為positive,neg表示情感類別為negative,neu表示情感類別為neutral。
本文實驗環境如表2所示。

Table 2 Experimental environment
DDGCN模型中相關參數取值如表3所示。其中,詞嵌入維度為300;詞性和位置嵌入維度為30;考慮到篇章級情感分析中使用的DBiLSTM層數為2時,分類效果就已明顯改善,以及本文使用的數據樣本大多短小、精簡,因此本文DBiLSTM的層數設定為2層;訓練過程中使用Adamax進行參數優化,為防止過擬合,模型訓練過程中還使用了input_dropout、gcn_dropout和rnn_dropout。

Table 3 Experimental parameters setting
為驗證模型有效性,本文選用準確率Acc(Accuracy)和MacroF1(簡稱F1)作為評價指標,具體計算如式(20)~式(24)所示:
(20)
(21)
(22)
(23)
(24)
其中,TP代表成功預測的正樣本數,FP代表錯誤預測的負樣本數,FN代表錯誤預測的正樣本數,TN代表成功預測的負樣本數,P為精確率,R為召回率,F1是精確率與召回率的調和平均,C是情感類別數,F1v為第v個類別的F1值。
近2年的研究工作中專門基于Glove的模型較少。為了證明本文模型的有效性,本文選取如下幾個較為經典或現階段分類效果排名靠前的模型作為對比模型:
(1)IAN[13]:一種結合BiLSTM和交互注意力機制來學習方面詞與上下文單詞間語義信息的情感分類模型;
(2)TNet-LF[14]:該模型從BiLSTM的輸出隱藏表示中篩選出方面詞表示,并將其輸入CNN,以獲得最終分類器的輸入表示;
(3)AEN-Glove[15]:一種使用多次注意力機制建模方面詞與上下文間關系的分類模型;
(4)ASGCN[10]:該模型利用BiLSTM獲取上下文表示,并在此基礎上使用GCN提取方面詞表示,最后將兩者輸入注意力機制,以生成最后的隱藏表示;
(5)R-GAT(Stanford)[2]:該模型首先使用BiLSTM挖掘方面詞與上下文間的語義信息,然后對原始依存樹進行修剪,最后利用圖注意力捕捉新依存樹中的結構信息;
(6)CDT[3]:該模型通過BiLSTM與GCN的串聯連接,實現了文本中方面詞與上下文間信息的提取。
本文選取的6個對比模型大致可分為2類:一類是只考慮語義信息的IAN、TNet-LF和AEN-Glove;另一類是既考慮語義信息又考慮結構信息的ASGCN、R-GAT和CDT。
實驗結果如表4所示。從表4中可以看出,CDT是所有對比模型中表現最好的,而本文模型在其基礎上又有了提升,其中準確率在3個數據集上分別提升了0.81%,0.59%和0.97%;F1值也分別在Rest14數據集和Laptop14數據集上提升了2.24%和0.77%??梢?,本文提出的DDGCN模型性能優于其他對比模型。

Table 4 Classification results of different models
縱觀3個數據集上的整體實驗結果發現,同時考慮2種信息的模型在效果上普遍優于只考慮語義信息的模型,這表明文本中的結構信息對提高分類效果有一定幫助,從而也說明本文構建的同時融入語義信息和結構信息的文本表示是合理的。另外,考慮到本文模型是在CDT模型的基礎上加以改進的,因此實驗結果可以初步證明引入DBiLSTM和緊密連接對挖掘文本中深層次信息并生成相應文本表示有一定幫助。
為說明DBiLSTM和緊密連接單獨挖掘深層次信息的有效性,本文對DDGCN模型進行了消融實驗,以Rest14為例,實驗結果如表5所示。表5中DDGCN-DBiLSTM是指將DDGCN模型中的DBiLSTM替換為普通BiLSTM,其他部分保持不變;DDGCN-DC表示移除DDGCN模型中的緊密連接,改用原始GCN,其余模塊保持原樣。
從表5可以看出,與DDGCN模型相比,DDGCN-DBiLSTM模型在準確率和F1值上分別下降了0.17%和2.1%,這表明DBiLSTM對于挖掘文本中的深層語義信息有一定幫助;DDGCN-DC模型在準確率和F1值上分別下降了0.46%和2.32%,這說明緊密連接的引入使得GCN能夠挖掘深層次結構信息,彌補了原先只能提取鄰域結構信息的不足。綜上所述,DBiLSTM和緊密連接的使用對于挖掘深層信息、提高分類效果都有一定幫助。

Table 5 Ablation experiment results
為了證明本文文本表示的有效性,以Rest14數據集為例,將包含深層語義信息和深層結構信息的文本表示分別替換成只包含語義信息的文本表示O-BiLSTM、只包含結構信息的文本表示O-GCN以及同時包含淺層語義信息與結構信息的文本表示CDT,實驗結果如表6所示。

Table 6 Classification results of models using different text representations
從表6可以看出,O-BiLSTM和O-GCN的準確率和F1相比CDT分別下降了1.35%,1.64%,1%和0.84%,這表明同時融合語義信息與結構信息的文本表示對提升分類效果有明顯幫助。此外,使用本文提出的文本表示方法進行分類時,準確率與F1在CDT的基礎上又分別提升了0.81%和2.24%,這表明融合深層語義信息和深層結構信息的文本表示能進一步提高分類效果,也說明本文提出的文本表示方法較前3種方法更優。
實驗過程中為了獲得每個數據集上的最優實驗結果,對緊密連接的層數L進行了一系列的實驗。實驗中,其他參數設置保持不變,但考慮到層數L要能被緊密連接的輸入隱藏維度整除(dhidden=300),以及取值不宜過大,因此L的取值只能是2,3,4,5,6,10。
實驗結果如表7和圖4所示,表7顯示的是層數L在各個數據集上的最優取值;圖4展示的是本文分類模型的準確率在3個數據集上隨層數L的變動情況,本文從中選取最好的數值作為最終實驗結果。從圖4可以看出,每個數據集的準確率隨L變化的波動相對不大。大體上,當L取值較小時,準確率相對較低,可能是因為層數較小時無法提取更多的結構信息;但當L取值過大時,結果也會下降,可能是因為層數過多會提取出部分無用信息。

Table 7 Optimal L values on different datasets
為了獲取更好的方面級情感分類效果,本文提出了一種DDGCN模型。該模型首先使用DBiLSTM提取方面詞與上下文間深層次的語義信息;其次,在普通GCN網絡中引入緊密連接,形成能捕捉深層結構信息的緊密GCN;然后,將DBiLSTM的最后一層輸出作為緊密GCN的輸入,以實現對依存樹中鄰域和深層結構信息的提??;最終,將包含2種信息的方面詞表示送入Softmax層進行情感分類。在3個公開數據集上的實驗結果表明,本文模型較對比模型而言在準確率和F1上均有提升。在消融實驗也證明了DDGCN模型每個組成部分的有效性。
在下一步的工作中,將嘗試在中文數據集和個人爬取的數據集上進行方面級情感分析,并考慮將其用于實際生活中的某個領域。