楊嘉佳 ,熊仁都 ,劉 金 ,唐 球 ,左 嬌
(1.華北計算機系統工程研究所,北京 100083;2.中國長城科技集團股份有限公司,廣東 深圳 518057)
在信息化時代背景下,各行業產生了大量的多源異構數據。對這些數據的情感傾向進行分析,衍生出很多基于傳統行業的新實踐和新業務模式。情感分析是當下人工智能的一個熱門應用,是自然語言處理領域的一個重要分支,根據文本研究對象細粒程度的區別,研究者主要在3 個層次級別上研究情感分析:文檔級、語句級和方面級(aspect level)。情感分析的粒度越細,則精確度越高,也就能更好地發現情感極性。方面級情感分析技術[1]主要用于解決情感極性問題,與文檔級、語句級情感分類相比,方面級情感分析因為基于aspect 實體,使得情感分析更加細粒化。
當前情感分類精度效果較好的研究,主要基于深度學習、注意力機制而開展[2-9]。但是基于深度學習的方面級情感分析模型主要依賴卷積神經網絡、門控循環神經網絡進行上下文的編碼與特征變換等,這些網絡在捕捉長距離依賴上有一定的局限性。此外,盡管基于自注意力機制的Transformer 提供了一種創新思路,但許多研究表明,在淺層網絡和訓練數據較少的情況下,自注意力網絡的網絡特征抽取能力不如LSTM 等經典網絡,其中一個重要原因是注意力得分針對的是整個向量,靈活性差,復雜度低,當網絡層數較少時無法捕捉到深層的語義信息。
針對模型分類高精度化、少參數化的情感分析應用需求,本文提出基于可復位特征級注意力的方面級情感分類模型和基于可復位特征級自注意力的方面級情感分類模型。實驗結果表明,在取得與AOA 網絡[2]相當分類精度的情況下,兩個模型參數量分別為19 萬、27 萬,僅僅為AOA 參數量(109 萬)的17%、25%。
近年來基于深度學習的方面級情感分類技術得到了廣泛研究。這些研究主要圍繞循環神經網絡、注意力網絡而開展。
VO D T 和ZHANG Y[3]首次利用三段LSTM 對目標詞和目標詞前后上下文進行分別建模之后用于分類。TANG D 等人[4]提出了target-dependent的LSTM模型(TDLSTM)和target-connection LSTM(TC-LSTM)來擴展經典的LSTM 結構用于將方面特征納入模型運算,其主要使用兩個LSTM 分別對目標詞左右的文本序列進行建模,之后將左右語句特征集合進行分類。KIM Y 等人[5]首次提出了一個結合方面詞嵌入的基于注意力機制的LSTM模型,證明能夠很好地捕捉與方面詞匯相關的上下文信息,并在當時取得了SOTA(state-of-the-art)的表現。交互型注意力模型如IAN[6]、AOA[2]、MGAN[7]將方面詞(target)對上下文(context)的注意力、上下文對關鍵詞的注意力融入到模型,是目前具有最優表現的RNN 結構模型。VASWANI A 等人[8]提出了基于多頭自注意力的Transformer模型對序列文本進行編碼,擺脫了對RNN 等傳統網絡的依賴,自注意力機制不依賴序列順序,能同時針對整個上下文進行特征提取,解決了循環神經網絡無法捕捉長期依賴的問題。SONG Y 等人[9]通過使用基于自注意力的網絡構建了Attentional Encoder Network 來進行語句上下文特征抽取,以及與目標詞進行注意力交互。
盡管基于循環神經網絡、注意力網絡的方面級情感分析模型在分類準確率、模型參數量都得到了極大改善,但依然還有提升的空間。
實驗發現,直接參照多頭自注意力模型[8]將自注意力模塊替換成特征級自注意力模塊時,模型的性能表現并沒有提升,反而使得網絡變得非常難以訓練,最終擬合效果也不如傳統自注意力網絡。然而,在進一步觀察實驗過程中的各個變量變化時,注意到在一部分樣本上模型對缺省(文本批量化訓練時候的補全向量,使得所有輸入句子的長度一致)向量的注意力打分遠高于真正的文本。據此,本文提出了可復位特征級注意力機制。
通常使用批訓練技術加速神經網絡訓練速度,即每次傳入一組訓練樣本,將得到的梯度更新量平均作用于網絡參數上。文本任務相較于圖像任務,每次訓練的輸入序列長短不一,而圖像可以方便地縮放到統一大小,這就導致在序列并行化過程中需要通過補全的方式,通過在短文本末尾添加如全0 向量作為缺省向量,使得每一批樣本中所有輸入語句長度一樣,從而使得輸入的數據維度在訓練過程中保持一致,方便并行處理。但是,添加的缺省向量會導致神經網絡在訓練初始階段過多地關注到這些無關的沒有實際意義的數據,減緩了網絡收斂速度。注意力掩碼技術則在很大程度上解決了這一問題。
為解決這個問題,研究人員提出了注意力掩碼技術:輸入樣本時,真實詞匯標記為1,缺省向量標記為0,該標記作為掩碼傳入神經網絡。在計算注意力時候通常有兩種校正策略。
(1)在計算注意力得分之后,softmax 歸一化之前,對標記為1 的詞匯注意力得分加1,標記為0 的則不作處理。而在特征及注意力模型中,由于得分是針對特征而言,注意力修正需要從向量轉化為寬度等于詞嵌入維度為e 的矩陣,設輸入文本長度為4,網絡可接收的最大文本長度為n,則注意力得分修正過程為:
獲取注意力掩碼:

轉化成注意力掩碼矩陣:

修正注意力得分scores,其中向量X 是上下文句子,向量q 是句子中的一個詞:

(2)與上述過程相似,不同之處:對標記為1 的詞匯不作處理,對標記為0 的詞匯得分加上負無窮-inf,得:

以上兩種策略都有助于注意力機制更好地關注到真實的輸入數據,使真實詞匯的打分偏高,對應的缺省向量的打分會變低。
通過使用注意力掩碼技術可以讓注意力網絡關注到真正的輸入上而非缺省向量上,但本文在實驗中發現,網絡針對相當一部分樣本打分時,即使加上了注意力掩碼偏置,網絡依然對缺省向量打出比真實文本更高的分數,這說明在某些情況下特征級注意力網絡需要輸出的特征為0,而不是任何輸入文本特征的和。
傳統的特征級注意力機制通過打分函數得到相容性得分,然后使用softmax 對得分進行歸一化,最后直接對全部輸入詞向量進行加權求和。可以發現在這個過程中,難以滿足單層自注意力神經網絡丟棄一個特定維度特征而使得輸出為0 的要求。
因此本文在模型計算注意力得分之前,構造了一個全為0(可復位)的鍵向量,其對應的值向量也全為0。該項量與輸入樣本序列拼接并賦予相同的掩碼值1,當注意力機制認為原始輸入值上沒有重要的特征時,只需提高0 向量的注意力得分即可,即將注意力轉移到了一個空向量上。經過實驗發現此方法可以顯著提高模型的表現效果。
傳統自注意力網絡,例如在Transformer模型中[8],Position-Wise 前饋神經網絡發生在自注意力編碼之后。受LSTM 的啟發,本文將Position-Wise 前饋神經網絡放置在注意力編碼之前,將非線性變換的結果作為詞向量的value,而原始的embedding 作為key 和query。從而得到如下式子,其中V 相當于對上下文X 中的每一個詞向量進行了一次非線性變換后的結果,WV、bV分別表示權重矩陣和偏置矩陣。

用V 替換X,得到模型對輸入得編碼結果s:

實驗發現,經過改進,特征級注意力模型的表現得到了提升。
在2.1 節、2.2 節特征級注意力機制的基礎上,可以得到可復位特征級注意力網絡。RFWA 使用一層可復位特征級注意力網絡完成方面詞匯與上下文之間的交互,從而得到方面級詞匯的基于上下文的表示。之后,使用均值池化方法處理超過一個詞長度的方面詞,通過一個全連接層和softmax 得到分類結果,模型架構如圖1所示。本模型使用Glove[10]預訓練模型的詞嵌入作為原始輸入。

