韓 虎,郝俊,張千錕,孟甜甜
蘭州交通大學 電子與信息工程學院,蘭州730070
隨著社交網絡的快速發(fā)展,用戶擁有廣闊平臺來發(fā)表觀點和言論,通過情感分析獲取評論文本的情感傾向,已經成為研究人員關注的熱點[1]。區(qū)別于普通情感分析,方面級情感分析(aspect-based sentiment analysis,ABSA)[2]可以挖掘出句子中不同方面的情感極性,例如句子“This bracelet is simple to use,but it costs too much!”,對于方面“use”是積極的,而方面“cost”是消極的。不同的方面對應的情感極性可能完全相反,可見方面級情感分析能提高模型對句子中多個方面情感極性的判定能力。
早期,一些學者將傳統(tǒng)的機器學習方法引入來處理情感分析問題,Boiy 等人[3]通過人工標注一部分數據作為訓練集,然后利用訓練集來構建模型,最后利用模型對測試集的數據進行預測,這類方法通常需借助復雜的人工規(guī)則和特征工程。近年來,深度學習的應用使情感分析領域取得了顯著的進展。Kim[4]采用卷積神經網絡(convolutional neural network,CNN)通過識別目標所在子句的情感來推斷目標的情感,取得了優(yōu)異的性能。Wang 等人[5]提出了一種基于注意力的LSTM(long short-term memory)模型,當以不同的方面作為輸入時,注意力機制可以集中在句子的不同部分。Ma 等人[6]提出了交互式注意力網絡(interactive attention networks,IAN)來進行交互學習,得到上下文和方面的注意力,并分別生成方面和上下文的表示。通過這種設計,IAN 模型能夠很好地表示方面及其對應的上下文。融入注意力機制的網絡模型能夠有效關注到與方面相關的特征,并可以針對不同方面調參,進而挖掘更多的隱藏特征,但是這類方法通常在訓練過程中僅考慮方面本身,無法有效地識別長句中復雜的語言關系。
在一個句子中通常存在詞的頻繁搭配,例如:“food was okay,nothing special”,單詞對“nothing special”在數據集中出現了5 次,而此單詞對是消極的,如果沒有該消極信息來抵消“okay”帶來的積極作用,模型可能會對“food”做出錯誤的預測。Tay 等人[7]提出了一種將特征信息集成到神經模型中的新方法,通過建模詞-方面關系,將方面信息融入到神經模型中。Yao 等人[8]考慮到詞的共現關系和文檔-詞的關系,對照語料庫建立單一的文本圖,然后為其構建文本圖卷積網絡。同時,合理利用句法信息可以有效解決單詞間長距離依賴問題。Shafie 等人[9]提出通過挖掘評論中詞語之間的句法依存關系,來識別評論中的多個方面及其對應的情感。Zhang 等人[10]提出基于特定方面的圖卷積網絡(aspect-specific graph convolutional network,ASGCN)利用依賴樹捕獲長期的上下文語義信息,從而獲得較為精確的方面情感極性。
雖然這些模型基于深層神經網絡,能夠很好地捕捉上下文和目標之間的語法和語義信息,但是它們在有效地整合外部知識以幫助理解文本方面存在不足,特別是利用神經網絡處理之前未知的單詞時,例如句子“The safari opened so fast that I couldn’t see it clearly”,傳統(tǒng)的模型可能把safari 當作新詞,無法判斷出safari為瀏覽器以及單詞“fast”的情感傾向,而這恰恰是分辨出方面情感的關鍵。因此學者們嘗試利用知識圖譜中的先驗知識為模型提供監(jiān)督信號,提高模型語義解析能力。Chen 等人[11]通過引入知識圖譜來解決不同語境下的“一詞多義”問題。Bian 等人[12]使用多頭注意機制來表示目標和上下文,并與從外部知識庫中提取的概念知識融合來增強上下文和目標的語義表示。
受上述工作的啟發(fā),本文通過融合知識圖譜和詞共現信息、句法信息構建知識增強圖注意力網絡模型,以交互注意力網絡為基礎,通過詞共現信息、句法特征等隱性知識和知識圖譜概念信息增強文本表示,從而達到語義消歧和特征融合的效果。本文的貢獻如下:
(1)提出將知識增強后的方面和經過句法、詞匯圖處理后的上下文進行有效的結合,不僅能學習到語言知識(詞共現信息、句法信息),還能夠充分融合概念知識。
(2)模型使用交互注意力機制建模方面與上下文詞之間的語義關系,完成方面與上下文的協(xié)調優(yōu)化。
(3)在五個公開數據集上評估模型的性能,實驗結果表明,該模型對不同數據集的準確率(accuracy,Acc)與宏平均F1 值(macro averageF1,MF1)均有所提升,并進一步證明了知識引入對于模型的重要性。
基于方面的情感分析是情感分析中的一項細粒度情感分類任務,其目的是識別句子對方面表達的情感極性,通常有兩種方法用于方面級情感分析:(1)采用傳統(tǒng)機器學習方法,依賴人工構建的特征和規(guī)則,不過該類方法非常耗時、耗力。(2)采用深度學習方法,將神經網絡引入情感分類研究領域,其可以對特征進行自動選擇而不需要人工干預,大大緩解了模型對特征工程的依賴,使模型用更低的代價取得更好的分類效果。如文獻[4]利用預訓練的詞向量,將CNN 應用于文本分類任務中。文獻[13]中的模型使用LSTM 網絡對文本序列進行語義建模,通過LSTM 建模后的句子表達能體現文本上下文的語義聯(lián)系。然而,基于神經網絡的方法不能有效地區(qū)分句子中每個單詞的重要程度,而且句子的情感極性不僅由內容決定,還與所涉及的方面密切相關。為此,一些學者將注意力機制引入來重點關注句子中的重要信息。如文獻[14]提出兩種不同的基于注意力機制的雙向長短時記憶網絡模型用于目標相關的情感分類。文獻[15]使用一種基于注意力機制的深層記憶網絡用于基于方面的情感分析任務中。
研究表明,上述方法利用詞嵌入技術僅編碼了文本語義信息,忽略了句法結構信息和詞頻信息,而這些信息對保存結構信息有重要作用,并有助于縮短方面詞和意見詞之間的距離。且若不能正確利用句法路徑上的依存關系,句法結構的作用就不能得到充分發(fā)揮。最近,一些學者使用基于圖的模型來整合句法結構,比如Sun 等人[16]將依存關系樹轉化為圖,然后將GCN(graph convolutional network)在依存樹上學習來建模句子的結構,將信息從句法鄰域意見詞傳播到方面詞。
雖然這些模型在情感分析任務上有較好的表現,但只用僅有的句子信息,而未考慮到單詞在多種語境下的“一詞多義”問題,極大影響了情感分析任務的預測性能。外部知識在情感分析任務中至關重要,因此,本文提出了一種交互注意力網絡模型,在利用詞匯、句法圖合并關系類型的同時融入知識來指導方面級情感分析任務。
1.2.1 局部層次句法、層次詞匯圖
句子中蘊含豐富的信息,如何有效利用文本自身的語法知識也受到了廣泛關注。例如融入詞匯信息、句法依存關系來提高情感分析結果的準確度。然而上述方法性能雖有一定的提升,但并未考慮關系類型的影響。Zhang 等人[17]在句法、詞匯的基礎上構造概念層次,以區(qū)分不同類型的依存關系或詞對共現關系,提升了模型在方面情感分類任務上的性能。Tian 等人[18]有效融入依存句法信息并設計在各種語境下為不同的關系類型加權,從而有效識別句法信息中的噪音。因此,本文考慮借助具有概念層次結構的局部層次句法圖和層次詞匯圖,來區(qū)分不同類型的依存關系和詞對共現關系,利用這些詞性、句法等文本內部知識增強評論文本特征表示,提高模型分類能力。
局部層次句法圖(hierarchical syntactic graph,HSG)[17]可以區(qū)分各種類型的依賴關系,如圖1 所示,每條邊均附有表示關系類型的標簽,多種依賴關系共分為五種關系類型,包 括“noun”“verb”“adverb”“adjective”“others”,表示為S1,S2,…,S5。具體地,HSG 表示為{Vs,Es,Rs},其中Vs、Es和Rs分別是節(jié)點集、邊集和句法關系類型集,Es中的每條邊現在都附加有一個標簽,代表Rs中的依賴關系類型。例如,acomp關系“was-nothing”和amod 關系“nothing-special”組合成一種形容詞關系類型,而nsubj 關系“food-was”將形成另一種名詞關系類型。
圖1 局部層次句法圖Fig.1 Hierarchical syntactic graph
層次詞匯圖(hierarchical lexical graph,HLG)[17]用概念層次來捕捉各種單詞的共現關系,如圖2 所示,用d1和d2表示頻率為20和21的詞對關系,用d3,d4,…,d7表示頻率落在[2k+1,2k+1](1 ≤k≤5)區(qū)間內的詞對關系,d8表示所有頻率大于26的詞對的詞匯關系。最后基于詞匯概念層次構造一個層次詞匯圖HLG,記為{Vd,Ed,Rd},其中Vd、Ed、Rd分別是節(jié)點集、邊集和詞匯關系類型集。
圖2 層次詞匯圖Fig.2 Hierarchical lexical graph
1.2.2 知識圖譜
知識圖譜作為一種重要的外部知識來源,它可以提供豐富的背景信息,基于知識圖譜的文本表示方法可以有效地提升各項自然語言處理任務的性能。如Hu 等人[19]提出了一種基于知識庫構造的異質圖神經網絡,利用知識庫中的知識增強文本語義表示,提高短文本分類效果。
大型的知識圖譜系統(tǒng)——Microsoft概念圖譜[20],其擁有對海量的網頁和搜索日志進行學習后掌握的常識性知識,以實例、概念和關系三元組的形式表示。通過將文本中的方面映射到不同的語義概念,在實際應用中為計算機提供有助于文本理解的先驗知識,具體功能如下:
(1)提供了常識計算功能,概念化將實例或短文本映射到概念空間,可以將其視為人類可理解的文本和機器可理解的文本嵌入。
(2)提供了文本概念標記的功能,用于理解文本的短文本語義相似度計算等。
(3)可以使各種文本處理應用程序受益,包括搜索引擎、自動問答、在線廣告、推薦系統(tǒng)和人工智能系統(tǒng)。
本文將方面及其概念信息結合構成方面實體嵌入,有效充實方面的概念知識。
知識增強的交互注意力圖卷積網絡模型(knowledge enhanced attention graph convolution network,KEAT-GCN)如圖3 所示,該模型同時融合兩方面外部知識,一是語言知識(句法、詞匯關系),二是先驗知識(概念圖譜)。文本上下文首先通過嵌入層獲得上下文詞向量矩陣,然后通過KGBiGCN(knowledge graph bi-level interactive graph convolution network)模塊與詞匯圖、句法圖進行融合得到語言知識處理映射矩陣,方面與其知識圖譜中對應的概念集結合后得到方面概念嵌入表示,再通過交互注意力層將兩部分表示進行交互操作得到注意力表示矩陣,最后到輸出層進行分類,KEAT-GCN 模型主要由以下四部分組成:
圖3 模型整體結構Fig.3 Overall structure of model
(1)概念化編碼。通過調用微軟概念圖譜的API,得到方面對應的概念集并向量化,將方面和方面對應的概念進行拼接,獲得實體概念化嵌入表示。
(2)語言化編碼。通過將初始處理后的上下文表示輸入到KGBiGCN 層中進行多次變換,得到語言知識處理表示。
(3)交互注意力層。通過對兩種處理后的表示分別計算注意力得分,然后進行多次不同的線性變換,捕獲上下文和方面之間的依賴關系。
(4)輸出層。將處理后的兩部分表示拼接,使用Softmax 函數得到輸出結果,最終獲得方面對應的情感極性。
2.1.1 嵌入層和Bi-LSTM層
給定包含n個詞的句子s=(w1,w2,…,wa+1,…,wa+m,…,wn-1,wn),其中a=(wa+1,wa+2,…,wa+m)表示有m個詞的方面(可以是方面詞或方面短語),首先每個單詞映射到低維實值向量空間中得到低維的實數向量,即詞向量。通過該操作,得到詞向量表示(w1′,w2′,…,wn′),然后將詞向量輸入BiLSTM 中,以生成句子的隱藏狀態(tài)向量H=(h1,h2,…,hn)。
2.1.2 位置嵌入層
位置嵌入層(position embedding,PE)采用方面與上下文詞之間的距離來衡量二者的相關性,距離分為語法距離和相對距離。語法距離可由句法依存樹得到,設方面詞a與上下文詞H之間的語法距離為di,將di定義為二者在依存樹中的路徑長度,語法距離特征計算公式如下:
通過計算式(1)可以得到句子中方面與上下文詞之間的語法距離特征向量S=(s1,s2,…,sn),其中,dmax表示路徑長度的最大值,si表示方面與上下文詞之間的語法距離特征。若方面為短語,則以該短語中距離依存樹根節(jié)點最近的一個單詞作為方面詞,相對距離可由方面與上下文詞在句子中的路徑長度得到,相對距離特征計算公式如下:
通過式(2)可以得到句子中方面與上下文詞之間的相對距離特征向量R=(r1,r2,…,rn),其中ri表示方面與上下文詞H之間的相對距離特征。然后,結合語法距離特征和相對距離特征生成新的距離特征表示:
其中,pi表示句子中方面與上下文詞之間的距離特征。最后,通過引入距離特征更新句子的隱藏狀態(tài),新生成的句子特征表示包含了單詞的語義信息和位置信息,更新公式如下:
2.1.3 KGBiGCN層
利用局部層次詞匯圖和層次句法圖獲得句子的更好表示,基本思想是讓兩個圖與經過Bi-LSTM(bidirectional long short-term memory)加工后的上下文嵌入進一步交互。由于局部句法圖和詞匯圖包含概念層次結構,而普通GCN無法在帶有標記邊的圖上卷積,因此利用可以合并不同關系類型的雙層GCN,在給定上下文信息后進行兩個合并操作執(zhí)行雙層卷積。
(1)合并相同關系的節(jié)點到虛擬節(jié)點,然后在GCN 中使用相同的歸一化隱藏特征總和作為聚合函數來獲取虛擬節(jié)點嵌入,每一種關系類型r對應的表示為,其中,l是層號,i是聚合的目標節(jié)點。
(2)合并所有虛擬節(jié)點及其特定關系,使用平均聚合函數針對不同關系類型(虛擬節(jié)點)更新目標節(jié)點i的表示形式:
其中,⊕r表示不同關系類型對應表示的連接,Wl表示第l層中的權重矩陣。
文本概念化常用知識圖譜有Yago[21]、WordNet[22]、Microsoft Concept Graph,本文使用微軟發(fā)布的Concept Graph 知識圖譜對方面進行概念化,獲取方面相關概念集合K=(k1,k2,…,kn),ki表示概念集中的第i個概念向量。概念集往往存在多個概念,不恰當的概念可能會對方面造成錯誤的影響,因此在概念集內部加入自注意力機制并進行注意力計算,以獲取每個概念ki在整個概念集中的重要性權重:
其中,αi為概念集中的第i個概念向量的注意力權重,W∈為權重矩陣,v∈為權重向量,da為超參數,b為偏置。注意力機制賦予重要概念較大的權重,賦予不重要的概念極小的權重(接近于0),以突出概念集中的重要概念。
獲取每個概念向量的注意力權重后,對每個概念向量進行加權計算,獲取最終的概念表示:
然后,把方面向量a與其對應的概念向量p相連接,得到了方面的概念化向量ap。
給定的句子方面和上下文分別經過概念化編碼和語言化編碼后得到上下文語言化編碼表示和方面概念化嵌入表示,然后在交互注意力層,對兩部分表示進行交互建模,利用注意力機制來捕獲上下文和方面中的重要信息。對隱藏狀態(tài)向量取平均,得到上下文的初始表示。
(1)方面-上下文注意力計算
γ函數的計算形式為:
(2)上下文-方面注意力計算
同理,對于方面表示,使用上下文表示cavg來計算其注意力向量:
經過上述計算后,得到上下文和方面表示:
通過這種設計,方面和上下文可以交互地影響其表示的生成,將方面表示ar和上下文表示cr連接作為最終表示:
其中,z∈R4dh。
利用交互注意力層的輸出z作為全連接層輸入,通過一個Softmax 函數輸出最終情感極性,即:
其中,W為全連接層權重矩陣;B為全連接層偏置項矩陣;模型的損失函數采用交叉熵損失函數,通過標準的梯度下降算法訓練模型來完成分類任務:
其中,J為所有的訓練數據的個數;yi和分別是訓練集的基本事實和預測標簽,θ代表所有可訓練參數,λ是L2 正則化系數。
本文使用5個基準數據集(Twitter、Lap14、Rest14、Rest15、Rest16)來進行評估,上述數據集均來自Twitter[23]、SemEval(SemEval14[2]、SemEval15[24]、Sem-Eval16[25]),樣本就極性分為積極、消極和中性,具體如表1 所示。
表1 數據集Table 1 Datasets
模型采用準確率(Accuracy,Acc)和宏平均值(macro averageF1,MF1)作為評價指標。
其中,T表示正確預測的樣本數量;N表示樣本總數;F1 是分類問題的衡量指標,是精確率和召回率的調和平均數;Precision表示預測出來為正類中真正的正類所占的比例;Recall表示預測出來正確的正類占所有真實正類的比例。
本文利用Glove[26]來初始化詞嵌入向量,為了獲取模型最優(yōu)的性能,經過多次實驗,超參數設置如表2 所示。
表2 實驗參數Table 2 Experimental parameters
將本文提出的KEAT-GCN 模型與以下幾種方面級情感分析方法進行比較。
(1)LSTM:文獻[27]利用LSTM 編碼上下文信息,將其最后一層隱藏向量作為文本特征表示輸入到分類器中。
(2)IAN:文獻[6]提出的IAN 模型利用注意力機制對上下文和目標交互學習,得到最終的表示。
(3)ASGCN:文獻[10]利用依賴樹上的GCN 來挖掘句法信息和單詞依賴,并結合注意力機制進行情感分類。
(4)BiGCN:文獻[17]提出了一種結合層次句法和詞匯圖的新型網絡結構,更好地利用語料庫級別的單詞共現信息以及不同類型的句法依存關系。
本文在Twitter、Lap14、Rest14、Rest15、Rest16 數據集上進行了5 組模型的對比實驗,實驗結果如表3所示。
從表3 的實驗結果可以看出,本文提出的KEATGCN 模型與最新對比模型BiGCN 相比,在Lap14、Rest14、Rest15、Rest16 數據集上MF1 值分別提升了1.37 個百分點、0.58 個百分點、1.11 個百分點、3.97 個百分點,并且僅在Twitter 數據集存在0.01 個百分點的差值,在Twitter、Lap14、Rest16 數據集上Acc值分別提升了0.41 個百分點、2.06 個百分點、0.49 個百分點,并且在Rest14 數據集上與BiGCN 表現相當,進一步驗證了本文方法的優(yōu)越性。
對比引入注意力機制的LSTM 和IAN 模型的實驗數據,相比僅將獨立句子作為輸入的LSTM 模型,IAN 模型采用交互機制建模其內部關系,在5 個數據集上顯著優(yōu)于LSTM模型。這是因為LSTM沒有考慮到上下文與方面之間的交互作用,所以分類效果不好,這表明句子中的方面與上下文交互需要得到關注。然后,由表3可知,未利用GCN的基礎模型分類結果都不理想,在分類效果最好的Rest16 數據集上的Acc值也只有86.80%,而利用了GCN 的ASGCN、BiGCN、KEAT-GCN 模型在Rest16 數據集上的Acc值相比LSTM 和IAN 兩個模型提升了多個百分點,這充分說明句子中語法知識對提升模型的分類性能的重要性。
表3 實驗結果對比研究Table 3 Comparison of experimental results 單位:%
此外,相較4 個對比模型,本文提出的KEATGCN 模型性能進一步提高。這是因為文本較短,包含的信息有限,對于文本背后的知識缺乏較多,而KEAT-GCN 模型可以有效地融入先驗知識來豐富表示。尤其在Lap14、Rest16 數據集上的Acc值較BiGCN 提升了2.06 個百分點、0.49 個百分點,在Lap14、Rest16 數據集上的Acc值較IAN 提升了4.60個百分點、4.71 個百分點。由實驗結果可以看出,外部知識對精確表示文本語義信息的重要性,本文的模型可以通過外部知識增強方面詞的語義信息,加強評論文本表示,提高模型分類能力。
為了進一步檢查KEAT-GCN 的每個組件對性能的影響,對KEAT-GCN 進行了消融研究,各個模型的描述如下:
BiLSTM+Att:模型由LSTM 層和交互注意力層組成,LSTM 層用來學習句子的語義特征表示,Att 層用來建立方面和上下文之間的語義關系。
BiLSTM+KGBiGCN+Att:模型僅添加KGBiGCN模塊來融入局部層次句法圖和局部層次詞匯圖,用來將語言知識(句法結構與詞對之間的共現關系)融入到特征表示中。
BiLSTM+KG+Att:模型僅在LSTM 層后新增了知識圖譜的概念信息,用來使方面的概念知識更充分。
KEAT-GCN:完整的模型,同時考慮了概念知識和語言知識。
各個模型的性能對比如表4 所示,可以看出,BiLSTM+Att 模型在5 個數據集的Acc與MF1 值整體不及其他模型,這表明句子中的方面和上下文的相關知識背景和交互是不可忽略的。BiLSTM+KGBiGCN+Att 的性能整體上優(yōu)于BiLSTM+Att 模型,但和KEAT-GCN 相比仍有差距,這表明雖然句法結構和詞匯信息對于方面級情感分析有利,但也不可以忽略概念知識的影響。BiLSTM+KG+Att 模型的性能在Lap14、Twitter、Rest14、Rest15 上比KEAT-GCN 要差,但在Rest16 數據集上優(yōu)于KEAT-GCN,這也許和數據集的特點有關。在Rest15 數據集上,BiLSTM+KG+Att 的性能接近KEAT-GCN,這表明相對于概念信息,Rest15 數據集對于語言知識更敏感。由此可見,KGBiGCN 層對KEAT-GCN 模型的貢獻最大,其次是交互注意力層,但也不能忽略知識圖譜嵌入層的影響。
表4 消融實驗研究Table 4 Ablation experiment study 單位:%
本文提出一種融合知識圖譜、注意力機制和雙向GCN 的方面級情感分析模型,通過對齊方面及方面在知識圖譜中的概念表示,解決了方面詞在不同語境下的一詞多義問題。利用評論文本句法圖和層次詞匯圖有效識別評論文本的語法、詞匯關系,解決了因為錯誤整合關系導致的噪聲問題。使用交互注意力機制加強上下文與方面的交互,使上下文和方面進一步協(xié)調優(yōu)化,在五個公開數據集上的實驗結果表明本文模型在方面級情感分析的有效性。未來研究將嘗試使用近年來發(fā)布的新知識庫來解決新詞無法查詢的問題,完善文本中單詞不同類型的句法關系、概念的屬性,后期將在上述方面進一步改進。