陳 虹,楊 燕,杜圣東
西南交通大學 信息科學與技術學院,成都611756
在互聯網使用持續深化的趨勢下,人們習慣于在互聯網上學習、購物、社交等,并發表自己的評論,而這些評論包含了對事物不同方面的滿意度。對這些評論語句進行分析和挖掘,得到其中的情感觀點,能夠對決策進行有利支持。
以往,情感分析的研究對象是整篇文章、整段話或整個句子,判斷這些文章、段落或句子的整體情感傾向。然而在現實生活中,人們往往在一篇文章中包含不同的觀點,甚至一個句子中就有相反的觀點。例如,在句子“這部手機的拍照性能很不錯,但是價格太貴了”中,“拍照性能”和“價格”兩方面的情感極性是相反的。因此基于方面的情感分析被學者提出來,并且近年來已成為自然語言處理(natural language processing,NLP)領域的研究熱點之一[1-2]。基于方面的情感分析相較于傳統的文本情感分析可以挖掘用戶更細膩的情感表達,分析用戶對各個目標方面的具體情感觀點,能夠為決策者提供更加準確的決策支撐。
與傳統的機器學習算法對比,深度學習具有更強的表達能力。深度學習重點研究如何對原數據進行特征提取以及表達的相關問題。對于NLP 任務,基于深度學習的方法在如何建模、表達、解釋以及模型優化等方面具有明顯優勢。近年來,利用深度學習技術處理情感分析任務取得了較好的表現。
隨著注意力機制的廣泛應用,與神經網絡結合的注意力機制模型取得了比傳統算法更有效的結果。與注意力機制結合的神經網絡模型可以更有效地對特定方面進行模型訓練,關注句子中更重要的部分。以往的研究已經意識到評價對象的重要性,并通過生成評價對象的特定表示來對上下文建模,但忽略了評價對象的單獨建模,僅考慮了評價對象與上下文中詞語的相關性,沒有考慮評價對象本身包含的語義信息。
為解決此問題,本文提出了基于BiLSTM(bidirectional long short-term memory)的交互注意力模型(interactive attention network model based on bidirectional long short-term memory,Bi-IAN)。使用BiLSTM模型分別對目標和上下文進行建模,得到隱藏表示,并通過交互注意模塊學習上下文和目標中的注意力,分別生成目標和上下文的表示。該模型能夠更好地表示目標及其上下文,捕捉目標和上下文之內和之間的相關性,有助于判斷情感的分類。
機器學習技術已廣泛應用于情感分析任務,Pang等[3]采用樸素貝葉斯、最大熵分類和支持向量機這三種機器學習的方法來進行整篇文章的情感分類,并總結了情感分類問題中的挑戰性。Liu 等[4]研究樸素貝葉斯分類器在情感分析任務上針對大數據集上的可擴展性,并設計了大數據分析系統,實驗證明這個系統能分析數百萬電影評論的情感極性。機器學習方法在過去的研究中取得了很大的成功,但依賴于復雜的人工規則和特征工程。Mikolov等[5]提出了段落向量,這是一種無監督的學習算法,它學習可變長度文本的向量表示,如句子、段落和文檔。向量表示是通過預測從段落中采樣的上下文中的周圍單詞來學習的。
深度學習結合注意力機制在方面級情感分析任務上有更好的分類性能。Tang 等人[6]介紹了一種用于方面級情感分類的端到端記憶網絡,該網絡利用一種具有外部記憶的注意力機制來捕捉每個上下文單詞相對于給定目標方面的重要性。Wang等[7]提出了一種基于注意力機制的目標嵌入LSTM(long short-term memory)方法(attention-based LSTM with aspect embedding,ATAE-LSTM)。注意力機制使得模型能處理句子的重要部分,以響應特定的特征。同樣地,Yang 等[8]提出了兩種基于注意力的雙向LSTM來提高分類性能。Liu等[9]擴展了注意力模型,將從特定目標/特征的上下文中獲得的注意力區分開來。他們通過增加多個門進一步控制注意力機制的效果。Chen等[10]提出一個循環注意力網絡來捕捉復雜情境的情緒。該模型使用了動態的注意力結構,并在GRU(gated recurrent unit)中學習注意力的非線性組合。曹宇等[11]提出了雙向的GRU模型進行中文的情感分析。
在這些方法中,普遍使用LSTM模型來提取評論數據的上下文信息,LSTM 解決了RNN(recurrent neural network)模型的長依賴問題,結構如圖1所示。
假設上一時刻的細胞狀態是Ct-1,上一時刻的隱藏狀態是ht-1,當前時刻的細胞狀態是Ct,當前時刻的隱藏狀態是ht,LSTM 的計算公式如式(1)~式(6)所示。


