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