孟佳娜,呂 品,于玉海*,孫世昶,林鴻飛
(1.大連民族大學 計算機科學與工程學院,遼寧 大連 116600;2.大連理工大學 計算機科學與技術學院,遼寧 大連 116024)
情感分析是指利用文本挖掘和自然語言處理相關技術,對帶有情感色彩的主觀性文本進行分析、處理和抽取的過程[1-3],可以分為文檔級、句子級和方面級這3 個級別。句子級和文檔級情感分析主要面向理解文章或段落表達的情感傾向性,方面級情感分析側重細粒度的考慮情感極性以及對應的目標,因此可以提供更詳細的情感分析結果。
現有的情感分析方法大多基于深度神經網絡,需要大量的數據進行訓練;而訓練數據不足的問題往往不可避免,領域標注數據的欠缺極大抑制了網絡的泛化能力。對于方面級情感分析而言,不同領域的評價對象不同,并且不同領域之間的特征分布差異很大,如何緩解數據缺失的問題,實現不同領域之間特征遷移與共享,引起了學術界的廣泛關注。近年來出現了許多跨領域的情感分析研究,賀萌[4]建立了對抗式分布對齊的方面級跨領域情感分類模型,通過交互注意力捕獲與方面詞關聯程度大的上下文中的特征,通過對抗式訓練多個情感分類器,對那些誤分類的處于決策邊界附近的特征,擴大決策邊界。趙光耀等[5]提出領域特有情感詞注意力模型(Domain Specific Sentiment Words ATTention model,DSSW-ATT),該模型設立兩個獨立的子空間,分別使用注意力機制提取共有情感詞特征和特有情感詞特征,并建立相應的共有特征分類器和特有特征分類器,通過協同訓練方法融合上述兩種特征。孟佳娜等[6]提出使用卷積神經網絡(Convolutional Neural Network,CNN)對模型進行遷移的方法方面級門控卷積遷移網絡(Gated Convolutional network with Aspect Embedding for Transfer Learning,GCAE-TL),卷積神經網絡可以并行計算,效率很高,文獻[6]中還構建了方面級跨領域遷移的數據集。
但上述方法都沒有考慮到方面級情感分析存在著一個句子中的多個實體表達不同情感極性的現象,這種現象導致了重疊的特征表示,高度重疊的特征會嚴重混淆分類器;而且,現有的方法大多只通過最大池化操作來保持最活躍的特征,或者利用注意機制來尋找情感詞,無法區分重疊的特征。
本文使用膠囊網絡來解決上述問題,提出了基于膠囊網絡的方面級情感分析方法。將方面信息與情感信息進行融合與選擇,對文本進行方面級的情感分析,并在此基礎上建立了遷移學習模型;將源領域訓練好的模型遷移到目標領域,對目標領域數據進行跨領域的方面級情感分析,以緩解目標領域由于標注數據不足而導致的分類結果不理想的問題。通過實驗檢驗了該模型在不同領域的分類性能,也驗證了本文方法具有良好的泛化能力。
傳統的情感分析方法大多使用傳統機器學習算法構建提取特征的情感分類器,這需要大量的時間和資源。近年來,針對方面級情感分析任務提出了許多深度學習方法。Ma 等[7]提出了一種交互式注意網絡,使用兩個注意力網絡來交互式地檢測目標描述的重要單詞和整個上下文。王昆等[8]提出基于長短期記憶網絡和注意力機制來構造文本篩選網絡,該網絡可以從長文本中篩選出與方面相關的重要信息。Du 等[9]利用膠囊網絡構建基于向量的特征表示,并在路由過程中引入交互注意力機制來建模方面詞與上下文之間的語義關系,從全局角度對句子進行編碼。支淑婷等[10]提出一種基于多注意力和長短期記憶網絡的情感分析模型,在長短期記憶網絡的不同位置加入不同的注意力機制,模型可以從多個角度關注重要情感信息,獲取深層次情感特征。Zhu 等[11]提出帶有輔助記憶網絡的方面級情感分析方法,學習方面詞和情感詞之間的信息。武婷等[12]將詞向量融入位置權重,利用長短期記憶網絡對方面和句子建模,并且通過交叉注意力模塊學習方面和句子的表示來獲得它們之間的交叉關注。
遷移學習是指從一個或多個任務中學習有用信息,然后讓這些信息可以輔助其他任務的學習。Yosinski 等[13]提出在遷移學習中將深度神經網絡的前幾層參數固定,并且提出了微調的方法,在一定程度上解決了領域間的數據差異性問題。Long 等[14]提出了深度自適應網絡模型,以深度網絡為載體來進行適配遷移。Ganin 等[15]提出了領域對抗訓練神經網絡(Domain Adversarial training of Neural Network,DANN)算法,使用最大均值差異度量來減少不同域之間的特征差異。針對有充足的帶標簽的源領域數據、有充足的無標簽的目標領域數據、源領域和目標領域的特征空間和標記空間相同的情況,可以借助源領域數據對目標領域數據進行分類。Xu 等[16]針對跨語言文本情感分類任務,提出基于實例的遷移學習方法,將大量源領域數據擴充到目標領域以提高分類效果。Li 等[17}提出端到端的對抗記憶網絡,該模型可以通過注意力機制自動捕捉文本的主旨詞;模型由兩個參數共享的記憶網絡組成,通過對兩個網絡的聯合訓練,使所選擇的特征能夠將情感分類的錯誤最小化,實現不同領域間情感分析任務的領域自適應。
方面級情感分類的主要挑戰是一個句子表達多個情感極性,導致重疊的特征表示,高度重疊的特征會嚴重混淆分類器;然而,現有的方法大多只通過最大池操作來保持最活躍的特征,或者利用注意機制來尋找情感詞,無法區分重疊的特征。因此,本文使用膠囊網絡和最大期望(Expectation-Maximization,EM)路由[18]來解決這個問題。路由算法將包含相關關系特征的低層膠囊精準聚類到高級膠囊中,當多個底層膠囊代表特征存在時,對應的高級膠囊將被激活。因此,一個膠囊的輸出可以路由到下一層對應的膠囊里,即下一層的膠囊能獲取更清晰的輸入信號,可以較好地區分重疊特征。膠囊向量是一組表達特征的神經元,向量的長度代表該特征存在的概率,方向蘊含特征的特定屬性,大量的底層語義信息被嵌入到底層膠囊中;因此,膠囊網絡不需要大量的數據量進行訓練,這一優勢使得膠囊網絡適用于數據量較少的方面級跨領域情感分析任務。另外,對膠囊網絡在文本分類任務上的表現進行研究[19],實驗結果表明在多標簽遷移任務上,膠囊網絡的性能遠遠超過了卷積神經網絡和長短期記憶網絡,證明了與傳統深度神經網絡相比,膠囊網絡具有較好的遷移能力。
本文在方面級情感分類任務中采用EM 路由算法對基于向量的重疊情感特征進行聚類,使后續分類更加清晰。此外,對方面術語和上下文之間的語義關系進行建模,模型結構如圖1 所示,主要分為嵌入層、編碼層、膠囊層。