Fig.1 Structure of LSTM圖1 長短期記憶網絡模型結構

其中,i、f、o分別代表輸入門、遺忘門和輸出門,用于為記憶單元和環境之間相互作用進行建模。σ表示Sigmoid 函數,W、b分別代表各個門結構中的權重矩陣和偏置值。但是LSTM 只能獲取單向的語義信息,BiLSTM 模型對LSTM 進一步優化,捕捉雙向的語義信息,更加豐富和準確。
本文提出的Bi-IAN 模型如圖2 所示,分別對目標和上下文單獨進行建模,通過交互注意模塊學習上下文與目標之間的注意力矩陣,并分別生成目標和上下文的表示。該模型的具體步驟如下:
(1)輸入層:對評論數據樣本和目標進行分詞、去停用詞等數據預處理,然后映射成詞嵌入,得到每個詞語的詞向量表示。
(2)BiLSTM 層:將輸入層得到的上下文和目標詞嵌入分別輸入BiLSTM網絡,模型從兩個方向上分別提取上下文和目標的語義信息,獲得每個時間步上下文和目標的隱藏表示。

Fig.2 Structure of Bi-IAN model圖2 Bi-IAN模型結構圖
(3)交互注意力模塊:分別對BiLSTM 得到的上下文和目標的隱藏表示取平均值作為上下文和目標的初始表示,初始表示與隱藏表示進行交互注意力計算,分別得到上下文和目標的注意力矩陣,注意力矩陣與隱藏表示重構上下文和目標的表示,并拼接在一起得到最終向量表示。
(4)輸出層:最終向量表示通過非線性層和Softmax函數后,得到最終的分類結果。
假設一個上下文由n個詞語組成一個目標有m個詞語組成,w表示一個特定的詞。本文提出的情感分析任務是判斷輸入句子中不同方面的情感極性。例如,句子c=“這家餐廳的飯菜味道一般,但服務態度不錯”,其中有兩個目標t1=“飯菜 味道”和t2=“服務 態度”。在“飯菜味道”方面,是消極的情感極性,在“服務態度”方面,是積極的情感極性。本文將每一個詞語進行向量化表示,形成具有相同的低維度的詞嵌入wk∈Rd,整個詞典的大小為Mv×d。其中k表示詞語在上下文或者評價對象中的位置,d為詞嵌入的維度,v表示詞典的大小。
文本中的詞語上下文均有相關性,對序列數據雙向使用LSTM 模型,能捕捉上下文信息,提供豐富和完整的序列信息和語義信息。在圖3中,針對每一個輸入序列,BiLSTM在前向和后向上訓練LSTM模型,再將兩個方向的輸出結合到一起,形成最終的輸出。在每個時間步長,輸入序列被重復利用,得到上下文的信息,BiLSTM的結構如圖3所示。

Fig.3 Structure of BiLSTM圖3 BiLSTM結構圖

通過將上下文和評價對象詞語的隱藏表示取平均值得到上下文和評價對象詞語的初始表示,如式(10)和式(11)所示。

接下來,以上下文和評價對象的初始表示為輸入,采用注意機制來選擇有助于判斷情感極性的重要信息。同時考慮評價對象對上下文的影響和上下文對評價對象的影響,可以提供更多的線索來關注相關的情感特征。上下文的隱藏表示為通過注意力機制生成上下文對評價對象的注意力,如式(12)所示。

其中,γ如式(13)所示。在得到注意力矩陣后,通過注意力矩陣αi、βi重構上下文和評價對象的表示,如式(15)和式(16)所示。

將重構后的上下文表示cr和評價對象表示tr連接到一起得到向量d,向量d通過非線性層投影得到C種分類,如式(17)所示。

其中,Wl和bl分別代表權重矩陣和偏置值。各個帶標簽的文檔的情感極性計算如式(18)所示。

