朱 敏,班 浩,趙 力
(1.常州信息職業技術學院電子工程學院,江蘇 常州 213164;2.東南大學信息科學與工程學院,江蘇 南京 210096)
互聯網的快速發展使得社交媒體成為用戶表達意見的重要渠道,因此有效挖掘用戶評論的情感信息具有十分重要的應用價值[1]。情感分析任務根據粒度不同分為篇章情感分析、句子情感分析和方面級情感分析,篇章情感分析的目的是評估文檔整體的情感傾向或情感等級。傳統的情感分析方法通常是利用N 元文法模型(N-grams)將文檔表示成稀疏特征向量,然后再基于支持向量機(SVM)等分類方法完成情感傾向或等級的預測。近年來隨著深度學習理論的發展,神經網絡在學習文檔稠密特征表示的應用逐漸成熟,其中使用最為廣泛的是卷積神經網絡和循環神經網絡[2]。前者能夠學習到文本中的關鍵詞等局部不變性特征,但不能有效利用單詞的順序信息,而且無法解決文本數據的長程依賴問題,因此僅適用于短文本和句子情感分析任務[3]。后者由于處理序列數據的特性,因此適用于長文本和篇章情感分析任務[4]。
根據語言學的組合性原理[5],篇章語義信息的產生表現為由詞到句、再由句到篇的層級結構,相同的單詞和句子在不同語境下有可能表達不同甚至相反的語義。因此對于篇章情感分析,將文檔簡單地看作是單詞序列處理是不合適的。為了能夠更好地理解文檔整體的語義信息,所構建的情感分析模型也應該需要適應這種層級結構。
本文提出一種融合多跳機制的篇章情感分析模型[6],既考慮了層級結構,又充分挖掘上下文語句之間的潛在語義影響,在IMDB 和Yelp 公開評論數據集上取得了優于當前最新模型的結果。
篇章情感分析任務的目的是確定輸入文檔的整體情感傾向或情感等級,也可以認為是特殊的文檔分類任務,因此文本特征需要能夠反映出篇章整體語義信息以及情感傾向。常用的文本特征提取流程包括詞袋特征、詞頻逆文檔頻率特征以及卡方等特征選擇方法,再根據數據特性和應用場景選擇合適的分類方法,訓練出良好性能的分類器模型。Alm[7]使用監督學習方法探討了基于文本的情感預測。Cheng[8]研究了詞語級和句子級的情感分析,首先利用機器學習方法學習具有情感屬性的詞語,然后在這個基礎上通過樸素貝葉斯方法識別句子情感極性。Lakkaraju[9]對特征和情感主題建立一個聯合的概率模型,該模型以監督的方式對評論中的特征和意見建模從而得到一個生成模型。
近年來,深度學習在自然語言處理的應用逐漸深入[10]。Socher[11]提出了遞歸神經網絡識別文本所具有的情感類別。Kim[12]提出了基于卷積神經網絡的文本情感分析模型,實驗證實簡單的卷積神經網絡模型能夠在情感分析任務中取得不錯的分類性能。循環神經網絡被設計來處理序列數據,因此基于循環神經網絡的模型廣泛用于自然語言處理任務,包括篇章情感分析、閱讀理解等。Lai[13]提出循環卷積網絡,首先使用雙向循環網絡得到每個單詞的上下文相關向量表示,再結合單詞本身向量表示通過最大池化得到句子表示,進而通過全連接層得到文本的情感傾向。Tang[14]首先提出從單詞組合得到句子的特征表示,再從句子組合得到文檔整體的特征表示,最終得到篇章情感傾向性的GatedRNN模型。需要指出的是,這種方法雖然考慮到了篇章層級結構,但不能高效捕捉到同一文檔中不同句子之間的語義關聯信息,也限制了模型效果的提升。基于循環網絡的注意力機制在自然語言處理中最早應用于機器翻譯[15],實質在解碼輸出時為每個時間步的隱藏向量表示計算權重,因為在翻譯目標語言時,源語言不同單詞的對當前時刻目標單詞的貢獻是不同的。對注意力權重的可視化表明這種假設的合理性與正確性。Du[16]調研了基于循環網絡的注意力機制在文本分類任務的應用,在NLPCC2014 和Reuters 文本分類數據集上取得了優于基線模型的效果,證明了注意力機制應用于文本分類和情感分析的可行性。受Tang[14]考慮篇章層級結構的啟發,Yang[17]提出層級注意力機制模型HAN,在單詞層級的注意力機制得到句子表示,在句子層級的注意力機制得到篇章表示。在IMDB、Amazon 和Yelp 數據集上的結果表明所提出模型的優越性,并且通過注意力權重的可視化分析,對篇章整體情感傾向有貢獻的單詞,相應的權重會較大,因此具有一定的可解釋性,得到了廣泛應用。
多跳網絡也叫記憶網絡,最初提出用來解決閱讀理解任務[6]。具體內容是給定一段文本描述,然后提出相關的問題,閱讀理解模型要根據問題從文本描述中找出相應的回答。顯然模型需要具備從文本描述和問題推理出相應回答的能力。多跳網絡設計為模擬這個推理過程,包括記憶單元和推理單元。其中,記憶單元是存儲文本描述和問題的隱藏特征,推理單元是根據問題從記憶單元中查詢答案。記憶單元和推理單元具體的實現均由神經網絡完成,不過其中最關鍵的是,文本描述和問題的隱藏特征是被存儲在記憶單元中,因此可以多次訪問進而實現多次推理。面對復雜問題,有可能需要從文本中多次推理才能對答案實現精準定位,因此多跳網絡可以模擬閱讀理解任務中的多次推理過程,這也是其名字的由來。
在篇章情感分析任務的層級注意力機制模型[17]中,研究者觀察到注意力權重會集中在對情感傾向有貢獻的情感詞匯和程度詞匯中。但對篇章整體而言,經常會存在某些句子表達的情感傾向和整體傾向不一致的情況,因此注意力權重集中在某些句子會造成對整體情感傾向的錯誤判斷。為解決這個問題,需要平衡好篇章中不同情感傾向句子之間的關系。因此考慮將篇章情感分析轉化為閱讀理解問題,使用多跳網絡可以對篇章中所有句子進行多次推理,從而充分均衡不同情感傾向句子對篇章整體情感傾向的影響。
圖1 所示為用于篇章情感分析的多跳網絡模型,以兩次推理作為示例。首先使用GRU 在單詞層級上得到句子的向量表示。這里沒有使用注意力機制,一方面是因為避免模型過分關注某些情感傾向性很強的單詞,從而考慮篇章整體;另一方面是減小模型運算復雜度。GRU 單元包括遺忘門zt和重置門rt:

圖1 多跳網絡結構

式中:xt表示GRU 第t時間步的輸入,ht-1表示GRU第t-1 時間步的隱層輸出;Wz和Uz分別表示GRU遺忘門zt中xt和ht-1的權重矩陣,bz表示偏置;Wr和Ur分別表示GRU 重置門rt中xt和ht-1的權重矩陣,br表示偏置;Wr和Ur分別表示GRU 當前時刻輸入信息中xt和ht-1的權重矩陣,bh表示偏置,~ht表示當前時刻的輸入信息,ht表示當前時刻的輸出。
在得到句子的向量表示hi后,使用注意力機制來平衡不同句子之間的關系以及對篇章整體情感傾向的貢獻:

式中:us表示用于計算注意力權重的查詢向量,αi表示對應每個時間步隱藏向量即每個句子的注意力權重,v表示篇章的特征向量。
如果不考慮多跳結構,則再經過全連接層可以預測輸出整體的情感傾向。但對于篇幅較長的文檔,常常包含情感傾向不同于整體情感傾向的句子,而且不同上下文之間還存在情感傾向的相互影響,因此就要考慮多跳結構。具體來說就是在已經得到篇章向量vt-1的基礎上,再使用另一GRU 網絡并且狀態初始化為上一輪次的篇章向量,重新為每個句子計算注意力權重,得到當前輪次的篇章向量vt。
此外,考慮到在單詞層級得到句子向量表示過程中,并未使用注意力機制,其原因是避免模型過度學習到某些較強傾向性句子的情感特征而忽略篇章整體。但同時也為防止模型在單詞層級不能學習到有效的句子表示,考慮使用位置編碼,包含不同單詞對句子情感傾向的貢獻,位置編碼權重對句子所包含單詞的詞向量加權后與GRU 得到的句子向量拼接起來,作為句子特征的增強:


式中:d表示詞向量某一維度,D為預設詞向量維度,表示第t個句子的第j個單詞的詞向量,M表示句子長度。
本文選擇的篇章情感分析數據集為公開的IMDB 影視評論數據集、Yelp-13、Yelp-14 飯店評論數據集,其中訓練集、驗證集和測試集劃分與Tang[14]相同。各數據集統計信息見表1。

表1 數據集統計信息
數據預處理過程使用NLTK 工具進行切分句子和分詞,構建詞表時僅保留詞頻超過100 的單詞。模型性能的評估使用指標為準確率,即正確分類數據占所有數據的百分比。模型在訓練過程中超參數訓練輪次設置為50 次,當且僅當本輪次訓練模型在驗證集上取得當前最好結果時保存模型參數,訓練結束則加載驗證集上表現最好的模型在測試集上進行預測。批次樣本數據量選擇為64,詞向量維度選擇為300,使用預訓練好的Glove 詞向量[18]。訓練過程中的dropout 正則概率設置為0.5,L2 正則權值設置為0.2,并且僅對全連接層神經網絡的權重施加L2 正則。訓練模型所使用機器為Windows 系統,顯卡型號為NVIDIA GTX1060,運行內存為8G。實驗結果如表2 所示。

表2 實驗結果
對所提出的多跳網絡模型以及位置編碼增強的模型進行對比實驗,選擇的基線模型包括:
(1)Average 表示將文檔中所有單詞的詞向量取平均,作為篇章整體的向量表示,然后經過全連接網絡預測輸出情感類別或傾向;
(2)TextCNN 將整篇文檔視為長序列,使用卷積神經網絡對文檔情感分類。寬度為[3,4,5]的卷積核各128 個,卷積結果經最大池化后再經過全連接網絡進行預測輸出;
(3)TextRNN 同樣將整篇文檔視為長序列,使用循環神經網絡GRU 對文檔情感分類;
(4)TextRNN+Att 在TextRNN 的基礎上,使用注意力機制對文檔情感分類;
(5)GatedRNN 考慮文檔層級結構,使用GRU先在單詞層級得到句子向量表示,再在句子層級得到文檔向量表示進而完成分類;
(6)HAN 考慮文檔層級結構,在單詞層級和句子層級使用基于注意力機制的GRU 得到相應表示進而完成分類。
由實驗結果可知,適于處理序列數據的循環網絡性能要好于卷積網絡;使用注意力機制可提高實驗結果準確率;考慮文檔層級結構的模型表現優于不考慮層級結構的模型;多跳推理結構可以改善層級結構模型的實驗結果,但隨著跳數越多表現不升反降,可能的原因時出現過擬合,而且訓練時間也明顯變長;位置編碼對多跳推理結構的影響不是很明顯。在三種篇章情感分類數據集的實驗結果表明,所提出的多跳推理情感分析模型是合理且有效的。
本文引入閱讀理解中的多跳結構,用來解決篇章情感分析模型過分關注某些情感詞匯和不能很好建模不同句子,尤其是情感傾向不同于文檔整體傾向的句子之間的語義關聯和影響的問題。在所選擇的數據集上的實驗結果證明了多跳結構的有效性。但本文所提出的模型仍存在一些缺點,引入多跳結構增加了模型復雜度,而且跳數越多訓練時間明顯變長。未來的研究為在保持多跳結構的同時,進一步降低模型復雜度,在不損失模型性能的前提下,加快訓練時間。