圖1 方面級情感分析模型Fig.1 Model of aspect-level sentiment analysis
具體設計步驟如下:
嵌入層 上下文嵌入表示包括單詞嵌入wn和位置嵌入pn,考慮到距離方面較近的上下文詞可能對情感分析有較大的影響,引入位置嵌入來編碼從單詞wn到方面詞的相對距離。方面詞的輸入表示an僅由單詞組成。單詞嵌入是單詞的分布式表示,指詞匯表中的單詞映射到向量。使用預先訓練的單詞向量BERT(Bidirectional Encoder Representation from Transformers)來獲得固定單詞嵌入wn、an∈Rdw,其中dw是單詞向量維度。它們能夠從大規模未標記文本中捕獲單詞的句法和語義信息,提高模型性能。
編碼層 雙向循環網絡可以捕獲句子中的長距離依賴關系。前向傳播神經網絡捕捉上文信息,后向傳播神經網絡捕捉下文信息。將上下文表示連接起來,作為上下文語義表征yi。
膠囊層 膠囊層通過線性變換和擠壓激活得到底層膠囊P=[p1,p2,…,pn] 和方面膠囊c,以及分 類膠囊V=[v1,v2,…,vc]。

其中:Wp、bp、Wa和ba是可學習的參數。
用EM 路由將底層膠囊的輸出向量聚類為混合高斯分布。輸出膠囊的平均值、方差和激活概率以及輸入膠囊的分配概率,通過在E 步和M 步之間交替迭代地更新。
由于句子長度不同,發送到分類膠囊的底層膠囊數量也不同,導致訓練過程不穩定:過長的句子使膠囊激活飽和,并導致對所有分類膠囊的高激活度;相反,太短的句子會導致所有分類膠囊的激活度都比較低,而且EM 算法會忽略上下文和方面詞之間的關系。事實上,方面詞及其上下文的關系可以顯著提高情緒分類的性能。因此,引入了一個注意力權重α,它是在上下文和方面詞之間學習的,利用方面膠囊選擇重要的底層膠囊,并通過以下公式規范膠囊權重:

其中:Wn是可學習參數。
α可以衡量底層膠囊所代表的特征對于方面詞情感傾向影響的重要程度,比如:“這本書很精彩,就是物流太差了”對于方面詞“書”來說,“精彩”這一特征就會被賦予更大權重,使其去激活代表“積極”的高層膠囊,而“太差”等特征會獲得更低權重,避免其去激活代表“消極”的高層膠囊。既避免了有太多無關緊要的底層膠囊對每個高級膠囊都高度激活,又避免了因底層膠囊太少使得高級膠囊激活度太低。
訓練時首先使用一組情感膠囊來存儲關于情感類別的知識。情感矩陣S∈Rn×d是由情感詞嵌入經過平均池化得到的,n是情感類別的數量,d是嵌入維度,情感矩陣上通過squash 激活函數來獲得情感膠囊Q=[q1,q2,…,qL],并通過計算底層膠囊和情感膠囊之間的相似性來計算路由權重w:

為了緩解部分領域標注數據不足的問題,克服不同領域特征分布差異較大的困難,本文采用如下遷移學習方法。首先在一個數據較充足的領域上預訓練神經網絡模型,然后將訓練好的模型作為初始化模型用少量的其他領域數據進行微調。模型中,預先訓練的BERT 模型對數據進行詞嵌入,循環神經網絡(Recurrent Neural Network,RNN)提取方面信息和上下文信息的特征,然后再送入膠囊網絡對特征進行聚類完成情感分析。模型框架如圖2 所示。

圖2 模型框架Fig.2 Architecture of model
具體設計步驟如下:
步驟1 將大量的源領域中的有標簽數據輸入到預訓練好的BERT 模型中,詞嵌入設為d維,l為句子X中的單詞個數,X表示為d×l維矩陣,如式(6)所示:

同樣地,方面詞也可以表示為d×l維的矩陣,如式(7)所示:

然后將上下文信息輸入到雙向循環神經網絡(Bidirectional RNN,BiRNN)中提取句子中的特征,得到上下文語義表征yi,方面信息則經過平均池化。
步驟2 將上下文隱藏信息輸入主膠囊層,進行特征聚類,和方面信息一起經過squash 封裝為膠囊,具體方法如2.1節中的描述,squash 函數定義為:

既保證了數據在0-1,也保留了向量的方向。
步驟3 分類膠囊進行情感分類,分類膠囊V=[v1,v2,…,vc]可計算為:

其中:s用于將權重縮放到合適的大小,由學習得到。
為使模型達到收斂狀態,減少模型預測值的誤差,使用了margin loss 損失函數,如式(10)所示:

步驟4 得到源領域的分類結果后,BiRNN 和底層膠囊的權重保留了源領域特征,使用少量目標領域數據重新訓練分類膠囊,從而實現模型的微調,得到對目標領域最終的分類結果,如式(11)所示:

實驗中使用本實驗室標注的方面級遷移學習語料[6],中文語料選用了Wu 等整理的中文評論文本數據集[20],分別來自京東電腦產品評論、當當書籍評論和攜程酒店評論,每個領域選取了正負向評論各2 000 條,共計12 000 條數據進行了人工標注。英文語料是對公開的亞馬遜圖書語料庫[21]進行了方面級的標注。該語料分為Book、DVD、Electronic 和Kitchen 這4 個領域,分別包含正負向評論各1 000 條,共計8 000 條數據。統計了提取到的方面詞,各個領域之間有超過98%的方面詞都是不同的,不同域之間方面詞差別非常大,特征分布差別也較大。
實驗參數設置如表1 所示。

表1 實驗參數設置Tab.1 Experimental parameters setting
隨機抽取部分目標領域標注數據參與模型訓練,m表示抽取比率。例如,m=0 表示不使用目標領域數據訓練模型;m=0.2 表示使用20%的目標領域數據。
使用準確率(Accuracy,Acc)和F1 值作為評價指標。準確率計算如式(12)所示:

其中:是模型預測出的標簽,yi是樣本真實的標簽,N表示測試集的大小。
查準率(Precision,Pre),也叫精確率或精度,如式(13)所示:

查全率(Recall,Rec),也叫召回率,如式(14)所示:

TP(True Positive)表示真正類數,FP(False Positive)表示假正類 數,TN(True Negative)表示真 反類數,FN(False Negative)表示假反類數。
F1 值(F1)綜合了精確率和召回率,位于0~1,值越大表示模型性能越好,計算如式(15)所示:

3.1.1 中文語料實驗與結果分析
中文語料的準確率實驗結果如圖3 所示。其中C 代表Computer 領域;B代表Book 領域;H代表Hotel 領域。圖中B→H 表示源領域為Book,目標領域為Hotel,其余情況依此類推。
由圖3 可知,采用本文提出的膠囊網絡遷移模型取得了不錯的遷移性能。效果最佳的是B→C,即從書籍遷移到電腦領域,準確率高達94.7%。隨著目標領域微調數據的增多,準確率都有提高,所有領域都是微調數據從0 增加到5%時提升效果是最明顯的。

圖3 中文語料上的準確率實驗結果Fig.3 Experimental results of accuracy on Chinese corpus
中文語料的F1 值實驗結果如圖4 所示,效果最好的同樣是B→C,達到了95.66%。同樣地,隨著微調數據的增多,實驗結果也跟著提高,由0 增加到5%效果最為明顯,繼續增加微調數據的量模型提升就不是特別明顯了。可見在跨領域方面級情感研究中,少量的目標領域微調數據可以較大地提升模型性能,降低了需要人力標注數據的成本。

圖4 中文語料上的F1值實驗結果Fig.4 Experimental results of F1 score on Chinese corpus
3.1.2 英文語料實驗與結果分析
圖5 展示了英文語料的準確率實驗結果,其中B 代表Book 領域;D 代表DVD 磁盤領域;E 代表Electronics 領域;K代表Kitchen 領域。例如,B→D 表示源領域是Book 目標領域是DVD,其余情況依此類推。
由圖5 可知準確率都隨著目標數據的增多而提高,例如從DVD 領域遷移到Kitchen 領域準確率從不足0.65 提高到91.1%。由圖6 可以看出,F1 值具有與準確率類似的規律,其中遷移性能最好的是E→K,即從電子設備遷移到廚房領域,F1 值達到了91.8%。

圖5 英文語料上的準確率實驗結果Fig.5 Experimental results of accuracy on English corpus

圖6 英文語料上的F1值實驗結果Fig.6 Experimental results of F1 score on English corpus
廚房用具K 和電子產品E 都屬于工具類商品,書籍B 和磁盤D 屬于娛樂文化類商品。實驗結果顯示,E→K 領域上的準確率高于其他領域上的準確率;因為E 和K 領域差異更小、遷移過程更容易。
3.2.1 消融實驗研究
消融實驗探究帶有方面信息的方面級情感分析相較于不帶方面信息的句子級情感分析有何不同。具體地,對于句子級情感分析,不輸入方面詞嵌入并取消相應的上下文位置嵌入,使得模型輸入不包含方面信息,再通過BiRNN 提取情感特征,送入膠囊網絡分析對源領域進行情感分析,遷移到目標領域,得到目標領域的情感分類結果。
跨領域句子級情感分析過程中,采用了未標注方面信息的公開語料。取方面級各句子級m=0.1、m=0.2 時的準確率和F1 值進行比較,對它們的跨領域情感分析結果進行對比。m=0.1 時,兩種粒度的情感分析結果準確率和F1 值如表2、3 所示;m=0.2 時,準確率和F1 值如表4、5 所示。

表2 中文語料上的不同粒度結果對比(m=0.1)Tab.2 Comparison of different granularity results on Chinese corpus(m=0.1)

表3 英文語料上的不同粒度結果對比(m=0.1)Tab.3 Comparison of different granularity results on English corpus(m=0.1)

