陳 虎,高波涌,陳蓮娜,余 翠
(中國計量大學(xué) 信息工程學(xué)院 浙江省電磁波信息技術(shù)與計量檢測重點實驗室,杭州 310018)
E-mail:gaoby@cjlu.edu.cn
情感分析又稱為意見挖掘,從書面語言分析人們的觀點、情感、評價、態(tài)度,它是自然語言處理中最活躍的研究領(lǐng)域之一[1].在這個互聯(lián)網(wǎng)和社交媒體快速發(fā)展的時代,通過在線大量數(shù)據(jù)的收集、跟蹤得到公眾意見的信息,這些信息數(shù)據(jù)可用于商業(yè),經(jīng)濟甚至政治目的,這使得情緒分析成為極其重要的反饋機制.隨著過去幾年深度學(xué)習(xí)的日益普及、計算機硬件設(shè)備的不斷完善,再加上標記數(shù)據(jù)的日益增大,深度學(xué)習(xí)[2]模型已經(jīng)取代了許多解決各種自然語言處理和計算機視覺任務(wù)的經(jīng)典技術(shù).基于深度學(xué)習(xí)的模型已經(jīng)能夠在若干任務(wù)中實現(xiàn)最先進的性能,包括情緒分析,問題回答,機器翻譯,單詞嵌入和命名實體識別,以及圖像計算機視覺中的分類,物體檢測,圖像分割,圖像生成和無監(jiān)督特征學(xué)習(xí)[3-6].
在自然語言處理領(lǐng)域,深度學(xué)習(xí)方法能夠在一定程度上自動捕獲文本中的語法和語義特征,而不再需要特征工程.由于CNN擅長捕獲空間局部特征及其結(jié)構(gòu)模型的可并行性而被廣泛應(yīng)用于圖像處理領(lǐng)域,一些學(xué)者將其引入自然語言處理任務(wù),在特定數(shù)據(jù)上取得了良好的效果,但CNN不能夠充分捕獲文本序列時序信息,從而無法充分學(xué)習(xí)文本上下文信息.RNN適合處理序列數(shù)據(jù),但是標準的RNN結(jié)構(gòu)無法擺脫時間步驟上的依賴關(guān)系,造成訓(xùn)練時間過長,Yu等人[7]創(chuàng)新性地改進RNN網(wǎng)絡(luò)層次結(jié)構(gòu),提出切片循環(huán)神經(jīng)網(wǎng)絡(luò)(SRNN),使得RNN能夠?qū)崿F(xiàn)并行計算.它將輸入序列進行多次切片處理,形成多個長度相等的最小子序列.因此,循環(huán)單元可以在每個層上同時處理每個子序列,實現(xiàn)并行計算,然后通過多層網(wǎng)絡(luò)進行信息傳遞.由于RNN存在梯度消失和梯度爆炸的問題[8,9],在具體任務(wù)中,SRNN大多采用標準循環(huán)神經(jīng)網(wǎng)絡(luò)的變體如LSTM,GRU等作為循環(huán)單元.但是SRNN切片操作無法避免在網(wǎng)絡(luò)的低層造成長期依賴性的損失,同時其單向結(jié)構(gòu)無法充分利用上下文的語義信息,限制了模型準確性.
針對以上網(wǎng)絡(luò)模型設(shè)計存在的問題,在本文研究中,我們利用GRU作為簡化RNN的改進版本,提出一種Bi-SGRU-Attention模型網(wǎng)絡(luò),將文本切片為多個子序列,在每個子序列上獨立進行雙向RNN特征提取,增強語義提取深度,實現(xiàn)了訓(xùn)練的并行,減少了訓(xùn)練時間.并通過在每個子序列上加入注意力層,突出文本的關(guān)鍵信息和文本序列關(guān)鍵信息,用以彌補切片導(dǎo)致的低層網(wǎng)絡(luò)依賴性的損失.Bi-SGRU-Attention模型在公開數(shù)據(jù)集IMDB上進行實驗,與一些經(jīng)典模型和同類型模型進行比較,本文模型在準確率、損失、F1值和訓(xùn)練時間上取得了較好的效果,在中文酒店評論數(shù)據(jù)集上也驗證了模型的通用性.證明了Bi-SGRU-Attention模型在文本情感分類上的有效性.
從2014年開始,注意力機制在機器翻譯任務(wù)中取得優(yōu)越表現(xiàn),隨后被廣泛運用到其他NLP任務(wù)中,并在文本分類任務(wù)中成為近年來的研究熱點.Yang等人[10]提出分層注意網(wǎng)絡(luò)(HAN)用于文檔分類任務(wù),模型在詞語和句子級別上應(yīng)用了兩個級別的注意力機制,使得模型能夠在構(gòu)建文檔表示時差別對待不同文本信息.王偉等人[11]提出BiGRU-Attention網(wǎng)絡(luò)模型進行文本情感分類,通過雙向GRU對輸入文本進行隱含表示,利用Attention機制提取出關(guān)鍵特征.郭寶震等人[12],采用不同的算法得到兩種詞向量,并將它們輸入雙路卷積神經(jīng)網(wǎng)絡(luò),并結(jié)合注意力機制計算詞語權(quán)重分布,最終將兩種特征進行融合,得到了更加豐富的文本信息,以提高句子分類的準確率.關(guān)鵬飛等人[13]通過對輸入詞向量直接進行Attention權(quán)重分布,以學(xué)習(xí)到增強分類效果的信息,同時使用雙向LSTM對輸入的詞向量進行特征學(xué)習(xí),將語義特征與重點詞特征融合,進行情感極性分析.Wang等人[14]提出了一種基于注意機制的長短期記憶網(wǎng)絡(luò),用于方面級別的情感分類.
近年來,Bert語言模型[15]的提出,刷新了多項自然語言處理領(lǐng)域任務(wù)記錄,但是由于Bert語言模型的龐大性,可復(fù)現(xiàn)性較差,許多學(xué)者大多使用預(yù)訓(xùn)練好的Bert模型進行微調(diào)用于下游任務(wù)中,然而預(yù)訓(xùn)練模型對輸入長度的又有一定的限制,大量的模型參數(shù)也無法避免微調(diào)過程時間過長.Yu等人[7]提出了切片循環(huán)神經(jīng)網(wǎng)絡(luò),突破RNN時間依賴性的瓶頸,并通過多層網(wǎng)絡(luò)進行信息傳遞,在長文本情感分析中取得最高效的解決方案.針對該模型切片導(dǎo)致低層網(wǎng)絡(luò)的長期依賴性損失,Li等人[16]提出了一種斷點信息豐富機制,在不影響并行化的前提下增強子序列間的長期依賴關(guān)系用于情感分析中.
本文算法模型在以往的研究成果的基礎(chǔ)上,主要貢獻如下:
1)基于單向SRNN網(wǎng)絡(luò)結(jié)構(gòu)與傳統(tǒng)雙向RNN改進了雙向GRU傳統(tǒng)的連接結(jié)構(gòu),實現(xiàn)雙向GRU網(wǎng)絡(luò)結(jié)構(gòu)的并行計算,提高雙向GRU網(wǎng)絡(luò)在做文本情感分類任務(wù)中的訓(xùn)練速度.
2)基于改進后形成的Bi-SGRU網(wǎng)絡(luò)結(jié)構(gòu),針對切片導(dǎo)致的低層網(wǎng)絡(luò)長期依賴性的損失,結(jié)合注意力機制實現(xiàn)特有的句子序列級別的局部特征關(guān)注,并在網(wǎng)絡(luò)層的傳遞過程中彌補上述損失,這使得網(wǎng)絡(luò)能夠更深層次的理解句子文本,提高文本特征提取的效果,實現(xiàn)分類精度的提升.
3)通過可視化注意力層權(quán)重進一步驗證注意力層對彌補低層網(wǎng)絡(luò)長期依賴性損失的有效性.
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)被廣泛應(yīng)用于NLP任務(wù),一個標準的RNN由輸入層、隱藏層、輸出層三部分構(gòu)成.將一個多輸入、單輸出的循環(huán)神經(jīng)網(wǎng)絡(luò)按照時間線展開,其連接結(jié)構(gòu)如圖1所示.
圖1 標準RNN連接結(jié)構(gòu)Fig.1 Standard RNN connection structure
假設(shè)輸入長度為8,那么序列(x1,x2,…,x8)輸入RNN模型,當前步驟等待前一步驟計算完成,每一步驟的計算由循環(huán)單元H完成,并使用最后一個隱藏狀態(tài)Y表示整個序列.
由于傳統(tǒng)RNN的連接方式在計算當前隱藏狀態(tài)時需要使用上一時刻隱藏狀態(tài),因此造成RNN不可并行性,當輸入序列過長,計算時間也隨之延長.
Yu等人[7]通過改進RNN網(wǎng)絡(luò)層次結(jié)構(gòu)使RNN能夠?qū)崿F(xiàn)并行計算,提出了切片循環(huán)神經(jīng)網(wǎng)絡(luò),它將輸入序列進行多次切片處理,形成多個長度相等的最小子序列.因此,循環(huán)單元可以在每個層上同時處理每個子序列,實現(xiàn)并行計算,然后通過多層網(wǎng)絡(luò)進行信息傳遞.同時,Yu等人也經(jīng)過推理計算,認為標準RNN是SRNN的一種特殊情況,SRNN能夠比標準RNN獲取到更多的信息,SRNN結(jié)構(gòu)如圖2所示.
SRNN通過將輸入序列劃分成多個長度相等的最小子序列,循環(huán)單元可以在每一層同時處理每個子序列,信息通過層與層之間進行傳遞.設(shè)輸入的序列X長度為T,輸入序列可以表示為:
X=[x1,x2,…,xT]
(1)
其中xi為i時刻的輸入,它可以有多個維度,例如′Word Embeddings′.將X分割為n個等長的子序列,那么每個子序列N的長度t為:
(2)
n為切片的個數(shù),那么X可以表示為:
X=[N1,N2,…,Nn]
(3)
每個子序列可以表示為:
Nm=[x(m-1)*t+1,x(m-1)*t+2,…,xm*t]
(4)
同樣的,對于每個子序列N,又可以被切片為n個子序列,重復(fù)切片操作k次直到達到最底層的最小子序列長度(如圖2所示的第0層),通過k次切片操作,共可以得到k+1層
圖2 SRNN結(jié)構(gòu)Fig.2 SRNN structure
網(wǎng)絡(luò)結(jié)構(gòu),同時第0層的最小子序列長度l0和第0層的最小子序列個數(shù)p0分別為:
(5)
p0=nk
(6)
由于在第m層(m>0)的每個父序列被切片為n塊,因此第m層的子序列個數(shù)pm和第m層子序列長度lm分別為:
pm=nk-m
(7)
lm=n
(8)
如圖2所示,輸入序列長度T為8,進行k為2次切片操作,每一層切片數(shù)n=2,經(jīng)過兩次切片操作后,在第0層得到4個最小子序列,每個最小子序列長度為2.
對于判定一條語句的情感傾向時,我們知道并非所有詞匯對句子含義的表示都有同等作用.同時,對于切片操作造成低層網(wǎng)絡(luò)的長期依賴性損失,通過注意力機制對每個序列的靠前段部分以及靠后段部分予以更大的權(quán)重,當信息傳遞到下一層時,能夠在一定程度上彌補低層網(wǎng)絡(luò)長期依賴性損失.同時,引入注意機制能夠提取對句子含義重要的詞,并匯總這些信息詞的表示用以表示句子向量.本文采用Yang等人[10]使用的單詞級別的注意力權(quán)重計算方式,具體實現(xiàn)步驟:
uij=tanh(Wwhij+bw)
(9)
(10)
(11)
其中,i表示第i個最小子序列,j表示最小子序列i的第j個詞匯,hij表示輸入,uij表示hij在詞注意力層的隱含表示;uw表示一個初始化用以表示上下文的向量,αij表示第i最小子序列中第j個詞匯的權(quán)重,si表示每一個子序列的新的表示.
在當前情感分類研究中,采用傳統(tǒng)雙向RNN與注意力機制結(jié)合使用能夠取得良好的效果,為了提高雙向RNN網(wǎng)絡(luò)模型的訓(xùn)練速度,并加強局部關(guān)注度,我們提出可并行的雙向切片GRU與注意力機制結(jié)合,構(gòu)建Bi-SGRU-Attention情感分類模型,為了清晰展示模型思想,我們還是使用輸入長度為8,最小子序列為2示例,模型結(jié)構(gòu)如圖3所示.
圖3 Bi-SGRU-Attention情感分類模型(以輸入長度為8,最小子序列為2示例)Fig.3 Bi-SGRU-Attention sentiment classification model
接下來詳細介紹每一層的具體操作:
1)輸入層
對如輸入序列的構(gòu)成,我們采用Word2Vec方法先對文本進行預(yù)訓(xùn)練生成詞向量并通過查表的方式形成句子向量,具體操作如下:
首先我們將所有的文本語料Xi,i∈[1,Q],Q為總的文本語料數(shù)量,進行預(yù)處理包括去除特殊字符、分詞.然后采用Word2Vec方法生成詞向量xm,xm的維度為100,m∈[1,M],M為文本中所有不重復(fù)詞匯個數(shù).此處Word2Vec方法采用Skip-Gram模型實現(xiàn).最后,用xij表示文本Xi的第j個詞的詞向量j∈[1,MaxLen],我們將每個句子的長度固定為MaxLen個詞向量構(gòu)成,則句向量Xi可以表示為:
Xi=xi1⊕xi2⊕…⊕xij
(12)
對于輸入序列,我們在兩個方向上分別進行處理:
(13)
(14)
i,j分別表示處理方向上的第i個最小子序列的第j個輸入.
3)Attention層
該層主要是為每個序列單詞分配權(quán)重,首先,對于每個最小子序列,根據(jù)上一層輸出hij,輸入單層感知機MLP以此獲得hij的隱含表示uij,接著使用uij和一個初始化用以表示上下文的向量uw的相似度來衡量單詞的重要性,并通過softmax函數(shù)得到一個歸一化的重要性權(quán)重矩陣αij.最后,通過詞向量加權(quán)求和的方式得到每個最小子序列新的的表示si,實現(xiàn)句子序列級別的局部關(guān)鍵特征關(guān)注.
對于Attention層輸出序列(s1,s2,…,sp0),同樣也在兩個方向上進行處理:
(15)
(16)
我們同樣可以推算出第m層輸出的隱含表示:
(17)
(18)
6)融合層和softmax層
(19)
p=softmax(WYY+bY)
(20)
7)我們采用的損失函數(shù)為:
loss=-∑logpdj
(21)
其中,d表示每條文本語料,j表示標簽.
本實驗所采用的數(shù)據(jù)是公開的IMDB影評數(shù)據(jù)集[17].數(shù)據(jù)集中訓(xùn)練集和測試集分別有25000條數(shù)據(jù),訓(xùn)練集和測試集分別有2個類別,如表1所示.
本實驗采用Python語言進行編程,使用Keras深度學(xué)習(xí)框架(以Tensorflow為底層),實驗運行環(huán)境為Windows10、Anaconda軟件,電腦硬件配置:I7處理器,8GB內(nèi)存.
實驗采用的評估指標有準確率、損失、F1值和訓(xùn)練時間,準確率計算公式為:
(22)
其中,NT表示被正確分類的樣本數(shù)目,NN表示樣本總數(shù).
表1 數(shù)據(jù)集Table 1 Dataset
損失值在每一隨機批量訓(xùn)練過程中,按照損失公式,公式(21)計算得到,F(xiàn)1值兼顧模型查全率(Recall)與查準率(Precision),訓(xùn)練時間采用每次迭代過程平均所花費的時間.
在本文的實驗中,詞嵌入維度設(shè)置為100,每個方向上隱藏層節(jié)點數(shù)設(shè)置為50.在這種情況下,Bi-SGRU為詞匯提供了100個維度表示.Batch_size設(shè)置為32,采用優(yōu)化器:Adam,共迭代10次.模型參數(shù)如表2所示.
表2 實驗?zāi)P蛥?shù)Table 2 Experimental model parameters
本文提出Bi-SGRU-Attention模型的具體實驗步驟如下:
a)從Keras數(shù)據(jù)集中提取IMDB數(shù)據(jù);
b)使用Word2Vec工具訓(xùn)練詞向量;
c)將句子轉(zhuǎn)換成索引表示,并固定長度;
d)每個索引對應(yīng)一個詞向量;
e)將詞向量拼接成詞矩陣,作為模型的嵌入層權(quán)重;
f)將訓(xùn)練文本測試文本分別進行切片處理作為Bi-SGRU-Attention模型的輸入;
g)文本最小子序列索引表示輸入嵌入層,再輸入Bi-SGRU層,提取子序列文本層次特征;
h)將每個子序列經(jīng)過Bi-SGRU提取到的特征輸入到Attention層,分配相應(yīng)的詞向量權(quán)重;
i)經(jīng)過多個網(wǎng)絡(luò)層獲取整個文本序列的特征表示;
j)采用測試集數(shù)據(jù)進行模型評估.
為了確定在IMDB數(shù)據(jù)集上SGRU(n,k)切片的最佳效果,我們采用四種切片方式進行實驗:在MaxLen為125時1種切片方式:SGRU(5,2);在MaxLen為256時2種切片方式:SGRU(16,1)、SGRU(4,3);在MaxLen為512時一種切片方式:SGRU(8,2);實驗結(jié)果如表3所示.
由表3我們可以發(fā)現(xiàn)當k為2,n為8時,即當輸入序列長度為512,每次切片將序列切成8片,并進行2次切片操作時,效果較好.因此我們在進行雙向操作并加入Attention機制進行實驗的時候取k=2,n=8,MaxLen=512.
表3 SGRU不同切片實驗結(jié)果Table 3 SGRU different slice experiment results
將本文提出來的模型與以下7種模型進行比較.對比模型如下:
a)FastText模型.Joulin等人[18]提出的使用N元詞袋模型引入詞序信息,并將輸入向量加權(quán)求平均整合為一,并通過softmax進行分類,實驗采用1元詞袋模型;
b)C-LSTM,Zhou等人[19]提出的用CNN對文本特征進行提取,將這些特征輸入到LSTM中學(xué)習(xí)上下文依賴關(guān)系進行情感分析模型.本實驗設(shè)置濾波器長度為5,池化長度為4;
c)S-BiLSTM模型,Lu等人[20]提出采用2層雙向LSTM網(wǎng)絡(luò)堆疊進行情感分析的模型;
d)BiLSTM-EMB-ATT模型.關(guān)鵬飛等人[13]提出直接在詞向量上采用注意力機制計算每個詞情感權(quán)重分布,并與BiLSTM學(xué)習(xí)的文本特征進行融合的模型;
e)BiGRU-Attention,王偉等人[11]提出使用雙向GRU進行文本特征提取,并采用Attention機制計算單詞情感權(quán)重分布,進行分類的模型;
f)BiLSTM-Attention,與上述BiGRU-Attention模型一樣原理,只是采用了LSTM單元代替GRU;
g)Bi-SGRU模型,采用雙向切片GRU;
h)SGRU-Attention模型,采用單向SGRU,并結(jié)合注意力機制的模型;
對比實驗的具體實驗步驟如下:
a)從Keras數(shù)據(jù)集中提取IMDB數(shù)據(jù);
b)使用Word2Vec工具訓(xùn)練詞向量;
c)將句子轉(zhuǎn)換成索引表示,并固定長度;
d)每個索引對應(yīng)一個詞向量;
e)將詞向量拼接成詞矩陣,作為模型的嵌入層權(quán)重;
f)將訓(xùn)練文本測試文本輸入到上述對比實驗網(wǎng)絡(luò)模型;
g)獲取整個文本序列的特征表示;
h)采用測試集數(shù)據(jù)進行模型評估.
以上實驗詞向量維度均為100,輸入維度為512.實驗迭代次數(shù)均為10次,為了保證實驗?zāi)P妥兞繉拥奈ㄒ恍?,保證實驗可比性,除了模型的變量層功能不同,其他實驗條件都相同.
實驗設(shè)置迭代次數(shù)設(shè)置為10次,各種模型在測試集上最高精度作為模型的準確率,及其對應(yīng)的損失值作為模型損失,以及每次迭代所花費的時間如表4所示.
如表4所示,本文提出的模型在準確率、F1值與損失上取得了最優(yōu)效果,與采用1-gram的FastText模型相比,F(xiàn)astText在訓(xùn)練模型上花費的時間最少,但在準確率、F1值和損失都要比Bi-SGRU-Attention效果差,我們認為采用將所有詞向量加權(quán)取平均的操作不能夠充分的體現(xiàn)詞匯上下文依賴特征,采用N元詞袋模型引入詞序信息,當采用2元詞袋模型實驗時,參數(shù)量巨大,花費時間也將是巨大的,F(xiàn)astText在時間上的優(yōu)勢就沒有那么明顯.C-LSTM模型在所有的實驗?zāi)P椭?,準確率最低,損失最高,我們認為在IMDB數(shù)據(jù)集上采用CNN與RNN串聯(lián)的方式提取文本特征的效果略差.采用兩層雙向LSTM堆疊方式的S-BiLSTM模型,與Bi-SGRU-Attention模型相比較,雙向LSTM堆疊的方式并不能夠突出重要特征,與其他幾種加入Attention機制的模型相比,它的準確率、F1值較低.采用堆疊的方式,在訓(xùn)練時間花費上也要多出很多.與以上幾款經(jīng)典的模型相比較,我們提出的模型更具有優(yōu)勢.
表4 各種模型實驗結(jié)果Table 4 Various models experiment results
以上經(jīng)典模型在模型設(shè)計上與我們提出的模型有很大的差異,為了使實驗更具有說服力,我們對其他加入Attention機制模型進行實驗結(jié)果分析:與BiLSTM- EMB-ATT模型相比,模型都是采用雙向RNN進行特征提取,BiLSTM- EMB-ATT模型對輸入序列同時進行雙向RNN特征表示和利用Attention機制進行詞向量權(quán)重分布表示,并將兩者特征進行融合,而我們的先對劃分的最小子序列進行兩個方向RNN表示,再在每一個子序列隱含表示的基礎(chǔ)上進行詞向量權(quán)重分布表示,BiLSTM- EMB-ATT模型雖然對輸入的文本增強了注意力表示,但是沒有關(guān)注到詞向量權(quán)重分布與RNN在提取文本特征之間的相互關(guān)系,使得模型效果略差.與BiLSTM-Attention模型和BiGRU-Attention模型相比較,這兩個模型,都先對輸入文本進行隱含表示,然后根據(jù)隱含表示計算詞向量的權(quán)重分布,兩者模型都沒有擺脫標準RNN時間步的依賴性,無法實現(xiàn)并行,Bi-SGRU-Attention模型通過切片操作方式,將輸入序列進行劃分,實現(xiàn)了分類模型的可并行性,由表4可以得出結(jié)論,本文提出的模型訓(xùn)練所花費的時間遠遠小于這兩種模型,當輸入的文本序列更長的時候這種優(yōu)勢將更為明顯.同時Bi-SGRU-Attention模型不僅沒有損失BiLSTM-Attention模型和BiGRU-Attention模型提取文本特征的效果,由于將輸入序列劃分成多個子序列進行特征提取的操作方式,信息通過多個網(wǎng)絡(luò)層傳遞,我們的模型還能夠關(guān)注到句子之間的局部特征關(guān)系,使得模型能夠捕獲到更多的信息.因此在各項評估指標中優(yōu)于BiLSTM-Attention模型和BiGRU-Attention模型.
同時,與Bi-SGRU模型作比較,說明了在每個最小子序列上加入Attention機制,能夠?qū)γ總€最小子序列的重點特征實現(xiàn)關(guān)注,彌補低層網(wǎng)絡(luò)長期依賴性損失從而提升模型情感分析效果.與SGRU-Attention模型比較,單向的SGRU模型只能夠使用過去的信息,采用雙向SGRU能夠結(jié)合過去和未來的信息,使得模型能夠更好的理解上下文信息.
為了驗證Attention機制的有效性,我們將Attention層的權(quán)重可視化.
圖4 總輸入序列的注意力權(quán)重圖Fig.4 Attention weight map of the total input sequence
如圖4所示,圖上展示一條影評語料輸入模型,對每個輸入序列(512個輸入片段)的關(guān)注度,通過觀察發(fā)現(xiàn)Attention機制能夠?qū)φZ料的局部特征進行關(guān)注.前半段(圖上區(qū)域①范圍)為填充段,這些子序列的注意力層基本呈現(xiàn)相同的關(guān)注度.具體一個填充段的子序列注意力權(quán)重如圖5所示.
圖5 填充段注意力權(quán)重圖Fig.5 Padding segment attention weight map
對于第1個輸入片段到第4個輸入片段,注意力權(quán)重呈階梯狀遞減,第6個輸入片段到最后一個輸入片段注意力權(quán)重呈階梯狀遞增.間接反映了Attention機制能夠?qū)ψ有蛄械那鞍氩糠忠约昂蟀氩糠钟枰躁P(guān)注,這樣通過層與層之間的信息傳遞,這些片段能夠在下一層中提供更多的信息,并以此彌補低層網(wǎng)絡(luò)的長期依賴性損失.
通過對該條影評語料樣本分析,我們選擇其中兩個關(guān)鍵序列進行注意力層權(quán)重輸出,如圖6和圖7所示.
通過圖6與圖7分析發(fā)現(xiàn),除了關(guān)鍵詞得到一定的關(guān)注外(圖6中的′majority′、′Knowles′和圖7中的′stuck′與′basically′),序列的前小部分輸入與后小部分同樣也得到一定的關(guān)注,更加直觀的表明Attention機制能夠?qū)ψ有蛄械那鞍氩糠忠约昂蟀氩糠钟枰躁P(guān)注,同樣能夠彌補切片操作造成的低層網(wǎng)絡(luò)依賴性損失.
圖6 關(guān)鍵序列1注意力權(quán)重圖Fig.6 Key sequence 1 attention weight map
圖7 關(guān)鍵序列2注意力權(quán)重圖Fig.7 Key sequence 2 attention weight map
為了進一步驗證模型的通用性,我們在譚松波中文酒店評論數(shù)據(jù)集ChnSentiCorp-Htl-ba-6000(1)http://download.csdn.net/download/lssc4205/9903298上進行測試,數(shù)據(jù)集具體說明,如表5所示.
表5 酒店評論數(shù)據(jù)集Table 5 Hotel reviews dataset
在中文酒店評論數(shù)據(jù)集上的實驗步驟與在IMDB數(shù)據(jù)集上的實驗步驟僅在數(shù)據(jù)預(yù)處理上有所差別,在加載完數(shù)據(jù)后,中文數(shù)據(jù)需分詞處理,本實驗采用結(jié)巴分詞工具進行分詞.實驗環(huán)境、模型參數(shù)以及評估標準都保持不變.
為了確定在該數(shù)據(jù)集上SGRU(n,k)切片的最佳效果,我們采用與5.4節(jié)相同的四種切片方式進行實驗,結(jié)果如表6所示.
由表6我們可以發(fā)現(xiàn)當k為2,n為8時,即當輸入序列長度為512,每次切片將序列切成8片,并進行2次切片操作時,效果較好.因此我們在進行實驗的時候取k=2,n=8,MaxLen=512.
本次實驗為了驗證模型的通用性,我們僅與王偉等人[11]提出BiGRU-Attention模型對比,實驗結(jié)果如表7所示.
表6 不同切片實驗結(jié)果Table 6 Different slice experiment results
表7 模型通用性實驗結(jié)果Table 7 Model versatility experiment results
如表7所示,本文提出的Bi-SGRU-Attention模型在中文酒店評論數(shù)據(jù)集上依舊表現(xiàn)最好.模型Bi-SGRU與模型SGRU實驗結(jié)果表明雙向切片操作能夠更加充分提取文本語義信息.模型Bi-SGRU-Attention與模型Bi-SGRU實驗結(jié)果表明,加入Attention機制能夠彌補低層網(wǎng)絡(luò)長期以來損失.模型Bi-SGRU-Attention與模型BiGRU-Attention實驗結(jié)果表明,雙向切片循環(huán)神經(jīng)網(wǎng)絡(luò)能夠獲得比傳統(tǒng)雙向循環(huán)神經(jīng)網(wǎng)絡(luò)更深的文本語義信息.同時,充分表明本文所提模型的有效性及通用性.
本文提出的Bi-SGRU-Attention模型,比起廣泛應(yīng)用于情感分析的幾款經(jīng)典模型有著更高的準確率,在同種類型即RNN和Attention機制結(jié)合的模型中,本文模型有著更為穩(wěn)定的效果,且實現(xiàn)了RNN在訓(xùn)練過程中并行性的可能,大大縮減了模型的訓(xùn)練時間,尤其對長文本情感語料進行分析時,有著更為明顯的優(yōu)勢.總體上來看,本文所提出模型改變了傳統(tǒng)雙向RNN網(wǎng)絡(luò)連接方式,在沒有降低網(wǎng)絡(luò)特征提取效果的前提下,有著更快更穩(wěn)定的優(yōu)勢.但是本模型在子序列的特征提取的處理上還是采用標準的RNN處理方式,無法像CNN一樣實現(xiàn)完全的并行,在速度上與CNN網(wǎng)絡(luò)模型還是有著不小的差距.