圖1 可復位特征級注意力情感分類模型
(1)基于2.1 節的實驗發現,在模型計算注意力得分之前,構造了一個全為0 的鍵向量;(2)基于2.2 節的實驗發現,將Position-Wise 前饋神經網絡調整放置在注意力編碼前;(3)通過將特征級注意力機制的query 變量設置成輸入向量,可得到特征級自注意力機制。結合以上3 方面,最終得到了一個改進后的可復位特征級自注意力網絡。
其注意力得分計算原理如圖2 所示,在原始文本向量結合補全向量的基礎之上添加復位向量作為輸入,應用特征級自注意力機制計算自注意力得分,利用可復位注意力掩碼修正注意力得分之后,使用行序softmax 得到可復位特征級自注意力權重矩陣。

圖2 可復位特征級注意力得分計算
如圖3 所示,RFWSA 使用位置編碼、上下文特征級自注意力網絡對上下文進行編碼。同時,使用位置編碼對方面詞進行編碼。然后再使用一層自注意力網絡完成上下文與方面詞的交互,之后通過池化層、全連接層和softmax 完成情感分類。其中,上下文特征級自注意力網絡為3.1 節提出的可復位特征級自注意力網絡模塊。

圖3 可復位特征級自注意力情感分類模型
(1)數據集
使用SemEval 2014[11]方面級情感分析數據集進行訓練和驗證算法,該數據集分為兩個子集,分別是Laptop在線評論數據、Restaurant 在線評論數據,每個數據集又被分為訓練集和測試集,每條數據包括3 類人工標注好的標簽。此外,還引入文獻[12]中的Twitter 數據集作為測試。數據組成如表1 所示。

表1 實驗數據統計表
(2)實驗環境
使用Google Colaboratory 云計算GPU 進行訓練,GPU型號為K80,12 GB 顯存。
(3)超參數設置
為了防止網絡的過擬合,添加了L2 正則化因子,通過L2 正則因子修正損失函數,將網絡權重限制在一個較小的值,減小了梯度消失和梯度爆炸的可能。使用Adam算法進行梯度更新,學習率為0.01。Batch-size 為25。使用Glove 27B 300d 詞嵌入初始化詞向量,非詞典詞依正態分布置為隨機值。添加了Dropout 層,keep-rate 設置為0.8,L2 正則參數為10-4,注意力計算層隱層大小設置為200 維,輸入非線性變換層為150 維。所有代碼基于Pytorch 實現。
實驗結果如表2 所示。通過結果發現,RFWA、RFWSA 在方面級情感分類的表現上與現有主流模型相當。其中RFWSA 在Restaurant 數據集上準確度為0.819,在Laptop 數據集上準確率為0.746,分別超過表現第2好的AOA模型0.7 個百分點和0.1 個百分點,但在Twitter數據集上低于MGAN模型1.3 個百分點。

表2 實驗結果對比
為了更好地比較模型在不同維度上的表現,本文統計了主要模型的參數量,如表3 所示。

表3 相關模型參數量對比
從表3 中可以看出,RFWA模型僅使用19 萬參數,而其在Restaurant 數據集上的分類準確率依然超過AOA模型0.2 個百分點。在參數使用量方面,RFWA 使用了19 萬參數,RFWSA 使用了27 萬參數,相比其他方面級情感分析模型優勢明顯。
針對情感分析高精度、低參數化的要求,本文通過對基本特征級注意力模型進行改進,提出了基于可復位特征級注意力的方面級情感分類模型,得到RFWA和RFWSA 兩個模型。在方面級情感分析公開數據集SemEval 2014、Twitter 上進行測試后,實驗結果表明,兩個模型在取得與現有主流模型相當分類效果的情況下,在參數利用率上具有明顯的優勢。