張周彬,相 艷+,梁俊葛,楊嘉林,馬 磊,2
1.昆明理工大學 信息工程與自動化學院,昆明 650504
2.昆明理工大學資產經營有限公司,昆明 650051
情感分類,也稱觀點挖掘,是自然語言處理(natural language processing,NLP)中一項重要的任務[1-2]。粗粒度情感分類是對文檔級(篇章級)或句子級的評論文本進行情感極性判斷,而細粒度情感分類是對評論文本中的實體屬性進行情感極性的識別。例如,對于評論“The food was very good,but the service at that restaurant was dreadful.”,細粒度的情感分類需要識別出屬性“food”的情感極性是正向的,而屬性“service”的情感極性是負向的。不同屬性的情感極性不僅依賴于上下文的情感信息,還依賴于特定屬性的語義信息[3]。因此,對于特定屬性的情感極性識別應該將上下文和屬性相結合,充分利用屬性和上下文的依賴關系。
解決屬性情感分類的傳統機器學習方法包括語法規則[4]和支持向量機(support vector machine,SVM)的方法[5],這些方法大多需要大量人工特征,包括情感詞典[6]、解析樹[7]等。這類方法的性能很大程度上受限于人工特征的質量。Hu 和Liu[8-9]提出了針對不同商品評論的情感分類方法。Qiu 等人[10]利用屬性抽取和構建情感詞典的方法進行屬性情感分類。
近些年,隨著深度學習的發展,神經網絡在NLP中得到了廣泛的應用。越來越多的學者提出利用深度學習技術。前期一些學者提出利用深度學習和傳統的方法相結合處理屬性級情感分類的思路。Nguyen和Shirai[11]提出基于循環神經網絡和句法分析樹的方法進行屬性情感分類。Dong 等人[12]提出一種自適應的循環神經網絡應用于文本情感分類。這些方法均加入了深度學習的方法進行特征提取,相比于傳統的方法取得了比較好的性能,但是它們需要借助情感詞典、句法分析樹等方法的輔助,且網絡結構相比比較復雜。為了克服這些缺陷,大量研究人員對深度學習技術進行了深入研究,僅利用遞歸神經網絡、卷積神經網絡(convolutional neural networks,CNN)等學習語義信息,這些模型在情感分類上也取得了比較好的效果[13-14]。Chen 等人[15]提出使用卷積神經網絡進行屬性情感信息的提取。Xue 等人[16]提出基于卷積神經網絡和門控機制的模型進行屬性情感信息的提取。Ruder等人[17]提出一種分層雙向長短時記憶神經網絡模型,引入詞語之間和句子之間的語法規則技術進行屬性級情感分析。Wang 等人[18]將上下文中每個詞和從句的重要程度結合起來,提出一種具有詞語級和句子級聯合訓練的分層注意力機制網絡結構。支淑婷等人[19]提出融合多注意力屬性和上下文的雙向長短時記憶神經網絡(bi-long short term memory,Bi-LSTM)的方法,在Bi-LSTM 的不同位置加入不同類型的注意力機制,從不同角度抽取情感特征。Ma 等人[20]提出將上下文和屬性分別建模,然后利用交互式注意力網絡結構分別學習上下文和屬性的有效表示。Tang等人[21]使用兩個LSTM(long short term memory)網絡分別從屬性詞的左側和右側分別建模,捕捉屬性的上下文信息。Tay等人[22]通過對上下文和屬性分別建模捕捉它們之間的關系,然后送入神經網絡中自適應地捕捉屬性詞和它的情感詞。以上方法均取得比較好的結果,同時驗證了LSTM 網絡和注意力機制對屬性級情感分類的有效性。
本文基于LSTM 網絡和注意力機制進行了研究。Tang等人[23]提出目標相關長短時記憶神經網絡(targetdependent long short term memory,TD-LSTM)模型和目標連接長短時記憶神經網絡(target-connection long short term memory,TC-LSTM)模型。TD-LSTM模型是通過Bi-LSTM 網絡對特定屬性的上下文信息進行獨立編碼,然后連接前向LSTM 網絡和反向LSTM 網絡,最后隱藏層的輸出的特征向量作為最終的表示,進行屬性情感分類。TC-LSTM 網絡則是在TD-LSTM 模型基礎上的改進,將屬性詞向量矩陣與句子的上下文詞向量矩陣進行拼接作為模型的輸入,讓模型學習到更加有效的屬性情感特征。這兩個方法都有很大的局限性,僅僅借助LSTM 網絡對屬性的情感特征進行提取。Wang 等人[24]提出基于注意力的長短時記憶神經網絡(attention-based long short term memory,AT-LSTM)模型和基于屬性嵌入的注意力網絡(attention-based long short term memory with aspect embedding,ATAE-LSTM)模型。這兩個模型是在Tang 等人提出的模型基礎上的改進,它引入了注意力機制去選擇性地關注與屬性密切相關的內容信息。AT-LSTM 模型是在上下文隱藏層的輸出特征向量上拼接屬性詞向量,然后利用注意力機制讓模型選擇性關注與當前屬性密切相關的內容信息,從而生成更加準確的屬性情感特征向量。而ATAELSTM 模型則是在AT-LSTM 輸入層引入屬性連接組件,將屬性詞向量連接到輸入詞向量中,讓模型能夠在Bi-LSTM 網絡編碼過程中學習更多與屬性相關的語義特征信息。Ma 等人[20]提出交互式注意力網絡,使屬性和上下文互動學習獲得更有效的屬性情感特征。以上模型進一步驗證了LSTM 網絡和注意力機制對屬性情感分類的有效性,但是它們均忽視對屬性單獨建模和屬性對于上下文監督的作用。因此,本文提出位置增強注意力機制網絡模型,將LSTM 網絡和注意力機制相結合構建模型,且對屬性和上下文分別獨立建模,然后利用屬性去監督上下文讓模型生成更加準確的屬性情感特征向量。
到目前為止,大部分的模型都忽視屬性詞對屬性情感分類的作用,同時忽視了屬性與上下文中的相對位置關系。事實上,屬性的情感極性主要由其相鄰詞來表達。越接近屬性的詞語越可能表達它的極性。例如評論“The price is reasonable although the service is poor.”中,屬性“price”的情感極性表達的詞語是“reasonable”,而不是相隔較遠的“poor”。根據語言規則,上下文和屬性之間的位置關系在屬性級情感分類建模中有著重要的意義。根據這一特征,本文提出一種基于位置增強注意力(position-attention,P-ATT)的屬性級情感分類模型,以下稱為P-ATT。該模型的主要創新之處為:(1)以屬性詞為中心,計算上下文中其他詞和屬性詞之間的相對位置,并在上下文的輸入層和隱藏層分別加入該相對位置向量,從而更好地表征上下文中每個詞對屬性的重要程度;(2)利用兩個LSTM 對上下文和屬性詞獨立編碼,利用編碼后的屬性詞向量監督上下文注意力權重的計算,該權重對最終的情感分類起到關鍵作用;(3)對上下文和屬性分別單獨建模,并利用屬性去監督上下文,生成與屬性密切相關的屬性情感特征。本文模型在SemEval 2014 Task4 的數據集上進行了二分類和三分類的實驗,驗證了模型的有效性。
在屬性級情感分類任務中,上下文中的單詞和屬性詞之間的相對位置包含著很重要的特征信息,屬性附近的詞更有可能表達它的情感極性,并且隨著相對距離的增大影響越小。例如圖1 所示,對于該上下文中涉及的屬性1“price”的情感由位置2 的“reasonable”表達,而非位置7 的“poor”表達。屬性2“service”的情感由位置2 的“poor”表達。本文對位置信息的處理方法為:(1)檢索到屬性詞所在的位置i,設置該位置的權重為0;(2)以屬性詞為中心,在屬性詞的兩側設置兩個工作指針,分別依次計算屬性詞左右兩側單詞和屬性詞之間的相對位置i的值li;(3)將獲得相對位置的序列進行處理,計算公式:

Fig.1 Positional relationship between words and aspect in context圖1 上下文中單詞和屬性之間的位置關系

本文提出的P-ATT 模型如圖2 所示,上下文的輸入包括位置向量和上下文向量,屬性的輸入為屬性向量,二者分別送入LSTM 網絡,得到上下文隱藏層向量和屬性隱藏層向量。位置向量拼接至上下文隱藏層向量構成上下文表征,屬性隱藏層向量進行平均池化得到屬性表示。之后利用屬性表示去監督上下文表示計算上下文中每個單詞注意力權重,最后該注意力權重與上下文隱藏層向量相乘,得到評論文本最終的有效表示,并利用該表示進行情感分類。

Fig.2 Position-enhanced attention network model圖2 位置增強注意力網絡模型
2.2.1 上下文和屬性的輸入
屬性級情感分類的任務是判別句子中不同屬性的情感極性。對于長度為n的上下文,長度為m的屬性,屬性可能是一個詞也可能是一個短語。實驗數據集中的所有單詞映射到glove訓練的連續、低維度的實值詞向量,每個單詞wi對應一個確定的詞向量vi∈Rd。
上下文不同單詞對應的詞向量乘上對應的Di,獲得位置向量矩陣。利用上下文的索引序列檢索出涉及的詞向量構成上下文詞向量嵌入矩陣。將vp和vc拼接,得到最終的上下文輸入。屬性詞向量矩陣的獲取方式和上下文詞向量矩陣的獲取方式一樣。以上的dp dc dt表示向量維度,n、m分別表示上下文和屬性的長度。
2.2.2 屬性和上下文表示
如圖2,屬性詞向量矩陣vt通過LSTM 網絡進行編碼,得到屬性隱藏層向量。之后對屬性隱藏層向量進行均值處理,均值作為屬性表示,去參與上下文每個單詞的注意力權重的計算,準確抽取上下文中和屬性情感特征密切相關的信息。屬性隱藏層向量均值定義為:

此外,vp和vc拼接得到上下文的輸入,送入LSTM網絡進行獨立編碼,獲得隱藏層向量。該隱藏層向量再次拼接vp,得到上下文的表示。
2.2.3 利用注意力機制進行情感分類

式中,W表示權重,,b表示偏置。之后將注意力權重ai和上下文隱藏層向量進行乘法運算,生成與屬性高度相關的特征向量Cf:

將特征向量Cf送入softmax 函數,輸出最終特定屬性的情感極性。
在P-ATT 模型中,使用隨機梯度下降算法更新所有的參數Θ:

式中,λτ為學習率。
損失函數采用交叉熵代價函數,同時為了避免過擬合,加入L2 正則化,通過最小函數來優化模型,定義如下:

其中,gi表示上下文中特定屬性正確的情感類別,yi表示上下文中特定屬性預測的類別,λγ表示正則化的權重。
本文提出的P-ATT 模型在SemEval 2014 Task4 Restaurant 和Laptop 數據集上進行了實驗,驗證PATT 模型的有效性。SemEval 2014 數據集兩個數據集組成:Laptop 評論語料和Restaurant 評論語料。評論有三種情感極性:正向、中性、負向。表1 顯示了兩個數據集中訓練集和測試集樣本的數量。

Table 1 Experimental data statistics表1 實驗數據統計
實驗中,上下文詞向量維度dc、屬性詞向量維度dt、位置詞向量維度dp以及LSTM 隱藏層輸出的詞向量的維度dh都設為300。詞向量均采用Pennington等人[25]提出的預訓練的glove 詞向量,并且所有詞匯外的單詞都通過從均勻分布U(-0.1,0.1)中抽樣來初始化。同時通過均勻分布U(-0.1,0.1)采樣給出所有權重矩陣的初始值,并將所有的偏置b初始化為0。通過每個batch_size=128 個樣本進行訓練模型訓練,Adam 優化算法的初始學習率為0.01,Dropout 設置為0.3。
為了全面評估P-ATT 模型性能,本文將其和多個基線模型進行了比較,比較的基線模型有:
LSTM:該模型為參考文獻[23]所提出的模型。僅使用一個LSTM 網絡對上下文進行建模,然后將隱藏層的輸出做均值處理作為最終的表示,并送入softmax 函數計算每個情感標簽的概率。
TD-LSTM:該模型為參考文獻[23]所提出的模型。通過前向和反向LSTM 網絡對特定屬性的上下文信息進行獨立編碼,然后將兩個LSTM 最后隱藏層輸出的特征向量進行拼接作為最終的表示,進行情感分類。
TC-LSTM:該模型為參考文獻[23]所提出的模型。該模型是在TD-LSTM 模型基礎上的改進,將屬性詞向量矩陣和上下詞向量矩陣進行拼接作為模型的輸入,提取屬性更有效的特征進行情感分類。
AT-LSTM:該模型為參考文獻[24]所提出的模型。在LSTM 網絡中引入屬性詞向量的注意力機制,能夠讓模型選擇性地關注和屬性聯系密切的情感信息,從而生成更準確的屬性情感特征向量。
ATAE-LSTM:該模型為參考文獻[24]所提出的模型。該模型是在AT-LSTM 模型的輸入層引入屬性連接組件,將屬性詞向量拼接在上下文詞向量中,然后利用雙向LSTM 網絡和注意力機制學習更多與屬性相關的語義特征信息。
本文采用準確率來評估屬性情感分類的效果,定義如下:

其中,T是預測正確的樣本數,N是樣本的總數。準確率度量的是所有樣本中預測正確樣本的百分比。
3.4.1 與基線模型的比較
本文將6種模型在SemEval2014 Task4 Restaurant和Laptop 兩個不同領域語料上進行了實驗,表2 給出了6 種模型在屬性級情感分析任務中三分類準確率比較情況。

Table 2 Comparison of accuracy among different models and three classification tasks表2 不同模型三分類任務中準確率對比 %
P-ATT 模型在Restaurant和Laptop 兩個不同領域的數據集上均取得比較好的效果。模型ATAELSTM 和TC-LSTM 的準確率明顯高于模型TDLSTM、AT-LSTM、LSTM。從實驗結果和模型框架對比說明,在模型的輸入層加入屬性詞向量可以很好地幫助模型挖掘不同屬性和上下文中不同單詞之間的語義關聯信息,更加準確地將對應的情感信息識別。在Restaurant 和Laptop 語料 上,ATAE-LSTM 模型相比TD-LSTM、LSTM 模型分類準確率分別提升1.6、0.6 和2.9、2.2 個百分點,相比TC-LSTM 模型在Restaurant語料上提升0.9 個百分點,驗證了注意力機制在屬性情感分類任務中的有效性,同時也說明屬性參與上下文的特征提取的必要性。
P-ATT 模型在輸入層的上下文詞向量矩陣中引入了位置信息,將位置加權的詞向量矩陣和對應的上下文詞向量矩陣進行拼接,讓模型更好地關注上下文中不同位置的詞和屬性之間的相關程度。然后利用LSTM 網絡對上下文和屬性分別建模,由于屬性信息的有限性和屬性與上下文中各個單詞信息的相關性,將屬性進行均值處理,同時在上下文的隱藏層的輸出再次拼接位置信息,強化位置信息的重要程度,最后利用屬性去參與上下文注意力權重的計算,更好地挖掘屬性和上下文不同詞的相關信息,強化重要信息,弱化次要信息。在Restaurant 和Laptop 兩個不同語料上,本文提出的模型相比ATAE-LSTM 模型情感分類的準確率提高2.5 和3.4 個百分點,驗證了模型P-ATT 的有效性。
為了進一步驗證本文提出的P-ATT 模型的有效性,將Restaurant 和Laptop 數據集中的中性樣本剔除,只保留正向和負向的樣本進行二分類實驗,實驗結果如表3 所示。