表4 中文語料上的不同粒度結果對比(m=0.2)Tab.4 Comparison of different granularity results on Chinese corpus(m=0.2)
從表2~5 可知,方面級情感分析的效果要好于句子級,這是因為面對句子中有情感沖突的情況,膠囊網絡在進行方面級情感分析任務時可以較好地分辨出哪些情感詞是形容哪些方面詞的,有更好的針對性;而句子級的情感分析往往不能識別句子內部的情感沖突,導致分類效果不如方面級。
3.2.2 與其他方法對比
將本文方法的準確率結果與以下方法的實驗結果進行比較。
1)遷移學習方法。基于互信息的結構對應學習(Structural Correspondence Learning with Mutual Information,SCL-MI)方法[21]獲得領域之間的共有特征和紐特征,并結合樞紐特征和非樞紐特征的相關性展開研究。跨領域可遷移信息識別(Identifying Transferable Information Across Domains,ITIAD)方法[22]抽取不同 領域之間的公共特征,采用支持向量機(Support Vector Machine,SVM)分類器進行跨領域情感識別。DANN 方法[15]利用域對抗神經網絡來實現跨領域情感分析。GCAE-TL 方法[6]利用CNN 加門控機制和模型遷移方法來進行方面級跨領域情感分析。

表5 英文語料上的不同粒度結果對比(m=0.2)Tab.5 Comparison of different granularity results on English corpus(m=0.2)
2)非遷移學習方法。非遷移方法都是近年來在單個域中進行方面級情感分類的代表性方法,在源域的訓練集上訓練模型,在目標域中進行測試。其中依賴樹卷積(Convolution over Dependency Tree,CDT)方法[23]是基于依賴樹的方面級情感分析方法,縮短了句子的方面和觀點詞之間的距離,捕捉了詞與詞之間的句法關系,使得依賴信息可以有效地保存在長句子中。特定方面圖卷積神經網絡(Aspect Specific Graph Convolutional Network,ASGCN)方法[24]使用圖卷積網絡去獲取句法信息,利用句子中的句法依存結構,解決基于方面級情感分析的長距離多詞依存問題。RAM(Recurrent Attention network on Memory)[25]采用多注意機制來捕獲距離較遠的情緒特征,從而對不相關信息進行篩選,將多層注意力機制的結果與遞歸神經網絡非線性結合,在處理并發任務時增強了模型的分類能力。
表6 展示了英文語料取2.5%的微調數據時,本文方法與各遷移學習方法的準確率對比結果。

表6 本文方法與遷移學習方法在英文語料上的準確率對比Tab.6 Accuracy comparison of the proposed method and transfer learning methods on English corpus
由表6 可知,本文提出的基于膠囊網絡的方面級跨領域情感分析方法在多數領域都取得了最好的效果,與SCL-MI、ITIAD、DANN、GCAE-TL 方法相比,本文方法的平均準確率分別提升了5.2、5.3、4.7 和4.4 個百分點。
表7 展示了使用英文語料,本文方法與各方面級情感分析方法的準確率對比結果,由表可知,本文提出的基于膠囊網絡的方面級跨領域情感分析方法在多數領域都取得了最好的效果,與CDT、ASGCN、RAM 方法相比,本文方法的平均準確率分別提升了1.7、2.6 和5.9 個百分點。

表7 本文方法與方面級情感分析方法在英文語料上的準確率對比Tab.7 Accuracy comparison of the proposed method and aspect-level sentiment analysis methods on English corpus
表8 展示了中文語料取2.5%的微調數據時,本文方法與各遷移學習方法的準確率對比結果,與SCL-MI、ITIAD、DANN、GCAE-TL 方法相比,本文方法的平均準確率分別提升了8.5、6.5、4.7 和7.2 個百分點。

表8 本文方法與遷移學習方法在中文語料上的準確率對比Tab.8 Accuracy comparison of the proposed method and transfer learning methods on Chinese corpus
表9 展示了使用中文語料,本文方法與各方面級情感分析方法的準確率對比結果,與CDT、ASGCN、RAM 方法相比,本文方法的平均準確率分別提升了3.8、4.1 和7 個百分點。

表9 本文方法與方面級情感分析方法在中文語料上的準確率對比Tab.9 Accuracy comparison of the proposed method and aspect-level sentiment analysis methods on Chinese corpus
由此可以看出本文方法可以更好地學習領域特征,并成功地遷移到目標領域;另一方面,驗證了本文方法有較好的泛化性,在多個領域都有好的表現,較好地緩解了某些領域由于缺乏標注數據導致情感分類結果較差的問題。
本文針對方面級跨領域情感分析任務,提出基于膠囊網絡的情感分析方法,將源領域訓練好的模型,通過少數標注數據微調就可以應用到目標領域,緩解目標領域因標注數據少而分類不佳的問題,實驗驗證了該模型在多個領域上都有著良好表現。在以后的工作中可以針對多方面任務的情況進行研究,提高多方面任務情感分類的準確率。