王 光,李鴻宇,,邱云飛,郁博文,柳廳文
(1. 遼寧工程技術大學 軟件學院,遼寧 葫蘆島 125105;2. 中國科學院 信息工程研究所,北京 100089)
方面級情感分類是一種細粒度情感分析任務,目標是確定評論文本中所出現的不同方面的情感傾向[1-2]。如圖1中方面級情感分類實例圖所示,已知“food” 和“service” 方面詞,方面級情感分類模型需要通過文本評論句子和方面詞“food”判斷出評論者對食物的情感傾向是正向的,依據“service” 方面詞推斷出服務是不令人滿意的。本文實例中方面詞使用下劃線標識,通過粗體詞匯標識評價詞,評論者對每個方面詞的情感傾向取決于評價詞與方面詞的對應關系,由于評論者對不同方面詞的情感態度存在差異,因此錯誤地匹配評價詞與方面詞可能會帶來相反的判斷。相對于篇章級別、句子級別和詞匯級別情感分類任務而言,方面級情感分類的針對性更強,不但可以幫助消費者篩選出滿足自身需求的商品,而且還能指導商家進行產品改進。

圖1 方面級情感分類任務實例
雖然神經網絡模型在方面級情感分類任務中已取得了良好的效果,但現有方法沒有很好地利用句法信息來輔助分類。一般來說,方面級情感分類任務中的評價詞往往出現在句法關系復雜的文本中,以文本評論“We didn’tknow if weshouldorder adrinkorleave?”為例,在句法關系十分復雜的句子中,判斷評論者對方面詞“drink”的情感態度需要全局的語義理解和推斷,而通過句法分析能夠幫助模型找到“drink”相關的評價詞,進而完成情感分類。受到文獻[3-4]圖卷積神經網絡(GCN, Graph Convolutional Network)在文本分類領域成功應用的啟發,本文提出了一種結合圖神經網絡和注意力機制的方面級情感分類方法MemGCN,它能夠有效利用句法依存信息輔助分類。在三個公開的方面級情感分類數據集上,證明了MemGCN模型的優越性能。
方面級情感分類的研究工作基于統計機器學習方法開展。Kiritchenko等[5]利用情感詞典和特征工程提取情感信息,訓練支持向量機(Support Vector Machine,SVM)情感分類模型,在筆記本電腦和餐館領域的方面級情感分析評測任務中取得當時最好的效果。
由于通過構建情感詞典和手工提取特征的方法[6],一方面需要投入高額的人工成本,另一方面機器學習算法很難突破性能瓶頸,無法學習到方面詞與句子中上下文詞匯之間的關系。隨著神經網絡算法的興起,自動提取特征的卷積神經網絡(Convolutional Neural Network,CNN)和循環神經網絡(Recurrent Neural Network,RNN)等深度學習算法在方面級情感分類任務中顯著提升了分類性能。Tang等[7]提出帶有方面詞依賴的TD-LSTM模型,利用兩個不同方向的長短時記憶網絡(Long Short Term Memory Network,LSTM)分別學習方面詞上文信息和下文信息,提升了模型分類效果。
近年來,注意力機制(Attention Mechanism)在機器翻譯、文本摘要與問答系統等自然語言處理領域均得到了成功應用[8-9]。注意力機制的變體在方面級情感分類任務中也發揮了重要作用。Wang等[10]將長短時記憶網絡和注意力機制進行結合,提出了方面詞嵌入方法,使得ABAE-LSTM模型可以關注到方面詞所對應的情感信息。曾鋒等[11]采用層次注意力機制對詞匯維度和句子維度分層建立模型,在由多個句子組成的文本評論中,分類效果獲得了顯著提高。
Xue等[12]提出的GCAE模型結合了卷積神經網絡和門控機制,利用并行計算大幅加快了方面級情感分類模型的訓練速度;梁斌和劉全等[13-14]證明卷積神經網絡與注意力機制和長短期記憶網絡結合均能改善模型;杜慧等[15]將詞向量、詞性信息和注意力同時融入到卷積神經網絡和循環神經網絡中,增強了模型的性能。此外,Tang等[16]設計記憶網絡(Memory Network)在SemEval-2014,方面級情感分析任務中取得最佳成績;Ma等[17]訓練得到對方面詞和上下文信息同時建模的IAN模型提升分類效果;Chen等[18]提出的RAM模型是對MemNet模型的改進;Zhu等[19]提出帶有輔助記憶網絡的方面級情感分類方法,學習方面詞和情感詞之間的信息,進一步優化了方面級情感分類模型。
MemGCN模型由文本表示層、語義學習層、位置記憶層、圖卷積神經網絡層、注意力機制和情感分類層組成,整體框架如圖2所示。為便于理解和描述,文中文本評論句子使用S={w1,w2,…,wt-1,wt,…,wt+l,wt+l+1,…,wn}表示,其中,n表示句子中詞的數目,方面詞為wt,…,wt+l,可能由一個或多個詞構成。t和l分別表示詞的位置和方面詞的長度,w1,w2,…,wt-1與wt+l+1,…,wn分別指代上文詞和下文詞。

