宋煥民,張云華
(浙江理工大學 信息學院,杭州 310018)
方面級別的情感分類是情感分析中的一項細粒度任務(wù)[1],它能夠提供更完整,更深入的結(jié)果。本文在方面級別的情感分類任務(wù)中發(fā)現(xiàn),句子的情感極性與句子內(nèi)容以及所屬的方面高度相關(guān)。例如,句子“I liked the service and the staff,but not the food”中包含“service”和“food”兩個方面。“service”方面它是積極的,而在“food”方面則是消極的。同一個句子中不同方面的情感極性可能不同,甚至是相反的。神經(jīng)網(wǎng)絡(luò)已在各種NLP(Natural Language Processing)任務(wù)中達到了非常好的性能[2]。如機器翻譯、語義識別和智能問答等。但是,處理方面級別情感分類的神經(jīng)網(wǎng)絡(luò)模型還處在初期階段。Zhou等人[3]提出基于特定方面的關(guān)系分類模型;Liu 等人[4]利用區(qū)域卷積神經(jīng)網(wǎng)絡(luò)和分層長短期記憶網(wǎng)絡(luò)結(jié)合的深度分層網(wǎng)絡(luò)模型,處理方面情感分析任務(wù)?,F(xiàn)有方法可以提取特定方面的隱藏特征信息,但每次只能處理句子的一個特定方面。對于包含多個不同方面的句子需要重復(fù)輸入,存在計算及訓(xùn)練時間過長的問題。
為了解決上述問題,本文提出基于BiGRU 結(jié)合方面注意力模塊[5]的情感分類模型。首先采用雙向GRU 神經(jīng)網(wǎng)絡(luò)編碼輸入,然后使用多個方面注意力模塊解碼獲得分類結(jié)果。解碼時,多個方面注意力模塊可以同時對句子中不同方面進行情感分類,解決了傳統(tǒng)方法重復(fù)輸入的問題。將句子的輸入向量通過BiGRU 層編碼,縮短了模型的訓(xùn)練時間;BiGRU 層的輸出向量結(jié)合注意力機制,能充分提取句子的關(guān)鍵信息,取得更好的分類效果。
機器學習的方法已較廣泛地被用于方面級情感分析任務(wù)。如Vo 等人[6]采用多種詞向量、情感詞典和池化函數(shù),以自動特征抽取方式,提取對應(yīng)方面的情感極性。Kirit 等人[7]采用情感詞典結(jié)合SVM 的方式,抽取方面級的情感極性。但是,機器學習方法基于復(fù)雜的特征工程,且依賴于大規(guī)模的文本預(yù)處理。
近年來,深度學習在自然語言處理任務(wù)中表現(xiàn)優(yōu)異,相比機器學習方法,極大的減輕了模型對特征工程的依賴,是目前處理情感分類問題的主流方法。如Tang 等人[8]提出的以目標詞為中心,將文本拆分為兩部分,分別以正序和倒序輸入到LSTM 中的TD-LSTM 模型。相比傳統(tǒng)的LSTM 模型不僅效果更佳,且提出的TC-LSTM 模型在TD-LSTM 的基礎(chǔ)上,讓目標詞與上下文之間關(guān)聯(lián),能達到更好的效果。Bao 等人[9]提出了基于雙向LSTM 網(wǎng)絡(luò)和詞語位置信息權(quán)重建模模型,相較于傳統(tǒng)LSTM 模型及利用手工特征的機器學習算法效果更好。Wang 等人[10]提出基于注意力機制的LSTM-ATT 模型,該模型能夠根據(jù)不同方面關(guān)注句子的不同部分,在方面級情感分析任務(wù)中取得了較好的效果。Augenstein等人[11]提出的BiLSTM 網(wǎng)絡(luò)模型,能同時捕捉詞語的前后時序關(guān)系,獲得詞語間的前后依賴關(guān)系。劉洋等人[12]基于GRU 網(wǎng)絡(luò)對時間序列建模,有效提高了預(yù)測的準確性;李驍?shù)热耍?3]采用BiGRU 網(wǎng)絡(luò)處理互聯(lián)網(wǎng)信息輸入序列,能快速準確的提取信息;Rozentald 等人[14]提出了BiGRU 網(wǎng)絡(luò)結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的模型,經(jīng)過多次池化操作再提取文本特征信息進行文本分類。
綜上所述,相關(guān)工作大多集中在BiLSTM 或BiGRU 神經(jīng)網(wǎng)絡(luò)結(jié)合attention 模型的研究上,且在情感分類任務(wù)上有不錯的表現(xiàn)。本文方法是以前人研究成果為基礎(chǔ),采用結(jié)構(gòu)簡單、計算量少、所需存儲空間小的BiGRU 神經(jīng)網(wǎng)絡(luò)和方面注意力模塊混合的網(wǎng)絡(luò)模型,用于方面情感分析。該方法能使句子中的不同方面同時輸入模型并同時處理,為此采用了多個方面注意力模塊。每個方面注意力模塊具有獨立的方面信息及注意力參數(shù),能對特定方面的特征信息進行提取,能夠很好的識別不同方面的情感極性。
2.1.1 GRU
由于LSTM 內(nèi)部結(jié)構(gòu)復(fù)雜計算量大,在模型訓(xùn)練上不僅需要的時間長,而且模型所需參數(shù)也較多。2014 年GRU 模型被提出,其模型結(jié)構(gòu)如圖1 所示。
圖1 GRU 神經(jīng)元結(jié)構(gòu)Fig.1 GRU neuron structure
GRU 模型結(jié)構(gòu)簡單,收斂性好;合并了LSTM的隱層狀態(tài)和單元狀態(tài),需要更少的參數(shù),且效果不低于LSTM 模型。該模型由兩個門控單元組成,一個門控控制更新,另一個門控控制重置。更新控制被帶入的前一時刻的狀態(tài)信息程度;重置控制前一時刻的隱層信息被忽略的程度,忽略的信息越多值越小。GRU 模型更新方式如下:
其中,zt為更新門控在t時刻的狀態(tài);rt為重置門控在t時刻的狀態(tài);ht'是t時刻對應(yīng)的候選激活狀態(tài);ht是t時刻的激活狀態(tài);ht-1是(t -1)時刻的隱層狀態(tài)。
2.1.2 BiGRU
文本情感分類任務(wù)中,要求模型能充分學習文本上下文的信息,將前一時刻的狀態(tài)及后一時刻的狀態(tài)關(guān)聯(lián),得出當前時刻的狀態(tài),以提取文本深層次的特征。BiGRU 是由兩個單向的、方向相反的GRU 構(gòu)成。每一時刻,兩個方向相反的GRU 同時處理輸入,共同決定當前時刻的輸出。圖2 展示了一個沿著時間展開的BiGRU 網(wǎng)絡(luò),其中每個時間步t的輸入為xt。
如圖2 所示,把BiGRU 看作兩個單向的GRU,則前向隱層狀態(tài)和反向隱層狀態(tài)加權(quán)求和,得到t時刻的隱層狀態(tài)。相關(guān)計算如式(5)-式(7):
公式中的GRU()函數(shù)表示對輸入的詞向量進行非線性變換,對詞向量編碼,得到對應(yīng)的隱層狀態(tài);wt是t時刻雙向GRU的前向隱層狀態(tài)的權(quán)重,vt是相應(yīng)的反向隱層狀態(tài)的權(quán)重;bt是t時刻隱層狀態(tài)的偏置。
圖2 BiGRU 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 BiGRU neural network structure
BiGRU -AAM 模型是一個編碼解碼器結(jié)構(gòu),如圖3 所示。輸入層和BiGRU 層是編碼器部分,解碼器部分是由多個方面注意力模塊構(gòu)成。
該方法由如下幾步完成:
(1)輸入
對輸入進行預(yù)處理,通過詞嵌入操作,用詞向量表示每個詞。
(2)BiGRU 層
BiGRU 神經(jīng)網(wǎng)絡(luò)從2 個方向?qū)斎脒M行語義特征提取,得到每個時間步上的隱層狀態(tài)和句子的向量表示。
(3)方面注意力模塊
BiGRU 層輸出的隱層狀態(tài)結(jié)合方面信息,通過注意力操作,可以得到句子特定方面的向量表示。
(4)輸出
特定方面的向量表示在全連接層利用softmax函數(shù)處理,得到句子的最終分類結(jié)果。
本文的情感分類任務(wù)是判斷輸入句子中的各個方面的情感極性。每個方面信息投影為一個多維連續(xù)的值向量,第i個方面的方面向量可以表示為va,i∈Uk,k是方面向量的維度。
2.2.1 編碼器
編碼器部分提取句子的語義特征,包括向前和向后的兩個方向。通過BiGRU 網(wǎng)絡(luò),獲取第t個時間步上的隱藏層狀態(tài)ht,對于長度為n的句子,隱藏層輸出矩陣為:H=[h1,h2,…,hn],即H∈Ud x n。其中,ht∈Ud,d為BiGRU 輸出維度。利用式(8)計算句子的整體向量vs。
2.2.2 解碼器
解碼器部分是多個方面注意力模塊,分別對應(yīng)數(shù)據(jù)集的不同方面。對于包含多個方面的句子,編碼獲得的輸出H分別送入對應(yīng)的方面注意力模塊中。方面向量va,i是每個方面注意力模塊中的方面信息。各個方面的注意力模塊獨立執(zhí)行操作,提取特定方面的隱藏特征。方面注意力模塊由注意力部分、概率部分及重構(gòu)部分組成,結(jié)構(gòu)如圖4 所示。
圖4 方面注意力模塊Fig.4 Aspect attention module
注意力部分將方面向量va,i與輸入H中的各個隱層狀態(tài)拼接,然后執(zhí)行注意力操作。加權(quán)平均獲的特定方面文本的向量用vc,i表示,計算公式如下:
其中,i表示第i個方面注意力模塊;Wa,i∈Ud + k表示注意力的權(quán)重矩陣;b a,i∈U表示注意力的偏置。
概率部分得到各個情感極性的分類概率。特定方面文本的向量vc,i經(jīng)過全連接層,由softmax 函數(shù)計算輸入樣本在每個分類上的概率并輸出。計算公式如下:
其中,pi=[p i,1,pi,2,…,p i,C];Wp,i∈UC×d是全連接層的權(quán)重矩陣;bp,i∈UC是全連接層的偏置;c是類別數(shù)。
重構(gòu)部分對有關(guān)特定方面文本的向量vc,i進行重構(gòu),得到句子整體向量vs在特定方面的情感分類的新向量。通過分類概率對vc,i重構(gòu),可以獲得多個重構(gòu)文本,重構(gòu)文本的向量ri=[ri,1,ri,2,…,ri,C],計算公式如下:
其中,ri,j∈Ud,j=1,2,…,c是類別數(shù)。
BiGRU-AAM 網(wǎng)絡(luò)模型的訓(xùn)練采用Pytorch 深度學習框架,編程語言為Python3.6;運行環(huán)境為Pycharm Ubuntu16 系統(tǒng),內(nèi)存大小為16GB。實驗?zāi)P偷挠?xùn)練使用反向傳播算法,利用式(12)中的損失函數(shù)優(yōu)化模型。該損失函數(shù)由2 個折頁損失函數(shù)組成。L(θ)函數(shù)讓每個方面注意力模塊輸出中,真實情感極性概率盡可能大,且讓其它類別的概率盡可能?。籎(θ)函數(shù)使每個方面注意力模塊輸出的重構(gòu)文本的向量表示中,真實情感極性的向量表示與句子整體向量表示vs趨近。計算過程如下:
其中,m表示第m個輸入樣本,ym,i表示第m個輸入樣本在第i個方面的真實情感極性。
由于方面情感分類任務(wù)需要判斷其不同的方面的情感極性,實驗采用SemEval2014 任務(wù)4 中的restaurants 數(shù)據(jù)集進行。在restaurant 數(shù)據(jù)集中,包括5 個方面和3 種情感極性,數(shù)據(jù)中每個句子涉及一個或多個不同方面。實驗數(shù)據(jù)詳情見表1。
表1 restaurants 數(shù)據(jù)集Tab.1 Data set
實驗中,詞向量采用word2vec 技術(shù)[15]進行初始化,單詞向量的維數(shù)、方面嵌入及隱藏層大小均為300。采用均勻分布U(-0.01,0.01)進行采樣,來初始化其他參數(shù)。訓(xùn)練的更新規(guī)則采用Kingam 等人[16]提出的Adam 規(guī)則。訓(xùn)練過程中使用dropout機制防止數(shù)據(jù)的過擬合。批處理大小為25,初始學習率為0.01。
為驗證本文方法的有效性,將本文提出的BiGRU -AAM 模型與Bi-LSTM、ATAE-LSTM 和BLSTM-AAM 等經(jīng)典情感分析模型,在restaurant 數(shù)據(jù)集上進行對比實驗。實驗結(jié)果見表2。
表2 不同模型的實驗結(jié)果Tab.2 Experimental results of different models
實驗結(jié)果對比可以看出,加入方面信息或使用注意力機制,能明顯改善分類效果。體現(xiàn)在評價指標性能方面,就是提高準確率、查全率、F1 值。但是,由于attention 層突出信息的功能是通過不斷加權(quán)計算進行的,因此增加了時間代價。BLSTMAAM 模型的時間代價相對較高。因BLSTM 神經(jīng)網(wǎng)絡(luò)計算相對復(fù)雜,增加了計算時間,并且attention 層在突出重點信息的同時也增加了加權(quán)計算時間。BiGRU-AAM 模型在實驗的評價指標方面優(yōu)于BLSTM-AAM,這兩個實驗?zāi)P途Y(jié)合了attention層,且具有相同的模型結(jié)構(gòu);不同的是前一個模型第一層采用BiGRU 神經(jīng)網(wǎng)絡(luò),另一個采用BiLSTM神經(jīng)網(wǎng)絡(luò)。由實驗結(jié)果可以看出,由于BiGRU 神經(jīng)網(wǎng)絡(luò)比BiLSTM 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡單,減少了計算及參數(shù),使之達到更快的收斂速度。在時間代價指標上,從F1 指標上可以發(fā)現(xiàn),BiGRU 與Attention 的結(jié)合更有效,在方面級情感分類任務(wù)中效果更優(yōu)。
本文提出一種基于BiGRU 與方面注意力模塊的情感分類方法,與廣泛使用的BiLSTM 網(wǎng)絡(luò)結(jié)合attention 的混合模型相比,本文方法能夠提高方面級情感分類的準確率并降低損失率,取得很好的F1評價指標,達到了較好的分類效果,有效地降低了模型的訓(xùn)練時間。實驗結(jié)果表明BiGRU 結(jié)合attention的有效性以及本文方法在方面級情感分類的有效性。