Table 3 Comparison of accuracy among different models and two classification tasks表3 不同模型二分類任務中準確率對比 %
從表3 的結果可以看到,剔除中性樣本后,5 個模型屬性情感分類任務的性能都有明顯的提升。通過觀察兩個不同領域語料中的中性情感樣本很容易發現,中性情感的樣本中絕大部分都是對屬性的客觀描述,而沒有表達情感。例如“This is a consistently great place to dine for lunch or dinner.”對于屬性“lunch”,只是闡述了一個事實,并沒有對屬性表達情感。另一個問題是評論的自由性導致評論中對于屬性情感的含蓄、潛在表達和句子過于復雜導致模型不能很好地識別情感特征。因此,屬性情感分類的難點也是這個原因。通過實驗結果的對比,本文提出的模型獲得最好的結果,和其他模型中最好的模型ATAE-LSTM 相比,在Restaurant 和Laptop 兩個不同領域的語料上準確率分別高出1.2和0.7個百分點,獲得了92.1%和88.3%比較好的結果。驗證了本文模型能夠很好地解決不同領域的屬性情感分類問題。
3.4.2 不同位置向量對于屬性情感分類的作用
P-ATT 模型在上下文的輸入層和隱藏層同時加入了位置信息,為了驗證不同的位置信息的作用,本文還與只利用一種位置信息或者不利用位置信息的模型進行比較。第一種稱為IP-ATT(input-position attention)模型,只保留上下文輸入層處的位置信息,其余部分與P-ATT 一致;第二種稱為HP-ATT(hiddenposition attention)模型,只保留上下文隱藏層處的位置信息,其余部分與P-ATT 一致;第三種稱為NP-ATT(no-position attention)模型,是將上下文輸入層和隱藏層兩處的位置信息都去掉。
以上模型在Restaurant 和Laptop 數據集上分別進行了三分類實驗,實驗結果如圖3 所示。P-ATT 模型在兩個數據集上均取得最好的結果。相比NPATT 模型,在Restaurant 和Laptop 兩個不同領域的數據集上分別提升2.2 和1.9 個百分點。IP-ATT 模型的性能稍低于P-ATT 模型,但是高于HP-ATT 模型。說明在上下文輸入層和隱藏層加入位置信息的有效性,同時也說明在輸入層加入位置信息的效果相比在隱藏層加入位置信息更加有效。位置信息的加入使得LSTM 網絡在訓練過程中會結合不同單詞和屬性之間的位置關系來編碼上下文的信息,有利于模型挖掘更加有效的屬性情感信息。

Fig.3 Impact of position information on classification accuracy圖3 位置信息對分類準確率的影響
3.4.3 可視化注意力機制
為了更好地理解本文提出的P-ATT 模型對于上下文中不同單詞對特定屬性情感極性的影響程度,本文從訓練的語料中抽取出一個樣本,可視化上下文中不同單詞的注意力權重。如圖4 所示,顏色越深表示注意力權重越大,對屬性情感的影響程度也越大。例句“The price is reasonable although the service is poor.”含有兩個屬性“price”和“service”,它們對應的情感詞分別為“reasonable”和“poor”。從熱力圖很明顯地看到,加入位置信息的P-ATT 模型相比NPATT 模型更能準確地識別出上下文中對應屬性的情感信息。

Fig.4 Effect of attention visualization圖4 注意力可視化的效果
針對屬性情感分類任務,本文提出的位置增強注意力機制模型充分利用屬性在上下文中的位置信息和注意力機制提取情感特征。模型在上下文的輸入層和隱藏層分別引入位置信息,在第一次位置信息參與下通過LSTM 網絡獨立編碼特定屬性的上下文的信息,隱藏層的輸出再一次引入位置信息。然后借助屬性的均值去計算上下文中每個詞的注意力權重,準確地表示出不同單詞對屬性的影響程度,挖掘上下文中屬性的情感信息。在兩個不同領域的數據集上進行實驗,實驗數據表明本文提出模型的有效性,能夠很好地解決屬性情感分類任務。
本文提出的模型對于屬性詞序列采用平均化的方式進行處理,沒有有效地關注屬性中的重要信息,對于模型準確捕捉屬性的情感信息有一定的影響,如何提取屬性中的重要信息是下一步工作的重點。