圖2 MemGCN模型的整體框架
Word2Vec、FastText、GloVe等[8,20]無監督詞表示方法廣泛應用于自然語言處理的各項任務中,能夠表示文本的語義信息。將詞向量集合表示為T∈Rd×|V|,其中,d為詞向量維度,|V|是詞匯個數,句子S映射到低維、連續、稠密空間后對應V={v1,v2,…,vt-1,vt,…,vt+l,vt+l+1,…,vn}。借助詞嵌入方法思想,本文將方面詞和評論文本中的詞匯的詞性映射到低維、連續、稠密的空間。文本表示層的輸出包括詞向量、詞性向量和方面詞向量,xt={[v1;pos(w1);aw],[v2;pos(w2);aw],…,[vt-1;pos(wt-1);aw],[vt;pos(wt);aw],…,[vt+l;pos(wt+l);aw],[vt+l+1;pos(wt+l+1);aw],…,[vn;pos(wn);aw]}。若同一條評論中不止有一個方面詞被提及,則分開處理。
文本評論數據中詞之間存在時間序列關系,循環神經網絡能夠學習到長距離的語義依賴信息。門控循環單元[21](Gate Recurrent Unit,GRU)是一種循環神經網絡,其結構如圖3所示,門控機制能避免RNN梯度彌散問題, 而且比LSTM擁有更少的參數量,所以訓練模型的速度更快。

圖3 門控循環單元的結構
圖3中的xt和初始化為xt的ht-1為門控循環單元的輸入,分別表示t時刻文本表示層輸出信息和上一時刻門控循環單元輸出信息。更新門zt和重置門rt的計算方法如式(1)、式(2)所示。



在方面級情感分類任務中,利用方面詞與上下文詞匯的相對位置信息可以有效地輔助模型判斷[22]。因為評價方面詞的情感詞一般存在于方面詞周圍,所以方面詞附近的詞匯理應具備更高的重要性。位置記憶層中用于計算詞匯相對位置權重的計算如式(8)所示。
方面級情感分類任務中的評論大部分屬于長難句,因此能夠輔助模型梳理句法結構信息會增強方面詞與評價詞之間的聯系,使得情感分類更加準確。文本評論的依存句法分析樹借助SpaCy工具獲得,如圖4所示實例“Greatfoodbut theservicewasdreadful!”的依存句法樹結構中蘊含著豐富的句法信息。

圖4 依存句法樹實例圖
本文將圖卷積神經網絡[23-24]應用于解決方面級情感分析任務中,充分利用依存句法分析樹,讓模型具備句法感知的能力。融合句法信息的圖卷積神經網絡層實例結構,如圖5所示。

圖5 圖卷積神經網絡層實例結構
通過將詞匯表示為節點,詞匯之間的關系抽象為邊,可以將評論文本使用圖結構進行表示。利用圖卷積神經網絡具備提取相鄰節點之間特征的能力,學習評論文本中詞匯之間的關系。鄰接矩陣A歸一化的計算如式(10)所示。
其中,D表示依存句法樹的度矩陣。

本文提出綜合語義、詞性、方面、位置和句法信息的注意力機制[26],將語義學習層、位置記憶層和圖卷積神經網絡層獲取的文本信息進行有效利用。

方面級情感分類是一種多分類任務,由正向、中性和負向三種情感標簽組成,情感分類層將注意力機制關注的信息ha作為輸入,每種情感標簽概率Ps按照式(15)進行計算。
其中,softmax為多分類任務中的激活函數,Ws和bs分別為情感分類層的權重和偏置。
通過在三個公開數據集上的實驗來驗證本文提出模型的優越性,分別為SemEval-2014任務四[18]的餐館和筆記本電腦領域的方面級情感分類數據集,以及由Dong等[6]所整理Twitter社交領域的方面級情感數據。該數據集中的每條樣本都是由評價者真實生成的句子、句子中出現的方面詞和方面詞對應情感類別所組成,并且標簽只包含正向的、中性的和負向的情感,數據集標簽類別分布情況見表1。

