方云龍,李衛疆
(1.昆明理工大學 信息工程與自動化學院,昆明 650500;2.昆明理工大學 云南省人工智能重點實驗室,昆明 650500)
方面級情感分析是一項細粒度的情感分析任務,目標在于識別出文本中特定方面的情感極性。針對目前網絡上復雜的評論文本,方面級情感分析可以識別出用戶對于某個具體方面的態度,而不是簡單地對整個評論指出一個統一的情感極性。因此,方面級情感分析對于推薦系統,輿情預測等方面具有重要的作用和廣闊的應用前景。
方面級情感分析任務的關鍵在于建模方面詞與方面相關的描述間的依賴關系。但是一個句子中可能存在多個方面以及不同方面相關的觀點表達。為了確定特定方面的情感極性,研究者提出了多種基于注意力機制的遞歸神經網絡模型[1-5]以提取基于特定方面的句子表示,然而遞歸神經網絡對于長距離特征的學習存在不足,同時注意力機制無法考慮單詞間的相對位置信息對于詞間關系的影響。
為了進一步提升模型對上下文信息的編碼能力,有研究者提出基于句法依存樹的圖卷積神經網絡模型[6]。句法依存樹通過句法關系縮短了句子中方面詞與相關觀點表達間的距離,減少了文本中的噪音,這使得神經網絡模型可以更容易捕捉長距離的句法依賴關系。
但是,在近年的研究中所提出的圖卷積神經網絡模型[7-9]對存在句法連接的單詞都賦予相同的權重,忽視了單詞間的位置語義關系,可能無法合理地表達不同詞對方面詞情感極性的重要性,從而誤導模型。同時,大多數現有模型只關注圖卷積網絡最后一層的輸出,忽略了淺層圖卷積網絡中的信息。
基于上述問題,本文提出了一種基于關系圖卷積神經網絡與雙注意力的方面級情感分析模型(relational graph convolution neural network and bidirectional attention,RGBA)。主要貢獻如下。
1)提出關系圖卷積網絡,通過關系感知注意力綜合考慮語義信息與詞的相對位置信息計算詞間的位置語義關系,聯合句法依存樹,使用圖卷積神經網絡進行情感分析。
2)本文提出了雙注意力機制,使用上下文對方面的注意力機制融合不同圖卷積層的輸出,使用方面對上下文的注意力機制提取基于方面的上下文表示。
相較于句子級或是文檔級的情感分析,方面級情感分析是更加細粒度的情感分析任務。方面級情感分析的方法可以分為傳統方法與深度學習方法。傳統方法通常使用基于手工標記特征的機器學習方法。Kiritchenko等[10]通過內部的序列標注檢測方面詞,并使用支持向量機(support vector machine,SVM)提取對方面詞的情感信息。由于傳統方法人工構造特征效率低下,并且無法對上下文特征與方面詞間的依賴關系進行建模,研究者的關注點遷移到了深度學習方法。
Tang等[11]提出了用于方面級情感分析的遞歸神經網絡模型,將方面詞與方面詞之前和之后的上下文連接,使用2個長短期記憶網絡(long short-term memory,LSTM)分別建模進行情感分類。方面級情感分析的關鍵在于識別出上下文與方面詞之間的語義相關性,通過注意力機制,可以有效獲取與方面相關的上下文信息,因此,將注意力機制應用于模型中可以明顯提高模型的分類性能。Wang等[1]提出了基于注意力的遞歸神經網絡,通過計算方面詞嵌入對句子不同部分的權重,使模型關注與方面相關的部分。Ren等[12]提出了一種基于門控卷積神經網絡的方面級情感分析模型,通過多層的門控卷積網絡提取感知方面的上下文信息,使用注意力機制獲取方面與上下文的隱式表達進行情感分類。Wu等[13]使用卷積神經網絡獲取方面與上下文信息,然后使用殘差注意力機制獲取方面與上下文的交互信息。Tang等[14]使用詞向量構建的外部記憶進行注意力學習輔助情感分類。Song等[15]結合注意力機制與多道卷積機制進行情感分類。但傳統的基于注意力機制的模型中忽略了句法結構對語義的影響。Dong等[16]提出了一種句法增強的遞歸神經網絡,可以沿句法依賴樹自適應地將句子中單詞的情感傳遞給方面詞。NGUYEN等[17]引入了一種基于句法信息的注意力模型,該模型結合了句法信息來計算注意力權重。Phan等[18]利用句法相對距離來減少無關詞的影響。
最近的研究使用基于圖卷積神經網絡[19](graph convolution neural network,GCN)的模型來解決文本分類問題,圖卷積神經網絡可以有效地處理包含豐富信息的圖數據,捕捉節點之間的關系。Yao等[20]將圖卷積神經網絡引入情感分類任務,使用單詞共現和文檔-單詞關系構建文本圖,然后使用圖卷積神經網絡進行情感分類;隨后Zhang等[6]與Sun等[21]提出在句法依存樹上使用GCN,以利用遠程的句法信息。Zhang等[7]提出了結合詞匯圖與句法圖的圖卷積神經網絡,讓詞匯圖與句法圖協作進行情感分類。Xiao等[8]使用圖卷積神經網絡獲取句法信息,通過注意力機制融合語法信息,語義信息及其交互信息進行情感分類。XIAO等[9]通過圖卷積神經網絡獲取基于句法依存樹的局部信息和基于單詞文檔圖全局信息,結合局部信息和全局信息進行情感分類。Zhao等[22]使用結點的子相關性聚合結點特征,然后使用注意力機制進行情感分類。
但這些模型側重于使用依存樹的結構構建句法圖,平等地對待圖中的邊,這可能導致單詞通過圖卷積網絡的迭代將語法不相關的詞與方面詞關聯,從而導致錯誤的分類結果。同時,這些模型只使用圖卷積網絡的最后一層輸出,忽略了淺層圖神經網絡中的信息
圖1 模型框架Fig.1 Model framework
基于關系圖卷積神經網絡的方面級情感分析模型由輸入層、嵌入層、關系圖卷積層、雙注意力層和分類層組成,如圖1所示。輸入層將評論文本和方面詞映射為詞向量;嵌入層通過雙向長短期記憶網絡(bi-directional long short-term memory,BiLSTM)網絡將輸入的詞向量轉化為上下文感知的詞嵌入;關系圖卷積網絡層首先使用關系感知注意力機制得到單詞間的關系圖,然后結合句法依存樹使用圖卷積神經網絡提取信息;雙注意力層使用雙注意力機制融合層圖卷積網絡不同層的輸出,獲取方面與上下文的交互信息,得到最終的上下文表示和最終的方面表示;分類層結合最終上下文表示和最終方面表示,使用分類函數進行情感分類。
無監督的詞表征方法廣泛地應用于自然語言處理任務,可以把一個單詞表示成一個由實數組成的向量,向量可以捕捉單詞之間的一些語義特性。
BiLSTM可以通過單詞序列上的依賴關系,將上下文信息集成到單詞嵌入中。本文使用BiLSTM獲取帶有上下文信息的單詞嵌入。
(1)
(2)
(3)
2.3.1 關系感知注意力
在方面級情感分析任務中,注意力機制有助于模型關注與方面相關的上下文,在減少計算量的同時,大大減少了文本中的噪音。但普通的注意力機制[24]忽略了相對位置信息對于單詞間關系的影響,由此,本文使用關系感知注意力(relation aware attention,RA)[25]綜合考慮單詞的語義信息和相對位置信息來計算單詞間的注意力權重。
對于輸入序列,使用一組向量表示單詞前后的位置信息,同時假定過于遙遠的精確位置信息對于模型沒有幫助,本文設置最大剪切距離k,只考慮距離目標詞k以內的位置信息。所以,2k+1個相對位置表示為
(4)
(5)
clip(x,k)=max(-k,min(x,k))
(6)
(5)—(6)式中,clip(j-i,k)表示以最大剪切距離k修剪后單詞xi與單詞xj間的相對位置。
圖2 單詞間的相對位置信息表示Fig.2 Representation of relative position information between words
所有xi和xj間的關系權重計算公式為
(7)
2.3.2 關系圖卷積神經網絡
方面級情感分析任務的關鍵在于建模上下文與方面詞之間的關系,而文本中的句法依存關系可以有效地縮短方面詞與觀點詞之間的距離。因此,在模型中引入句法依存樹可以有效地提升模型的性能。融合句法依存樹的關系圖卷積網絡結構如圖3所示。
句法依存樹可以看作一個有n個結點的圖G,其中結點表示句子中的單詞,邊表示單詞間的句法依賴關系。本文使用n×n的鄰接矩陣A表示句法依存樹,如果結點i與結點j間存在句法關系,則Ai,j=1,否則Ai,j=0。
本文使用Spcay工具獲得文本的句法依存樹,如圖4所示。結合關系感知注意力計算的詞間權重,使用圖卷積神經網絡獲得關系圖卷積網絡層的輸出,第l層圖卷積網絡的單詞結點的更新公式為
(8)
(9)
圖4 依存句法樹示例Fig.4 Example of dependency syntax tree
將方面詞在每一層圖卷積網絡的輸出平均池化后拼接作為關系圖卷積層的輸出,表達式為
(10)
(11)
(11)式中,f(·)表示平均池化。
本文在模型中采用了雙注意力機制(bidirectional attention,BA)提取上下文與方面詞間的交互信息。使用上下文對方面的注意力機制根據上下文融合關系圖卷積網絡輸出的方面表示,然后基于新的方面表示,使用方面對上下文的注意力機制獲取基于方面的上下文表示。
2.4.1 上下文對方面的注意力
上下文對方面詞的注意力首先通過平均池化嵌入層的輸出得到上下文信息,然后使用上下文信息為不同層的圖卷積層的輸出賦予不同的權重,計算公式為
(12)
vc2a=(hc)TWc2ahG
(13)
hc=pooling(ht)
(14)
(12)式中,Wc2a為注意力權重矩陣。
最后使用權重融合方面信息,得到新的方面表示為
(15)
2.4.2 方面對上下文的注意力
方面對上下文的注意力使用新的方面表示計算上下文對方面詞的貢獻,得到基于方面的上下文表示為
(16)
(17)
va2c=(Ra)TWa2cht
(18)
(18)式中,Wa2c為注意力權重矩陣。
分類層結合方面表示與上下文表示得到最終的特征向量,表達式為
Rf=Rc+ReLU(Wca(Rc;Ra))
(19)
(19)式中,Wca為權重矩陣。
使用最終的特征向量表示進行情感分類,表達式為
p=softmax(WfRf+bf)
(20)
(20)式中:p為情感極性的分布;Wf和bf為分類層的權重和偏置。
最后,模型使用交叉熵損失函數進行訓練,表達式為
(21)
(21)式中:C為情感類別集;D為訓練樣本集;p為模型預測的情感類別;y為實際類別,使用系數為λ的二范數作為正則化項;θ為模型需要訓練的參數。
本文選用semval14數據集[10]和twitter數據集[16]進行實驗評估,情感極性包含積極、消極和中性。其中,semval14數據集包含了restaurant和laptop兩個領域的用戶評論文本,twitter包含社交領域的數據。與先前的工作類似,本文移除了數據集中存在沖突極性或是沒有明確方面的樣本。數據集的信息如表1所示。
表1 實驗數據集統計Tab.1 Experimental data set statistics
本文的評價指標選擇了準確率(Acc)和F1值作為模型的評價指標。計算公式為
(22)
(23)
(24)
(25)
(22)—(24)式中,TTP、TTN分別表示模型正確預測積極、中性和消極情感的樣本數;FFP、FFN分別表示模型錯誤預測積極、中性和消極情感的樣本數。
為了評估RGBA模型的性能,將其與目前比較優秀的模型進行對比。
1)基于目標的LSTM網絡[16](target-dependent LSTM,TD-LSTM)。將方面詞與方面詞之前和之后的上下文連接,使用2個LSTM分別建模,得到最終表示。
2)使用方面嵌入的基于注意力的LSTM網絡[1](attention-based LSTM with Aspect Embedding,ATAE-LSTM)。使用方面詞嵌入與注意力機制獲得方面相關的上下文表示進行情感分類。
3)深度記憶網絡[14](deep memory network,MemNet)。通過上下文信息獲取memory,通過注意力機制獲得對方面詞重要的信息。
4)交互注意力網絡[2](interactive attention network,IAN)。使用2個LSTM網絡分別提取上下文與方面嵌入,使用一個交互式注意力機制生成方面與句子特征。
5)循環注意力網絡[3](recurrent attention network,RAM)。使用雙向 LSTM 的隱藏層構建位置加權記憶,利用多注意力機制獲取遠距離的情感特征。
6)語義感知與精化網絡[15](semantics perception and refinement network,SPRN)。使用注意力機制獲得上下文信息和方面信息,通過多道卷積和細化門提取基于方面的語義特征。
7)特定方面的GCN網絡[6](aspect-specific GCN,AsGCN)。首次提出在方面級情感分析上使用GCN網絡。
8)依存樹卷積網絡[21](convolution over dependency tree,CDT)。使用在基于依賴樹的GCN網絡提取方面相關表示。
9)雙層GCN網絡[7](bi-level GCN,BiGCN)。結合層次句法圖和詞匯圖,并使用雙層交互式圖卷積神經網絡提取隱藏表示進行情感分類。
10)聚合GCN網絡[22](aggregated GCN,AGCN)。在非直接鄰接的結點間構造子依賴,使用聚合圖卷積神經網絡根據結點的鄰接和子鄰接特征獲取方面的情感極性。
本文使用的預訓練的300維詞嵌入GloVe[26]初始化單詞嵌入,詞性嵌入維度為30,位置信息嵌入維度為30。對于RGBA-Bert,模型使用BERT[27]預訓練模型的輸出的768維向量作為詞嵌入。
模型中關系圖卷積網絡層數設置為2,最大剪切距離設置為10。模型使用Adam優化器,學習率設置為0.003。同時,與先前的工作[6]類似,為了防止過擬合,輸入層的dropout設置為0.7。
實驗目的是驗證關系感知注意力和雙注意力機制能夠提升模型的效果,使用準確率(Acc)、F1值作為評價指標。
實驗在搭載Intel(R) Core(TM) i7-8750H CPU處理器和2070sGPU,顯存為8 Gyte的服務器上進行。軟件環境為windows10操作系統,python3.7.1開發平臺,基于pytorch深度學習框架。3個數據集上的測試結果如表2所示,下劃線表示的數據為最佳結果。除RGBA-Bert外均使用預訓練的300維GloVe詞向量進行文本表示。
從表2的實驗結果可以看出,TD-LSTM的效果最差,由于它只是使用2個方向的LSTM建模上下文關系而沒有充分考慮上下文與方面間的關系。ATAE-LSTM,MemNet,IAN,RAM,SPRN使用注意力機制改進模型,獲得與方面相關的表示進行情感分類,有效提升了模型性能。AsGCN,CDT,BiGCN,AGCN使用GCN提取文本的句法結構信息輔助情感分類,相較于只使用注意力機制的模型獲得了明顯的提升。
與對比模型相比,本文提出的RGBA模型在3個數據集上均得到最好結果。RGBA模型的準確率分別達到了83.38%、77.22%、74.59%,與Baseline中最好的結果分別提高了1.08%、1.59%、0.43%。與融合注意力的模型相比,在“Restaurant”數據集上,Acc提高3.06%,F1提高6.33%;在“Laptop”數據集上,Acc提高3.06%,F1提高3.65%;在“Twitter”數據集上,Acc提高4.51%, F1提高3.85%;與融合GCN的模型相比,在“Restaurant”數據集上Acc和F1分別提升了1.08%,3.2%;在“Laptop”數據集上Acc和F1分別提升了1.59%和1.60%;在“Twitter”數據集上Acc和F1分別提升了0.43%和0.40%。此外,RGBA-Bert在所有數據集上均取得了最好的效果,這證明了Bert模型相較于GloVe的優勢,但使用Bert模型的訓練和預測需要花費更多的時間,占用大量的內存和計算資源。
本文在不同數據集上與不同模型進行比較,驗證了關系圖卷積神經網絡和雙注意力機制能夠提升情感分類模型的性能。
表2 實驗結果的對比Tab.2 Comparison of experimental results
為了研究最大剪切距離對模型性能的影響,本文在3個數據集上驗證了K為0到9的RGBA模型,其中,K為0表示模型使用普通注意力機制,不考慮相對位置信息。K值的實驗結果如圖5所示,在3個數據集中,在K取0時,模型性能最差,隨著K的增大,模型性能逐漸增強,這驗證了相對位置信息的加入可以改善模型的性能;當K超過一定值時,K增大,模型性能變化不大,這說明過于遙遠的相對位置信息對于模型的性能影響不大。
圖5 K值的實驗結果Fig.5 K value experiment results
本文評估了圖卷積神經網絡層數L對模型性能的影響,并在3個數據集中進行了實驗驗證。不同圖卷積網絡層L的實驗結果如圖6所示。在3個數據集上,隨著層數的提高,模型性能在一定程度提高,在Restaurant數據集中L取8時性能最好,在Laptop數據集中,L取4時性能最好,在Twitter數據集中,L取4時性能最好。而當L過大時,模型的訓練變得困難,模型的性能變得不穩定。
圖6 不同圖卷積網絡層數實驗結果Fig.6 experimental results of different graph convolution network layers
為了驗證RGBA模型各部分對模型性能的影響,本文進行了消融實驗。RGBA w/o RA使用普通的圖卷積網絡替代關系圖卷積網絡;RGBA w/o BA不使用雙注意力層,直接平均池化圖卷積網絡的輸出進行情感分類。
3個數據集的實驗結果如表3所示。RGBA模型在Restaurant,Laptop,Twitter數據集上的準確率和F1值均高于對照模型,關系感知注意力與雙注意力機制的加入可以有效地提升模型的性能。
表3 消融實驗結果Tab.3 Ablation experimental results
為了驗證關系感知注意力對模型的影響,本文還對RGBA模型和RGBA w/o RA模型對于同一個句子的注意力權重進行了可視化。注意力可視化對比如圖7所示。句子選自‘restaurant’數據集,方面詞‘service’的情感標簽為消極, RGBA w/o RA預測結果為中性,RGBA預測結果為消極。圖7中顏色越深表示其注意力權重越大。RGBA w/o RA的注意力分布在情感描述詞‘ok’和‘slow’上,導致了錯誤的分類結果,而在RGBA模型中,注意力主要都集中在情感描述詞‘slow’上,得到了正確的情感極性。這表明相比于普通的圖卷積網絡,關系圖卷積網絡可以更有效地使用依存關系,得到更合理的結果。普通的圖卷積網絡對有連接的單詞使用了相同的權重,隨著圖卷積神經網絡的迭代,不相關的單詞可能錯誤地傳導到方面詞,從而影響模型的性能。而關系圖卷積網絡使用位置語義關系補充圖卷積網絡,得到了更好的效果。
圖7 注意力可視化對比Fig.7 Visual comparison of attention
本文提出了RGBA模型,利用關系感知注意力結合詞義信息與詞相對位置信息增強圖卷積神經網絡,使用雙注意力機制融合圖卷積神經網絡的輸出,聯合方面表示與上下文表示進行情感分析,能夠有效提升模型的分類效果。今后將在2個方面繼續開展研究:①基于句法解析的方法提取的文本結構對于復雜的、口語化的文本不適用,使用基于注意力機制的方法提取文本結構是下一步要解決的問題;②知識圖譜可以提供文本的背景知識和語言知識,考慮聯合知識圖譜優化情感分類模型。