周純潔 黎 巎 楊曉宇
1(北京聯(lián)合大學北京市信息服務工程重點實驗室 北京 100101) 2(北京工商大學國際經管學院 北京 100048) 3(中國科學院地理科學與資源研究所資源與環(huán)境信息系統(tǒng)國家重點實驗室 北京 100101)
近年來,隨著互聯(lián)網(wǎng)和社交網(wǎng)絡的快速發(fā)展,越來越多的用戶開始在網(wǎng)頁上自由表達自己的觀點。用戶評論的大數(shù)據(jù)是在互聯(lián)網(wǎng)上產生的,這些評論傳達了互聯(lián)網(wǎng)用戶對產品、熱點事件等的看法。隨著評論的爆炸性增長,很難手動分析它們。在大數(shù)據(jù)時代,通過人工智能技術挖掘評論文本的情感傾向有助于及時了解網(wǎng)絡輿情。情感分類的研究對于獲取評論的情感趨勢非常有意義。
Liu[1]將情感分類大致分為三類:篇章級、評論級和屬性級情感分類。篇章級和評論級情感分類旨在將整個篇章或者評論作為一個整體,識別出整個篇章或評論的情感傾向。屬性級情感分類旨在分析出篇章或評論中具體實體及其屬性的情感傾向。例如,“I bought a mobile phone, its camera is wonderful but the battery life is short”中有三個屬性“camera”“battery life”和“mobile phone”。其中:評論者對屬性“camera”表達了積極的情感;對屬性“battery life”表達了消極的情感;對實體“mobile phone”表達了混合的情感[2]。
屬性級情感分類任務一般被分為兩個步驟進行處理,其一為提取評論中的屬性,其二為對提取到的屬性進行情感分類。由于這兩個步驟均存在諸多難點,因此研究者們將這兩個步驟分開進行研究,本文主要研究的是步驟二。
屬性級情感分類區(qū)別于篇章級和評論級情感分類的一個難點在于需要將評論中的屬性與修飾屬性的情感正確對應起來,因此該任務的重點在于挖掘屬性與上下文的關系,實現(xiàn)精準定位與屬性情感相關的文本片段,根據(jù)情感文本片段判斷屬性的情感[3]。
本文研究使用神經網(wǎng)絡處理屬性級情感分類任務下的屬性與上下文特征提取及關聯(lián)問題,并構建了BERT-LSTM-IAOA模型,以期提高屬性級情感分類的準確率和F1值。
屬性級情感分類的處理方法包括基于規(guī)則的方法[4]、基于統(tǒng)計的方法[5]、基于傳統(tǒng)機器學習的方法[6-7]和基于神經網(wǎng)絡的方法等?;谏窠浘W(wǎng)絡的方法具有領域適應性較強,無需密集特征工程的優(yōu)點,近年來得到了快速發(fā)展并成為了主流方法。
RNN系列神經網(wǎng)絡能保存文本中單詞的序列關系,因此成為了文本處理領域的熱門神經網(wǎng)絡模型。使用LSTM網(wǎng)絡提取整條評論的特征表示作為評論中屬性的情感特征表示不足以區(qū)分多屬性評論中不同屬性的情感。Tang等[8]最先將LSTM網(wǎng)絡應用于屬性級情感分類任務,提出以屬性為中心將整個評論分為“上文+屬性”和“屬性+下文”兩部分,在這兩部分的每個單詞向量后拼接屬性平均詞向量作為輸入,用LSTM網(wǎng)絡分別提取這兩部分的特征,最后拼接兩個LSTM網(wǎng)絡的輸出作為這個屬性的情感特征表示。隨后,Zhang等[9]基于GRU網(wǎng)絡設計了一種門控機制刻畫屬性與上下文的關系,該機制根據(jù)屬性所在位置的隱藏狀態(tài)信息控制左右上下文信息的輸入。上述模型利用多屬性評論中每個屬性有不同上下文的特點控制模型的輸入,在一定程度上提升了分類準確率。
將注意力機制添加到基于神經網(wǎng)絡的模型能提高大多數(shù)模型的性能,該方法已成功應用于許多自然語言處理任務[10]。Wang等[11]將注意力機制添加到基礎LSTM模型中,該方法通過將平均屬性詞向量拼接到評論中每個單詞的詞向量上,使屬性能夠參與計算注意力權重。Wang等[12]在Tang等[8]以及Wang等[11]的基礎上,引入評論中各個單詞對屬性的依賴關系信息,進一步提高了分類效果。以上模型的提出,表明了注意力機制與神經網(wǎng)絡模型結合應用于屬性級情感分類任務的有效性。
Ma等[13]運用注意力機制交互學習上下文和屬性的特征,對屬性和上下文進行了獨立的特征表示。Huang等[14]提出的LSTM-AOA模型對屬性和上下文進行聯(lián)合注意力建模,通過注意力疊加的方式獲得上下文的特征表示,該方法在未利用獨立屬性特征表示的情況下就取得了優(yōu)于以上模型的效果。
Wang等[15]發(fā)現(xiàn)當上下文中單詞的情感對給定屬性敏感時,僅通過注意力建模無法解決情感分類性能下降的問題。如“屏幕分辨率很高”和“價格很高”,其中“高”在修飾屏幕分辨率時表達了積極的情感,在修飾價格時表達了消極的情感,因為不像“優(yōu)秀”“劣質”這類詞語本身就帶有明確的情感,“高”本身不帶有明確情感,需要與具體屬性結合才能分析出其情感。因此,對屬性進行單獨建模,并運用屬性特征輔助分類值得關注。
在基于神經網(wǎng)絡的屬性級情感分類任務中,詞向量的表示是該任務的基礎,以上基于神經網(wǎng)絡的屬性級情感分類模型使用的詞向量均為靜態(tài)詞向量。靜態(tài)詞向量表示將單詞映射為一個固定維度的向量,無法解決文本中一詞多義的問題。如“saw”能表示“看見”和“鋸子”這兩個完全不同的意思,用同一個向量表示這兩個意思顯然是不合理的。Devlin等[16]提出的BERT預訓練語言模型,能根據(jù)單詞的上下文對同一單詞生成不同的詞向量表示。
本文針對屬性級情感分類任務的以上問題,提出一種基于交互式疊加注意力網(wǎng)絡進行實體屬性情感分類。主要貢獻如下:首先,用動態(tài)詞向量表示模型BERT代替靜態(tài)詞向量表示模型Glove,彌補靜態(tài)詞向量表示存在的一詞多義缺陷;其次,對屬性與上下文都進行特別對待,通過交互學習生成其各自獨立的特征表示,并在交互學習的過程中使用疊加注意力(AOA)代替普通注意力以挖掘屬性與上下文之間深層次的語義關系。在三個基準數(shù)據(jù)集上的實驗結果表明,本文提出的模型在屬性級情感分類任務上的效果更好。
圖1為本文提出的BERT-LSTM-IAOA模型的整體結構,整個模型分為四層。第一層為BERT詞向量層,屬性和上下文通過詞向量層得到屬性詞向量序列和上下文詞向量序列。第二層為LSTM層,屬性和上下文詞向量序列通過前向LSTM進行進一步語義編碼。第三層為AOA層,在該層計算得到屬性和上下文各自的“最終”注意力權重。第四層為輸出層,將上下文“最終”注意力權重與上下文的隱藏語義狀態(tài)做加權和得到上下文的最終特征表示,將屬性“最終”注意力權重與屬性的隱藏語義狀態(tài)做加權和得到屬性的最終特征表示,拼接上下文和屬性的最終特征表示并將其輸入到一個線性層中,最后使用Softmax計算屬性所屬的情感類別。
圖1 BERT-LSTM-IAOA模型
對于一條評論{w1,w2,…,wi,…,wr,…,wp},評論中有一個或者多個屬性。評論中的一個屬性{wi,wi+1,…,wi+q-1}是評論的一個子序列,屬性級情感分類任務即分析論者對評論中某一特定屬性表達了怎樣的(積極的、中性的或消極的)情感。
將評論中待判斷情感的一個屬性用特殊符號“$T$”代替,經過該處理后得到這個屬性的上下文s={w1,w2,…,wa,…,wp}。
通過BERT詞向量層將屬性和上下文詞序列中每個單詞映射為詞向量。在詞嵌入映射操作后,得到兩組單詞向量[vi,vi+1,…,vi+m-1]∈Rm×W和[v1,v2,…,vn]∈Rn×W,分別用于表示屬性和上下文,其中W是詞嵌入維度。
通過BERT詞向量層獲得單詞的向量表示后,使用前向LSTM網(wǎng)絡學習屬性和上下文中單詞的隱藏語義。使用LSTM的優(yōu)勢在于它可以避免梯度消失或爆炸的問題,并且善于學習長期依賴[17]。
將上下文詞向量序列[v1,v2,…,vn]輸入到前向LSTM中會生成一系列隱藏狀態(tài)向量hs∈Rn×vh,其中vh是隱藏狀態(tài)的維數(shù)。
(1)
將屬性詞向量序列[vi,vi+1,…,vi+m-1]輸入到前向LSTM中會生成一系列隱藏狀態(tài)向量ha∈Rm×vh,其中vh是隱藏狀態(tài)的維數(shù)。
(2)
通過AOA層獲得屬性和上下文中每個單詞的“最終”注意力權重。AOA網(wǎng)絡的疊加注意力機制能挖掘屬性和上下文之間深層次的語義關系。
(3)
普通的獲取上下文“最終”注意力權重的方式是假定屬性中的每個單詞對上下文注意力權重的影響是相同的,即通過式(4)得到上下文的“最終”注意力權重γ∈Rn,其中γi為上下文中第i個單詞的“最終”注意力權重。
(4)
然而,我們很容易知道單詞“picture”在屬性“picture quality”中扮演著比“quality”更重要的角色,因此,在計算上下文“最終”注意力權重時,需要獲得屬性中每個單詞對上下文不同的影響力權值,此即AOA網(wǎng)絡的疊加注意力思想。
(5)
(6)
AOA網(wǎng)絡中上下文的“最終”注意力權重γ∈Rn由式(7)計算出來。
(7)
屬性級情感分類研究已經認識到了屬性信息的重要性,并提出了各種方法用于通過生成屬性特定的表示來精確地建模上下文,但是這些方法往往缺乏對屬性的單獨建模,尤其是通過上下文建模屬性的特征表示。
(8)
AOA網(wǎng)絡中屬性的“最終”注意力權重δ∈Rm由式(9)計算出來。
(9)
將AOA模塊的屬性“最終”注意力權重與屬性隱藏語義狀態(tài)做點積,上下文“最終”注意力權重與上下文隱藏語義狀態(tài)做點積,拼接兩個點積的結果得到r,將r作為最終的分類特征。
(10)
把r輸入到一個線性層中,實現(xiàn)將r投射到目標類別的空間C={positive,negative,neutral}中。
x=Wl·r+bl
(11)
式中:Wl和bl分別是權重矩陣和偏差。在線性層之后,使用Softmax層來計算屬性的情感極性為c∈C的概率如下:
(12)
屬性的情感極性最終取決于預測出的概率最高的標簽。用L2正則化訓練本文的模型來最小化交叉熵損失。
(13)
式中:I(·)為指示函數(shù);λ是L2正則化參數(shù);θ是LSTM網(wǎng)絡和線性層中的一組權重矩陣。模型中使用dropout隨機丟棄LSTM單元的部分輸入。
本文使用帶有Adam[18]更新規(guī)則的小批量隨機梯度下降來最小化模型中關于權重矩陣和偏差項的損失函數(shù)。
本文采用的數(shù)據(jù)有Twitter數(shù)據(jù)集[19]和SemEval2014 Task4的競賽數(shù)據(jù)集[20](包含Restaurant和Laptop兩個數(shù)據(jù)集)。數(shù)據(jù)集中評論對屬性表達的情感包含積極、中性和消極三類。表1給出了本文實驗所用數(shù)據(jù)的具體情況。
表1 實驗數(shù)據(jù)統(tǒng)計
實驗環(huán)境如表2所示。
表2 實驗環(huán)境
本文使用谷歌官方提供的“BERT-Base,Uncased”預訓練模型。句子中使用的BERT詞向量維度為768,前向LSTM的層數(shù)為1層,epoch為10,batchsize為10,L2正則化項的權重為0.01,dropout為0.1,Adam優(yōu)化算法的學習率為2×10-5。
將本文提出的BERT-LSTM-IAOA模型和基線模型在3個不同領域的數(shù)據(jù)集上進行實驗結果比較,結果如表3所示。
表3 與基線模型在情感三分類任務中的分類準確率對比
(1) TD-LSTM(Target-Dependent LSTM)。通過前向和反向LSTM網(wǎng)絡分別編碼屬性的上文和下文,融合兩個LSTM隱藏層的輸出用于預測屬性的情感極性。
(2) ATAE-LSTM(Attention-based LSTM with Aspect Embedding)。在標準LSTM中引入基于屬性向量的注意力機制,并將屬性向量連接到上下文單詞向量上,讓模型在LSTM編碼過程中學習更多與屬性相關的語義特征信息。
(3) IAN(Interactive Attention Networks)。在標準LSTM基礎上運用注意力機制交互學習上下文和屬性的特征,再融合上下文和屬性的特征用于分類。
(4) RAM(Recurrent Attention Memory)。首先用一個堆疊的雙向LSTM生成外部記憶矩陣,然后根據(jù)句子中單詞和屬性之間的距離信息為每個單詞產生的記憶片段分配一個不同的位置權重,最后用GRU網(wǎng)絡實現(xiàn)多層注意力機制并將不同注意力層級之間的結果進行非線性組合,以此形成屬性的情感特征表示。
(5) AOA-LSTM(Attention-Over-Attention LSTM)。在標準LSTM基礎上,通過計算基于上下文的屬性注意力(text-to-target)和基于屬性的上下文注意力(target-to-text)得到上下文的深層次特征表示,用于進行屬性情感分類。
(6) LSTM-MATT-AC。將LSTM與內容注意力、位置注意力和類別注意力結合起來,有利于從多個方面學習句子中特定屬性的情感特征。
(7) BERT-LSTM-IAOA。即本文模型。
神經網(wǎng)絡模型的實驗結果會因為不同的隨機初始化值而波動是訓練神經網(wǎng)絡時眾所周知的問題[22],因此本文運行10次模型算法,報告最優(yōu)準確率(平均準確率±標準差),本文模型在三個數(shù)據(jù)集上的最優(yōu)準確率分別達到84.6%、79.3%和74.6%,較基線模型中分類效果最好的模型在準確率上分別提升了0.040、0.042和0.035,驗證了本文模型在不同領域數(shù)據(jù)集上進行屬性級情感分類的有效性。
(1) BERT對三分類結果的影響。詞向量的表示是屬性級情感分類任務的基礎,BERT預訓練語言模型能解決靜態(tài)詞向量表示中存在的一詞多義問題。通過在詞向量層分別使用Glove映射的靜態(tài)詞向量表示和BERT映射的動態(tài)詞向量表示,對比分析BERT詞向量表示方法對屬性分類效果的影響,實驗結果如圖2和圖3所示。
圖2 不同詞向量表示方法對模型準確率的影響
圖3 不同詞向量表示方法對模型F1值的影響
圖2和圖3分別對比了使用BERT詞向量表示的BERT-BiLSTM-AOA模型和使用Glove詞向量表示的Glove-BiLSTM-AOA模型的兩個評價指標(準確率和F1值)。兩個模型在Restaurant、Laptop和Twitter三個數(shù)據(jù)集上分別進行10次實驗,對10次實驗的結果取平均值。可以看到在模型中使用BERT預訓練語言模型較使用Glove在三個數(shù)據(jù)集上的分類準確率分別提高了0.039、0.016、0.022,F(xiàn)1值分別提高了0.007、0.002、0.031。實驗結果表明在本文屬性級情感分類模型的詞向量層使用BERT預訓練語言模型比靜態(tài)詞向量表示模型能得到更好的分類效果。
(2) 屬性單獨建模對三分類結果的影響。屬性信息是屬性級情感分類任務中與屬性上下文同樣重要的信息,先前的研究大多忽略了對屬性的單獨建模。通過在模型中加入與不加入屬性的單獨建模表示,分析屬性的單獨建模對分類效果的影響,實驗結果如圖4和圖5所示。
圖4 屬性單獨建模對模型準確率的影響
圖5 屬性單獨建模對模型F1值的影響
圖4和圖5分別對比了對屬性進行單獨建模的BERT-LSTM-IAOA模型和未對屬性進行單獨建模的BERT-LSTM-AOA模型的兩個評價指標(準確率和F1值)。兩個模型在Restaurant、Laptop和Twitter三個數(shù)據(jù)集上分別進行10次實驗,對10次實驗的結果取平均值??梢钥吹紹ERT-LSTM-IAOA模型在三個數(shù)據(jù)集上分類準確率較BERT-LSTM-AOA模型分別提高了0.021、0.013、0.021,平均F1值分別提高了0.034、0.021和0.022。實驗結果表明,對屬性進行單獨建模提高了屬性級情感分類效果。
本文首先使用BERT預訓練語言模型生成單詞的詞向量表示,彌補靜態(tài)詞向量表示存在的一詞多義缺陷。其次,對屬性和上下文都進行特別對待,通過交互學習生成其各自獨立的特征表示,在交互學習的過程中使用疊加注意力AOA代替普通注意力以挖掘屬性與上下文之間深層次的語義關系。最后,拼接屬性和上下文的特征表示進行分類。本文的一系列實驗結果表明這種改進方法能有效提高屬性級情感分類的效果。