表1 數據集標簽類別分布統計表
本文采用準確率Accuracy和Macro-F1值(簡寫為F1)作為評價指標,驗證方面級情感分類任務中的模型性能。
其中,P為由計算式(18)得出的Macro-Precision,R代表Macro-Recall,由式(19)計算得到。
其中,C的值取3,因為類別中包括正向的、中性的和負向的三種標簽。真陽率TP和真陰率TN分別表示模型正確預測正向、中性和負向情感類別的樣本數,假陽率FP和假陰率FN則分別表示模型錯誤預測正向、中性和負向情感類別的樣本數。

其中,D表示訓練集數據樣本量,C與式(18)和式(19)中的C意義相同。為緩解模型訓練時過度擬合訓練集的問題,使用系數為λ的二范數作為正則化項。
優化器使用Adam算法,模型使用10-3學習率,連續5次性能不提升則提前停止學習。詞嵌入方法分為兩種,一種是GloVe840B[20]預訓練的300維詞向量,另一種使用包含12層網絡結構的BERT[27]預訓練語言模型輸出作為詞向量,維度是768維。文本中出現的未登錄詞和詞性向量的維度均為50,隨機初始化矩陣中的參數滿足(-0.01, 0.01)的均勻分布。同時,為防止模型缺乏泛化能力,使用值為0.5的Dropout參數隨機失活神經網絡的神經元,正則化系數λ設置為10-5。
本文對比模型如下:
?SVM[5-6]: 支持向量機分類器,通過人工構造大量特征,并引入外部情感詞典等方式完成分類。
?LSTM: 長短時記憶網絡模型,用于方面級情感分類。
?TD-LSTM[7]: Target-Dependent LSTM模型,在方面詞前后上下文分別建模,使用正向和反向兩個LSTM進行細粒度情感分類。
?ATAE-LSTM[10]: Attention-Based LSTM with Aspect Embedding模型提出方面詞嵌入概念,并采用注意力機制加深文本評論中方面詞相關詞匯的關注度。
?GCAE[12]: Gated Convolutional Networks模型,結合門控機制和卷積神經網絡進行方面級情感分類,卷積核數目為100,卷積核尺寸是[3, 4, 5]。
?IAN[17]: Interactive Attention Network模型,通過注意力機制分別對方面詞和上下文建模進行方面級情感分類。
?RAM[18]: Recurrent Attention Network on Memory模型,提出循環注意力機制完成方面級情感分類任務,多跳數目設置為3。
?AOA[28]: Attention-over-Attention Network模型。聯合學習方面詞和上下文表示,利用注意力機制自動關注文本評論中的重要詞匯。
實驗在搭載Intel(R)Xeon(R)CPU E5-2620處理器和型號為Tesla P100 GPU,擁有32GB內存的服務器上進行。軟件環境為Ubuntu 16. 04. 6 LTS操作系統,Python 3.6.2開發平臺,基于PyTorch深度學習框架構建模型。在三個領域的測試集上模型的指標對比結果如表2所示,評價指標分別是3.2節所介紹的準確率Accuracy和宏平均的F1值,最好的結果加粗表示。由于SVM模型用到未知的特征無法進行復現,因此本文引用Kiritchenko等[4]與Dong等[18]論文中的結果進行實驗對比,NA表示沒有獲得的結果,表2中其余模型表現均為本文實驗復現結果。此外,除MemGCN-BERT模型之外,均采用預訓練的GloVe詞向量進行文本表示,并且最終結果為5次實驗的平均值[29]。

表2 測試集上模型的評測結果表