其中,i是情感極性的分類且i∈[1,C],當某一個標簽的概率最高則是其情感分類的結果。
在訓練模型時,需要優化BiLSTM 神經網絡層、注意力層和Softmax層的參數,使用Θ代表這些層中的權重矩陣和偏置項。使用L2正則化的交叉熵作為損失函數,如式(19)所示。

其中,gi使用one-hot向量表示真實的分類且gi∈RC。yi由式(18)計算得到,表示每個分類的預測值且yi∈RC。λr是L2正則化的系數。
在訓練過程中,通過反向傳播算法計算梯度,通過式(20)更新所有參數。

其中,λl表示學習率。
為了避免過度擬合,使用dropout 策略在每個訓練案例中隨機省略一半的特征檢測器。在學習Θ之后,通過將目標與其上下文輸入到Bi-IAN 模型來測試實例,并且概率最高的標簽代表評價對象的預測情感極性。
本文實驗數據集選用了SemEval 2014 任務4 的兩個數據集和Chinese review datasets 的三個數據集。SemEval 2014 任務4 是英文數據集,Chinese review datasets是中文數據集。
SemEval 2014任務4中包含Restaurant評論數據集和Laptop評論數據集,分為訓練集和測試集,訓練集和測試集均包含Positive、Neutral 和Negative 三種情感極性,分別用1、0和-1表示。訓練集和測試集的各個情感極性的評論數量劃分如表1所示。

Table 1 English experimental data statistics表1 英文實驗數據統計
Chinese review datasets 中文評論數據集來自文獻[12],由Peng 等人在文獻[13]的基礎上完善形成。該數據集包含了Notebook、Car、Camera 和Phone 四個領域的評論數據,每條評論表達對一個方面的看法,同時提取每條評論的方面,并為每條評論進行極性標注。由于Phone 數據集標簽缺失,本文使用Notebook、Car 和Camera 數據集進行實驗。Chinese review datasets 包含Positive 和Negative 兩種極性,分別用1 和0 表示。各個領域的數據集在兩個極性上的數據數量如表2所示。

Table 2 Chinese experimental data statistics表2 中文實驗數據統計
未登錄詞語和權重矩陣通過均勻分布U(-0.1,0.1)抽樣進行初始化,所有的偏置初始化為0。在英文方面級情感分析實驗中,詞嵌入通過GloVe預訓練詞向量獲得。在中文方面級情感分析實驗中,三個數據集中80%的數據作為訓練集,剩余20%的數據作為測試集。由于數據集較小,上下文和方面詞語的詞嵌入通過遍歷中文預訓練詞向量(Chinese word vectors)[14]獲得。中文預訓練詞向量在百度百科語料庫上使用SGNS(skip-gram with negative sampling)模型訓練得到。參數設置如表3所示。

Table 3 Setting of parameters表3 參數設置
將本文提出的模型與經典的情感分析模型在SemEval 2014 任務4 的兩個數據集和Chinese review datasets 的三個數據集上進行對比實驗,驗證所提方法的有效性。
(1)Majority:Majority 方法是一種基線方法,該方法返回訓練集中的多數情感極性類,并分配給測試集中的每個樣本。
(2)LSTM:LSTM模型[15]用于方面級的情感分析中,將上下文的詞語按照語序輸入到模型中進行計算,得到最終的輸出直接作為分類結果輸出。
(3)Bi-LSTM:將上下文的詞語按照語序輸入到Bi-LSTM 模型[16]中,獲得前向和后向的輸出,將輸出結合到一起得到最終的輸出,直接作為分類結果輸出。
(4)ATAE-LSTM:ATAE-LSTM 模型[7]將方面嵌入和詞語表示結合起來,輸入LSTM模型中得到隱藏表示,隱藏表示中包含了輸入方面的語義信息。接下來,計算通過注意力機制得到注意力權重向量以及加權的隱藏表示,建模詞語與輸入方面之間的相互依賴關系。最終經過線性層得到分類結果。
(5)MemNet:MemNet 模型[17]對單詞嵌入多次應用注意機制,并根據最后的句子表示來預測情緒。
(6)IAN:IAN 模型[18]以單詞嵌入為輸入,利用LSTM 網絡分別為目標及其上下文獲取單詞級別上的隱藏狀態。使用目標隱藏狀態和上下文隱藏狀態的平均值來生成注意力向量,并采用注意機制來捕獲上下文和目標中的重要信息。最終經過非線性層得到分類結果。
3.4.1 實驗評價指標
準確率:劃分正確的樣本數除以所有的樣本數,如式(21)所示。

