宋煥民,張云華
(浙江理工大學 信息學院,杭州 310018)
方面級別的情感分類是情感分析中的一項細粒度任務[1],它能夠提供更完整,更深入的結果。本文在方面級別的情感分類任務中發現,句子的情感極性與句子內容以及所屬的方面高度相關。例如,句子“I liked the service and the staff,but not the food”中包含“service”和“food”兩個方面?!皊ervice”方面它是積極的,而在“food”方面則是消極的。同一個句子中不同方面的情感極性可能不同,甚至是相反的。神經網絡已在各種NLP(Natural Language Processing)任務中達到了非常好的性能[2]。如機器翻譯、語義識別和智能問答等。但是,處理方面級別情感分類的神經網絡模型還處在初期階段。Zhou等人[3]提出基于特定方面的關系分類模型;Liu等人[4]利用區域卷積神經網絡和分層長短期記憶網絡結合的深度分層網絡模型,處理方面情感分析任務?,F有方法可以提取特定方面的隱藏特征信息,但每次只能處理句子的一個特定方面。對于包含多個不同方面的句子需要重復輸入,存在計算及訓練時間過長的問題。
為了解決上述問題,本文提出基于BiGRU結合方面注意力模塊[5]的情感分類模型。首先采用雙向GRU神經網絡編碼輸入,然后使用多個方面注意力模塊解碼獲得分類結果。解碼時,多個方面注意力模塊可以同時對句子中不同方面進行情感分類,解決了傳統方法重復輸入的問題。將句子的輸入向量通過BiGRU層編碼,縮短了模型的訓練時間;BiGRU層的輸出向量結合注意力機制,能充分提取句子的關鍵信息,取得更好的分類效果。
機器學習的方法已較廣泛地被用于方面級情感分析任務。如Vo等人[6]采用多種詞向量、情感詞典和池化函數,以自動特征抽取方式,提取對應方面的情感極性。Kirit等人[7]采用情感詞典結合SVM的方式,抽取方面級的情感極性。但是,機器學習方法基于復雜的特征工程,且依賴于大規模的文本預處理。
近年來,深度學習在自然語言處理任務中表現優異,相比機器學習方法,極大的減輕了模型對特征工程的依賴,是目前處理情感分類問題的主流方法。如Tang等人[8]提出的以目標詞為中心,將文本拆分為兩部分,分別以正序和倒序輸入到LSTM中的TD-LSTM模型。相比傳統的LSTM模型不僅效果更佳,且提出的TC-LSTM模型在TD-LSTM的基礎上,讓目標詞與上下文之間關聯,能達到更好的效果。Bao等人[9]提出了基于雙向LSTM網絡和詞語位置信息權重建模模型,相較于傳統LSTM模型及利用手工特征的機器學習算法效果更好。Wang等人[10]提出基于注意力機制的LSTM-ATT模型,該模型能夠根據不同方面關注句子的不同部分,在方面級情感分析任務中取得了較好的效果。Augenstein等人[11]提出的BiLSTM網絡模型,能同時捕捉詞語的前后時序關系,獲得詞語間的前后依賴關系。劉洋等人[12]基于GRU網絡對時間序列建模,有效提高了預測的準確性;李驍等人[13]采用BiGRU網絡處理互聯網信息輸入序列,能快速準確的提取信息;Rozentald等人[14]提出了BiGRU網絡結合卷積神經網絡的模型,經過多次池化操作再提取文本特征信息進行文本分類。
綜上所述,相關工作大多集中在BiLSTM或BiGRU神經網絡結合attention模型的研究上,且在情感分類任務上有不錯的表現。本文方法是以前人研究成果為基礎,采用結構簡單、計算量少、所需存儲空間小的BiGRU神經網絡和方面注意力模塊混合的網絡模型,用于方面情感分析。該方法能使句子中的不同方面同時輸入模型并同時處理,為此采用了多個方面注意力模塊。每個方面注意力模塊具有獨立的方面信息及注意力參數,能對特定方面的特征信息進行提取,能夠很好的識別不同方面的情感極性。
2.1.1 GRU
由于LSTM內部結構復雜計算量大,在模型訓練上不僅需要的時間長,而且模型所需參數也較多。2014年GRU模型被提出,其模型結構如圖1所示。
GRU模型結構簡單,收斂性好;合并了LSTM的隱層狀態和單元狀態,需要更少的參數,且效果不低于LSTM模型。該模型由兩個門控單元組成,一個門控控制更新,另一個門控控制重置。更新控制被帶入的前一時刻的狀態信息程度;重置控制前一時刻的隱層信息被忽略的程度,忽略的信息越多值越小。GRU模型更新方式如下:

其中,zt為更新門控在t時刻的狀態;rt為重置門控在t時刻的狀態;ht'是t時刻對應的候選激活狀態;ht是t時刻的激活狀態;ht-1是(t-1)時刻的隱層狀態。2.1.2 BiGRU
文本情感分類任務中,要求模型能充分學習文本上下文的信息,將前一時刻的狀態及后一時刻的狀態關聯,得出當前時刻的狀態,以提取文本深層次的特征。BiGRU是由兩個單向的、方向相反的GRU構成。每一時刻,兩個方向相反的GRU同時處理輸入,共同決定當前時刻的輸出。圖2展示了一個沿著時間展開的BiGRU網絡,其中每個時間步t的輸入為xt。

圖2 BiGRU神經網絡結構Fig.2 BiGRU neural network structure

公式中的GRU()函數表示對輸入的詞向量進行非線性變換,對詞向量編碼,得到對應的隱層狀態;wt是t時刻雙向G R U的前向隱層狀態的權重,vt是相應的反向隱層狀態的權重;bt是t時刻隱層狀態的偏置。
BiGRU-AAM模型是一個編碼解碼器結構,如圖3所示。輸入層和BiGRU層是編碼器部分,解碼器部分是由多個方面注意力模塊構成。

圖3 BiGRU-AAM模型結構Fig.3 BiGRU-AAM model structure
該方法由如下幾步完成:
(1)輸入
對輸入進行預處理,通過詞嵌入操作,用詞向量表示每個詞。
(2)BiGRU層
BiGRU神經網絡從2個方向對輸入進行語義特征提取,得到每個時間步上的隱層狀態和句子的向量表示。
(3)方面注意力模塊
BiGRU層輸出的隱層狀態結合方面信息,通過注意力操作,可以得到句子特定方面的向量表示。
(4)輸出
特定方面的向量表示在全連接層利用softmax函數處理,得到句子的最終分類結果。
本文的情感分類任務是判斷輸入句子中的各個方面的情感極性。每個方面信息投影為一個多維連續的值向量,第i個方面的方面向量可以表示為va,i∈Uk,k是方面向量的維度。
2.2.1 編碼器
編碼器部分提取句子的語義特征,包括向前和向后的兩個方向。通過BiGRU網絡,獲取第t個時間步上的隱藏層狀態ht,對于長度為n的句子,隱藏層輸出矩陣為:H=[h1,h2,…,hn],即H∈Udxn。其中,ht∈Ud,d為BiGRU輸出維度。利用式(8)計算句子的整體向量vs。

2.2.2 解碼器
解碼器部分是多個方面注意力模塊,分別對應數據集的不同方面。對于包含多個方面的句子,編碼獲得的輸出H分別送入對應的方面注意力模塊中。方面向量va,i是每個方面注意力模塊中的方面信息。各個方面的注意力模塊獨立執行操作,提取特定方面的隱藏特征。方面注意力模塊由注意力部分、概率部分及重構部分組成,結構如圖4所示。

圖4 方面注意力模塊Fig.4 Aspect attention module
注意力部分將方面向量va,i與輸入H中的各個隱層狀態拼接,然后執行注意力操作。加權平均獲的特定方面文本的向量用vc,i表示,計算公式如下:

其中,i表示第i個方面注意力模塊;Wa,i∈Ud+k表示注意力的權重矩陣;ba,i∈U表示注意力的偏置。
概率部分得到各個情感極性的分類概率。特定方面文本的向量vc,i經過全連接層,由softmax函數計算輸入樣本在每個分類上的概率并輸出。計算公式如下:

其中,pi=[pi,1,pi,2,…,pi,C];Wp,i∈UC×d是全連接層的權重矩陣;bp,i∈UC是全連接層的偏置;c是類別數。
重構部分對有關特定方面文本的向量vc,i進行重構,得到句子整體向量vs在特定方面的情感分類的新向量。通過分類概率對vc,i重構,可以獲得多個重構文本,重構文本的向量ri=[ri,1,ri,2,…,ri,C],計算公式如下:

其中,ri,j∈Ud,j=1,2,…,c是類別數。
BiGRU-AAM網絡模型的訓練采用Pytorch深度學習框架,編程語言為Python3.6;運行環境為Pycharm Ubuntu16系統,內存大小為16GB。實驗模型的訓練使用反向傳播算法,利用式(12)中的損失函數優化模型。該損失函數由2個折頁損失函數組成。L(θ)函數讓每個方面注意力模塊輸出中,真實情感極性概率盡可能大,且讓其它類別的概率盡可能小;J(θ)函數使每個方面注意力模塊輸出的重構文本的向量表示中,真實情感極性的向量表示與句子整體向量表示vs趨近。計算過程如下:

其中,m表示第m個輸入樣本,ym,i表示第m個輸入樣本在第i個方面的真實情感極性。
由于方面情感分類任務需要判斷其不同的方面的情感極性,實驗采用SemEval2014任務4中的restaurants數據集進行。在restaurant數據集中,包括5個方面和3種情感極性,數據中每個句子涉及一個或多個不同方面。實驗數據詳情見表1。

表1 restaurants數據集Tab.1 Data set
實驗中,詞向量采用word2vec技術[15]進行初始化,單詞向量的維數、方面嵌入及隱藏層大小均為300。采用均勻分布U(-0.01,0.01)進行采樣,來初始化其他參數。訓練的更新規則采用Kingam等人[16]提出的Adam規則。訓練過程中使用dropout機制防止數據的過擬合。批處理大小為25,初始學習率為0.01。
為驗證本文方法的有效性,將本文提出的BiGRU-AAM模型與Bi-LSTM、ATAE-LSTM和BLSTM-AAM等經典情感分析模型,在restaurant數據集上進行對比實驗。實驗結果見表2。

表2 不同模型的實驗結果Tab.2 Experimental results of different models
實驗結果對比可以看出,加入方面信息或使用注意力機制,能明顯改善分類效果。體現在評價指標性能方面,就是提高準確率、查全率、F1值。但是,由于attention層突出信息的功能是通過不斷加權計算進行的,因此增加了時間代價。BLSTMAAM模型的時間代價相對較高。因BLSTM神經網絡計算相對復雜,增加了計算時間,并且attention層在突出重點信息的同時也增加了加權計算時間。BiGRU-AAM模型在實驗的評價指標方面優于BLSTM-AAM,這兩個實驗模型均結合了attention層,且具有相同的模型結構;不同的是前一個模型第一層采用BiGRU神經網絡,另一個采用BiLSTM神經網絡。由實驗結果可以看出,由于BiGRU神經網絡比BiLSTM神經網絡結構簡單,減少了計算及參數,使之達到更快的收斂速度。在時間代價指標上,從F1指標上可以發現,BiGRU與Attention的結合更有效,在方面級情感分類任務中效果更優。
本文提出一種基于BiGRU與方面注意力模塊的情感分類方法,與廣泛使用的BiLSTM網絡結合attention的混合模型相比,本文方法能夠提高方面級情感分類的準確率并降低損失率,取得很好的F1評價指標,達到了較好的分類效果,有效地降低了模型的訓練時間。實驗結果表明BiGRU結合attention的有效性以及本文方法在方面級情感分類的有效性。