續表
從表2可以看出: 首先,基于統計機器學習的SVM模型在Restaurant數據集上的效果優于LSTM模型,但它們都無法解決評論者對不同方面詞情感態度不一致時的方面級情感分類問題。其次,TD-LSTM模型借助雙向LSTM對方面詞與上下文建立聯系,三個數據庫中均取得了模型性能的提升。再次,ATAE-LSTM模型的性能相對于LSTM模型獲得了1%~3%幅度的性能提升,這證明了方面詞向量和注意力機制的有效性[30-31]。最后,基于CNN的GCAE模型,在全部評測數據集上均與TD-LSTM有著相近的表現,但是其具有可以并行計算、模型訓練和預測速度更快的優勢。
IAN、RAM與AOA模型均采用了將注意力機制與RNN結合的方式改進模型,從表2的結果可以看出,IAN模型在Laptop和Restaurant數據集上的性能略低于RAM模型,而在Twitter數據集上模型效果顯著提升,AOA模型在三個公開數據集上均取得優秀的方面級情感分類效果,這說明通過注意力機制與循環神經網絡結合方式的設計改進,對于優化方面級情感分類模型性能有重要意義。
本文提出的融合注意力機制與詞性、方面、位置和句法等輔助信息的MemGCN模型在Laptop、Restaurant和Twitter數據集上均取得優異的方面級情感分類效果。與LSTM相比,MemGCN模型在SemEval-2014任務四中F1值均提高超過7%,Twitter數據集上準確率取得了3%左右的提升。此外,實驗中嘗試采用預訓練語言模型對用戶評論進行文本表示, MemGCN-BERT模型在全部公開數據集上均達到最佳的表現,這證明了BERT相比于 GloVe更擅于表示文本,下游的圖卷積記憶網絡模型能夠捕獲到更多的情感信息。雖然使用預訓練語言模型可以獲得分類效果的進一步提升,但是訓練模型和使用模型進行預測時需要花費更多的時間,而且模型訓練也會占用大量內存、計算資源和存儲空間。另外,在樣本量充足且均衡的社交領域數據上,通過兩種文本表示方法訓練出來的模型效果較為接近。
為驗證詞性、方面、位置和句法四種輔助信息對MemGCN模型分類準確率和F1的影響,實驗中對MemGCN模型進行了如圖6和圖7所示的消融實驗。在柱狀圖中,使用黑色表示包括所有輔助信息的MemGCN模型性能,灰黑色、灰色、灰白色和白色柱用于區分去掉位置、句法、詞性和方面信息的模型表現。

圖6 句法與輔助信息對分類準確率的影響
首先,在圖6和圖7中均可以看出,詞性、方面、位置和句法四種輔助信息都有益于MemGCN模型進行方面級情感分類。其次,本文提出的句法信息對于模型性能的影響是最大的。最后,其余輔助信息對MemGCN模型性能影響的重要程度依次為方面信息、位置信息和詞性信息。

圖7 句法與輔助信息對分類F1影響
為進一步探索不同模型的方面級情感分類效果,本文分別將GCAE、IAN、RAM和AOA模型與本文所提出的MemGCN模型實例分類效果進行對比分析。各模型在兩個實例、三個方面詞上的分類結果見表3,其中,“真實”列表示評論者的正確情感類別。在對比中可以發現,MemGCN模型具備根據特定方面詞進行情感分類的能力,而在句法結構復雜的句子中,對比模型難于給出正確答案。

表3 實例分析
圖8~圖10分別為MemGCN在餐館領域正向、負向和中性情感實例的可視化分析,如圖所示,顏色越深則代表注意力權重越大。

圖8 “food”“service”方面注意力權重示意圖

圖10 “drink”方面注意力權重示意圖
在圖8中,實例的兩個評價詞分別修飾兩個方面詞。對于“food”方面詞來說,本文提出的MemGCN模型對帶有明顯正向情感的形容詞“Great”注意力機制的權重最大,于是能夠將方面詞“food”歸于正向評價。同樣地,當方面詞為“service”時,MemGCN模型的注意力集中在“dreadful” 評價詞上,因此將服務方面評論的情感態度分類為負向。
通過圖9對以上評論文本依存句法分析樹的可視化,證明了在一句話中同時出現多個方面詞與多個評價詞時,MemGCN可以正確匹配方面詞對應的評價詞,這樣可以保證記憶網絡在看到新的評價詞“dreadful”時,不會遺忘“Great”對“food”方面的修飾,也可以解決模型過于關注評價詞“Great”而與“service”方面詞錯誤匹配的問題。

圖9 實例的依存句法樹可視化示意圖
從圖10可以看出,在句法結構較為復雜的實例中,MemGCN模型的注意力集中在否定詞“n’t”“should”和“leave”詞匯上,將此實例的情感判別為中性。由于訓練數據中中性情感的樣本量較小,而且有離開之意的“leave”詞距離方面詞很近,可能將這條數據錯誤預測為負向情感。
為解決復雜句法結構中的方面級情感分類方面詞與評價詞之間的依賴問題,本文使用注意力機制,結合記憶文本語義、詞性、方面與位置信息的記憶網絡,以及基于依存句法分析樹的圖卷積神經網絡,提出了一種句法信息感知的方面級情感分類模型。實驗結果證明,通過加入句法信息,可以增強評價詞與方面詞之間的聯系,能夠明顯改善方面級情感分類的效果。在未來的工作中,我們將嘗試更先進的預訓練語言模型優化語義信息,并計劃將本文提出的模型在其他細粒度情感分析任務,如評價對象提取中進行嘗試。