精度和召回率分別表示查準的概率和查全的概率,通常使用F1-score來對模型效果進行綜合衡量,如式(22)所示。

3.4.2 實驗結果及分析
在SemEval 2014任務4的兩個數據集的實驗中,將五個神經網絡模型在Restaurant 和Laptop 數據集上進行三分類對比實驗,以正確率和F1-score作為實驗指標,實驗結果如表4和表5所示。

Table 4 Accuracy of three classifications of different models on datasets表4 不同模型在數據集上的三分類結果正確率

Table 5 F1-score of three classifications of different models on datasets表5 不同模型在數據集上的三分類結果F1-score
從表4 可以看出Majority 方法是最差的,其他方法都基于LSTM 模型,并且優于Majority 方法,這表明LSTM模型能夠自動生成表示,并且基于LSTM的改進算法能提高情感分類的性能。從表4 和表5 可以看出,Bi-IAN算法在Restaurant和Laptop數據集上的表現都是最好的,說明Bi-IAN 算法具有較好的方面級情感分類效果。Bi-LSTM模型前向后向捕獲上下文的重要信息,生成更加完整的句子表示,提高了方面級情感分類性能。ATAE-LSTM 在目標的監督下生成方面級情感的表示,得到上下文的重要信息,通過方面嵌入進一步對目標建模,同時增強上下文詞語和目標詞語中間的交互,從而提升了性能。IAN模型使用交互注意網絡對目標和上下文進行建模,進一步強調了目標的重要性,能很好地學習目標和上下文的表示,提升了模型性能。本文提出的Bi-IAN在IAN 的基礎上,使用Bi-LSTM 捕捉更加豐富和完整的語義信息,更好地在交互建模時關注更加重要的詞語,有助于進行方面級的情感分類。與IAN 模型相比,Bi-IAN模型在Restaurant和Laptop數據集上準確率分別提高了0.012 和0.008,F1-score值分別提高了0.018 和0.009,說明Bi-IAN 模型具有更好的方面級情感分類效果。
在Chinese review datasets的實驗中,將五個神經網絡模型在Notebook、Car 和Camera 數據集上進行二分類對比實驗,以正確率和F1-score作為實驗指標,實驗結果如表6和表7所示。

Table 6 Accuracy of two classifications of different models on datasets表6 不同模型在數據集上的二分類結果正確率

Table 7 F1-score of two classifications of different models on datasets表7 不同模型在數據集上的二分類結果F1-score
從表6和表7可以看出,大部分情況下Bi-IAN模型分類結果是最好的。在中文方面級情感分析實驗中,Chinese review datasets四個數據集的評論語句相對比較簡單,且每條評論語句僅對一個評價對象進行情感傾向判別。但是四個數據集的評價對象有35%以上由多個詞語組成,對目標的建模就顯得尤為重要。Bi-IAN利用Bi-LSTM對評價對象和句子進行建模,不僅得到句子的語義信息,還得到了評價對象多個詞語中的語義信息,再交互地對評價對象和上下文進行建模,關注評價對象和句子中最相關的詞語,提高了分類效果。但是由于數據集較小,且正向和負向評論分布不均衡,以及標簽有錯誤,導致整體F1-score值不理想。在數據集比較簡單的情況下,反而LSTM模型效果比其他復雜的模型效果要好一些。
在方面級情感分析任務中,本文提出一種基于Bi-LSTM 的交互注意力模型(Bi-IAN),考慮了目標的單獨建模。模型使用Bi-LSTM獲取了目標和上下文豐富的語義信息,通過交互注意力模塊關注句子與目標中更加重要的部分。最后,實驗結果驗證了提出模型的有效性。在后續的工作中,可以引入BERT(bidirectional encoder representation from transformers)等預訓練模型進行詞向量表示。近年來提出的transformer 結構較為復雜,但其通用性更強,可以考慮使用LSTM 與transformer 聯合建模獲取文本的語義信息。