楊春霞,宋金劍,姚思誠
(1. 南京信息工程大學 自動化學院,江蘇 南京 210044;2. 江蘇省大數(shù)據(jù)分析技術(shù)重點實驗室,江蘇 南京 210044;3. 江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心,江蘇 南京 210044)
近年來,互聯(lián)網(wǎng)上評論呈爆發(fā)式增長,越來越多的研究人員投入到情感研究當中。情感分析作為自然語言處理(Natural Language Processing,NLP)的一項重要任務,它分析用戶對產(chǎn)品或事件的評論,并提供用戶關(guān)于產(chǎn)品或事件的情感。
相對篇章級及句子級情感分析預測文本整體情感極性來說,方面級情感分析(Aspect-Based Sentiment Analysis,ABSA)旨在預測用戶評論中具體方面或目標的情感極性,其關(guān)鍵在于提取方面詞與上下文間的關(guān)系。現(xiàn)如今雖然一些基于依存樹的模型在方面級情感分析中取得了不錯的效果[1-2],但為了進一步提高模型性能,一些研究對依存樹進行了修剪。Wang等[3]提出了一種修剪方法,該方法以方面詞為Root,且僅保留原始樹中與方面詞直接相關(guān)的節(jié)點,其余節(jié)點使用n:con(1)表示方面詞與間接相關(guān)節(jié)點間的距離來代替,并取得了不錯的效果,這初步表明修剪依存樹對提高分類效果有一定幫助。但這樣的修剪方式難免會將部分有用信息刪除,因此如何實現(xiàn)依存樹中信息保留與刪除間的平衡是依存樹修剪的難點。
依存樹具有類似于圖形的結(jié)構(gòu),Zhang等[4]在利用圖卷積網(wǎng)絡(Graph Convolutional Networks,GCN)[5]提取依存樹中結(jié)構(gòu)信息時,取得了不錯的效果。但現(xiàn)有的效果最好的GCN只能捕捉圖形中豐富的鄰域信息[6],而無法獲取全局信息。因此,如何讓GCN在獲取局部信息的同時又能捕捉全局信息是現(xiàn)階段研究的一個熱點問題。
基于以上問題,本文提出一種基于多頭自注意力的圖卷積網(wǎng)絡(Multi-Head Self-Attention-based Graph Convolutional Networks,MSGCNs)模型。
本文的主要貢獻如下:
第一,考慮到現(xiàn)有的依存樹修剪方法存在刪除原始樹上部分重要信息的情況,本文提出在依存樹上使用多頭注意力機制[7],讓模型自動學習如何有選擇地關(guān)注對分類任務有用的相關(guān)子結(jié)構(gòu),將原始依存樹轉(zhuǎn)變?yōu)橥耆B接的邊加權(quán)圖,實現(xiàn)了原始依存樹中信息保留與刪除間的平衡。
第二,本文在GCN中引入緊密連接[8],改變了原始GCN只能獲取局部信息的現(xiàn)狀,進而實現(xiàn)了對依存樹中全局信息的提取。
第三,本文在3個公開數(shù)據(jù)集上進行實驗,并與相關(guān)模型進行對比,實驗結(jié)果表明,本文提出的模型性能較相關(guān)模型均有所提升。
方面級情感分析是情感分析中的細粒度分類任務,旨在識別句子中特定方面或目標的情感極性。早期的方法主要集中于機器學習[9-10],這些方法的性能很大程度上取決于特征標注,而特征標注需要花費大量的人力和物力。近年來,神經(jīng)網(wǎng)絡因為不需要人為地構(gòu)造特征,可直接對含有豐富語義信息的低維詞向量進行編碼而逐漸成為情感分類的主流。
依存樹能夠捕捉特殊句式中的句法信息,能為句法依賴信息的傳播提供最有效的路徑。Yang等[1]利用依存樹上的相對距離計算方面詞與上下文間的注意力權(quán)重,提高了情感分類效果;Phan等[2]在進行方面詞提取時,融入句法依存信息,使得提取效果有了顯著提升。雖然這些模型通過引入句法信息取得了不錯的效果,但為了進一步提高模型性能,一些研究對依存樹進行了修剪。Tai等[11]將依存樹與LSTM相結(jié)合,生成了一種樹結(jié)構(gòu)的LSTM,可用于學習單詞與短語間的依賴信息;Miwa和Bansal[12]將原始依存樹修剪成僅包含以兩個實體的最近公共祖先(The Lowest Common Ancestor,LCA)為根的子樹,但這種修剪方式過于激進,使得某些關(guān)鍵信息(如否定關(guān)系)被遺漏;為了彌補這一點,Zhang等[13]提出了一種以依賴路徑為中心的修剪方法,該方法將LCA子樹中距離依賴路徑為K的詞加以保留,其他部分去除,初步實現(xiàn)了保留相關(guān)信息(如否定和連接)和盡可能多地去除無關(guān)內(nèi)容間的平衡。盡管這些修剪方式在一定程度上提高了分類效果,但還是丟失了依存樹中原有的部分重要信息。基于此,本文在依存樹上使用多頭自注意力以端到端的形式學習所有邊的權(quán)重,將原始依存樹轉(zhuǎn)變?yōu)橥耆B接的邊加權(quán)圖,充分地保留和加強了句中單詞間的聯(lián)系。
GCN擅于捕獲圖結(jié)構(gòu)上的信息,但研究表明,深層GCN只能獲取豐富的鄰域信息,無法提取全局信息[6]。為此,Xu等[14]嘗試在GCN上添加額外循環(huán)層,并取得了一定的效果。然而,這種方法只適用于層數(shù)小于6層的GCN,因此捕捉到的全局信息也十分有限。Huang等[8]在進行圖像處理任務時,為了從多層CNN網(wǎng)絡中獲取圖像深層信息,提出了一種新的連接方式——緊密連接,該方法連接簡單且有利于深層網(wǎng)絡間信息的交換,受其啟發(fā),本文嘗試在圖卷積網(wǎng)絡中引入緊密連接并結(jié)合依存樹的修剪方法來進一步提高GCN捕獲信息的能力。
本文提出的MSGCNs模型的結(jié)構(gòu)如圖1所示,主要由以下四部分組成。
圖1 MSGCNs模型結(jié)構(gòu)
(1)詞嵌入: 將數(shù)據(jù)集中的樣本轉(zhuǎn)化為詞向量的形式,并根據(jù)相應的依存樹生成鄰接矩陣。
(2)緊密連接層: 以前一層的輸出作為輸入,并通過GCN和緊密連接的組合來獲取圖結(jié)構(gòu)中的局部信息和全局信息。
(3)注意力引導層: 以第一個緊密連接層的輸出作為輸入,并通過多頭自注意力機制,將原始依存樹轉(zhuǎn)變?yōu)镹個完全連接的邊加權(quán)圖,以便第二個緊密連接層從修剪后的依存樹中獲取更多的結(jié)構(gòu)信息。
(4)線性組合層: 以N個緊密連接層的輸出作為輸入,經(jīng)過該層篩選出更具代表性的句子表示。
(1)
(2)
其中,W(l)是權(quán)重矩陣,b(l)是偏差向量,ρ是激活函數(shù)RELU,Aij是鄰接矩陣中表示節(jié)點i與節(jié)點j之間關(guān)系的值,其取值范圍只能是{0,1}。
圖2 緊密連接(子層數(shù)為L)
(3)
另外,每個緊密連接由L個子層組成,每個子層的隱藏維度dhidden由層數(shù)L和輸入特征維度d決定,即dhidden=d/L。例如,當層數(shù)為3,輸入維度為300時,每個子層的隱藏維度就是dhidden=d/L=300/3=100。最后,將每個子層的輸出連接起來,以形成新的表示,且其維度與輸入特征維度d相同。顯而易見,該方法提高了參數(shù)效率。
由于緊密連接的加入,GCN的計算公式應當加以修改。考慮到本文在依存樹修剪前也使用了緊密連接,因此第一個緊密連接層中的GCN計算修改如式(4)所示。
(4)其中,W(l)∈dhidden×d(l),d(l)=d+dhidden×(l-1)。經(jīng)過依存樹修剪,鄰接矩陣A發(fā)生了變化,所以第二個緊密連接層中的GCN計算修改如式(5)所示。
其中,Q、K、V分別表示查詢向量、鍵向量和值向量;Wq∈d×d、Wk∈d×d和Wv∈d×d是權(quán)重矩陣,bi是偏差向量;H表示第一個緊密連接層的輸出表示第t個頭的注意力引導矩陣;式子用于縮放QKT,因為過大的內(nèi)積會導致softmax的結(jié)果非0即1。圖3是一個原始鄰接矩陣轉(zhuǎn)變?yōu)槎鄠€注意力引導矩陣的示例。從圖中可以看出,原始鄰接矩陣只包含各個節(jié)點間的連接信息,而注意力引導矩陣能夠包含各節(jié)點間的作用關(guān)系。通過兩個矩陣的比較,可以發(fā)現(xiàn)有些間接關(guān)聯(lián)的節(jié)點間可能包含更多的有用信息。因此,讓模型自動學習如何有選擇地關(guān)注對分類任務有用的相關(guān)子結(jié)構(gòu)是十分有必要的。
圖3 注意力引導層
2.4 線性組合層由于MSGCNs模型使用的注意力與常規(guī)的多頭自注意力存在一定的區(qū)別,因此需要一個線性組合層來對N個不同緊密連接層的輸出表示進行過濾篩選,從而獲取最具表現(xiàn)力的句子表示hcomb,計算方法如式(10)所示。hcomb=Wcombhout+bcomb(10)其中,Wcomb∈(d×N)×d是權(quán)重矩陣,bcomb是偏差向量;hout表示N個緊密連接層輸出的串聯(lián)連接,即hout=[h(1);…;h(N)]∈d×N。2.5 最大池化層評論中部分方面詞由多個單詞組成,但每個單詞的重要性并不相同,因此本文在方面詞隱藏表示上使用最大池化函數(shù),以提取最具代表性的方面詞表示ha,具體如式(11)所示。ha=f(hei)(11)其中,hei為hcomb中第i個方面詞的隱藏表示,f()是最大池化函數(shù)(d×N→d×1)。2.6 模型訓練將方面詞表示ha輸入softmax函數(shù)中,計算其在不同情感類別中的概率。然后通過不斷減小最小交叉熵損失函數(shù)的值來調(diào)節(jié)模型參數(shù),損失函數(shù)如式(12)所示。
(12)
本文在SemEval 2014數(shù)據(jù)集和Twitter數(shù)據(jù)集上進行模型性能評估,其中SemEval2014數(shù)據(jù)集由Restaurant和Laptop兩個領(lǐng)域的用戶評論組成,數(shù)據(jù)樣本的情感極性分為積極(positive)、消極(negative)、中性(neutral)三種。表1展示了三個數(shù)據(jù)集在訓練集和測試集中每個情感類別的分布情況。
表1 Restaurant、Laptop和Twitter數(shù)據(jù)集信息
本文實驗環(huán)境如表2所示。
表2 實驗環(huán)境
MSGCNs模型的相關(guān)參數(shù)設(shè)置如表3所示,本文選用GloVe預訓練的詞向量進行詞嵌入表示,向量維度為300,方面詞嵌入、詞性嵌入和位置嵌入維度均為30,訓練過程使用隨機梯度下降(SGD)來進行參數(shù)優(yōu)化,為防止過擬合,訓練過程中使用input_dropout和gcn_dropout。
表3 實驗參數(shù)設(shè)置
為了驗證模型的有效性,本文采用準確率(Accuracy,Acc)和F1作為評價指標。具體如式(13)~式(16)所示。
其中,TP表示正確預測的正樣本數(shù)目;FP表示錯誤預測的負樣本數(shù)目;FN表示錯誤預測的正樣本數(shù)目;TN表示正確預測的負樣本數(shù)目;P表示精確率;R表示召回率。
(1)Feature-based SVM[16]: 一種融合了N-gram特征、解析特征和情感詞典特征的支持向量機模型,在方面級情感分類中仍然保持著一定的優(yōu)勢。
(2)AEN-Glove[17]: 使用基于多頭自注意力的編碼器分別對上下文和方面詞進行建模,并再次利用多頭注意力機制將兩者融合的情感分類模型。
(3)LCF-Glove-CDW[18]: 在AEN模型的基礎(chǔ)上添加了上下文特征動態(tài)加權(quán)層,從而能夠提取局部上下文重要信息的情感分類模型。
(4)ASP-GCN[18]: 利用多層GCN來捕捉依存樹上句法信息和依存信息,并進行情感分類的模型。
(5)LSTM+SynATT[19]: 將方面表示構(gòu)造成方面詞嵌入的加權(quán)和,并利用注意力機制對句子的句法結(jié)構(gòu)進行建模。
(6)R-GAT[3]: 通過對原始依存樹進行重構(gòu)和修剪,生成一種面向方面詞的依存樹,并利用圖注意力來編碼新的依存樹用于情感預測。由于本文使用Stanford解析器來構(gòu)建依存樹,因此選取Stanford解析器下的R-GAT實驗結(jié)果進行對比。
從表4中可以看出,在Restaurant數(shù)據(jù)集和Laptop數(shù)據(jù)集上,本文模型的準確率分別比基線模型中表現(xiàn)最好的LCF-Glove-CDW和R-GAT提升了0.9%和0.24%;在Twitter數(shù)據(jù)集上,本文模型準確率又比基線模型中表現(xiàn)最好的AEN-Glove和R-GAT提升了0.64%。因此,本文模型性能優(yōu)于基線模型。
表4 不同模型分類結(jié)果
AEN-Glove和LCF-Glove-CDW是基于多頭注意力的模型,相對于其他基線模型而言效果較好,這表明多頭注意力能更好地提取方面詞與上下文間的關(guān)系,進而也說明本文模型使用多頭注意力將原始鄰接矩陣轉(zhuǎn)變?yōu)樽⒁饬σ龑Ь仃囀呛侠淼摹?/p>
ASP-GCN模型、LSTM+SynATT模型以及R-GAT模型考慮了評論中的句法信息,并且在一定的程度上優(yōu)于其他模型,其中ASP-GCN模型的性能優(yōu)于LSTM+SynATT模型,這表明GCN比LSTM更擅于提取依存樹中的句法信息。本文模型同樣使用了GCN,實驗效果在ASP-GCN模型的基礎(chǔ)上又有了很大提升,這說明在GCN中引入緊密連接對提高分類效果是有一定幫助的。另外,本文模型實驗效果好于R-GAT,說明本文依存樹修剪方法在一定程度上優(yōu)于R-GAT。
為了進一步驗證修剪依存樹和引入緊密連接的有效性,以Twitter數(shù)據(jù)集為例,對本文模型進行消融實驗,實驗結(jié)果如表5所示。其中,GCNs表示在原始依存樹上使用多層GCN進行情感分類;GCNs+DC表示在GCNs基礎(chǔ)上引入緊密連接;MT+GCNs表示在修剪過的依存樹上使用多層GCN完成分類任務。
由表5可知,GCNs+DC的準確率和F1分別比GCNs提高了1.76%和2.38%,這說明緊密連接的引入能有效促進GCN對全局信息的提取,進而提高情感分類效果;MT+GCNs在準確率和F1上分別比GCNs提高了0.62%和0.97%,這表明本文的修剪策略對提高分類效果是有一定幫助的;MSGCNs在GCNs+DC的基礎(chǔ)上,將準確率和F1又分別提升了0.8%和0.38%,這表明同時考慮依存樹的修剪和緊密連接的引入,能進一步提高分類效果。因此,本文模型中的每個模塊都是不可或缺的,都是對模型的整體效果有直接作用的。
表5 消融實驗結(jié)果
由于緊密連接的引入,使得分類效果提升最為明顯,因此有必要對緊密連接的子層數(shù)L進行研究。由于三個數(shù)據(jù)集中的樣本存在一定的差異性(如Restaurant數(shù)據(jù)集中的句子比較符合語法規(guī)范,而Laptop數(shù)據(jù)集和Twitter數(shù)據(jù)集中的樣本一般短小且有些不符合語法規(guī)范),因此有必要針對各個數(shù)據(jù)集進行實驗,以找出每個數(shù)據(jù)集上的最優(yōu)參數(shù)值L。以Restaurant數(shù)據(jù)集為例,進行一系列的實驗。在實驗中,其他參數(shù)設(shè)置保持不變,L的取值應是緊密連接層輸入維度(dhidden=300)的約數(shù),否則無法實現(xiàn)子層的劃分;此外,設(shè)置過于龐大的L值也會出現(xiàn)過擬合的情況,因此子層數(shù)L的取值范圍設(shè)為{2,3,4,5,6}(2)當L=1時,緊密連接不會對GCN產(chǎn)生任何的影響。
實驗結(jié)果如表6和圖4所示。表6顯示的是子層數(shù)L在各個數(shù)據(jù)集上的最優(yōu)參數(shù)值;圖4 展示的是Restaurant數(shù)據(jù)集的分類效果隨子層數(shù)L所變化的折線圖。其中,每個折線圖中的黑實線表示當?shù)谝粚拥淖訉訑?shù)取某一固定值時,分類效果隨第二層子層數(shù)變化而變化的折線;同理,灰實線表示第二層子層數(shù)固定時,分類效果隨第一層子層數(shù)的變化而改變的折線。從圖4可以發(fā)現(xiàn),分類效果大體上隨著L的增大而逐步上升,這初步表明取較大的L值對提高分類效果有一定的幫助。此外,從表6發(fā)現(xiàn),盡管最優(yōu)參數(shù)L并不都是取最大值,但至少某一層的參數(shù)設(shè)置為5或6,這也進一步說明取相對較大的L能一定程度地促進情感分類效果。
表6 不同數(shù)據(jù)集上的最優(yōu)子層數(shù)
圖4 Restaurant數(shù)據(jù)集實驗結(jié)果
圖4 (續(xù))
為了提高方面級情感分類的分類效果,本文提出了MSGCNs模型。首先,使用多頭自注意力機制將原始依存樹轉(zhuǎn)變?yōu)橥耆B接的邊加權(quán)圖,然后利用融合了緊密連接的GCN進行局部和全局信息的提取,最后通過池化層篩選出最具代表性的方面詞表示。通過相關(guān)實驗證明,本文模型性能較對比模型均有明顯提升;本文的依存樹修剪策略和緊密連接的引入均能有效提高模型精度,且兩者結(jié)合使用效果最佳。
由于本文模型只在公開的英文數(shù)據(jù)集上進行實驗,而沒有涉及中文數(shù)據(jù)集和個人數(shù)據(jù)集,所以在下一步的工作中將考慮如何在中文數(shù)據(jù)集和個人爬取數(shù)據(jù)集上使用本文模型并加以改進。