李儉兵,王 俊,許萌萌,王 成
(1.重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065;2.重慶信科設(shè)計(jì)有限公司,重慶 401121)
隨著信息技術(shù)的高速發(fā)展,推特(Twitter)、臉書(Facebook)等社交平臺(tái)每天會(huì)產(chǎn)生數(shù)以億計(jì)的文本數(shù)據(jù)。Twitter是巨大信息的來源,每天產(chǎn)生超過5億條推文[1]。龐大的推文(Tweet)提供了豐富的人際互動(dòng)信息,從中挖掘情感極性[2]可以獲取更多有用的信息。本文主要分析Twitter數(shù)據(jù)集的情感極性。
情感分析(Sentiment analysis)又稱意見挖掘[3](Opinion mining),是對(duì)文本數(shù)據(jù)所表達(dá)的情感信息進(jìn)行挖掘、分析的過程。從文本的粒度[4]來看,可以分為詞語級(jí)別、句子級(jí)別和篇章級(jí)別的情感分析。在基于詞典[5]的方法中,需要機(jī)械化的構(gòu)造情感詞典,對(duì)數(shù)據(jù)進(jìn)行字符串匹配,從而挖掘情感信息。隨著文本規(guī)模的不斷增大,完備的情感詞典很難構(gòu)造,該方法目前已基本不再使用。在基于機(jī)器學(xué)習(xí)的方法中,將文本處理后得到特征后,將特征輸入到分類器中。常用的方法有支持向量機(jī)(Support Vector Machine,SVM)[6]、決策樹[7]、葉斯(Naive Bayesian,NB)[8]等。該方法對(duì)邏輯較強(qiáng)的文本學(xué)習(xí)和復(fù)雜函數(shù)的表達(dá)能力明顯不足,對(duì)復(fù)雜分類問題的泛化能力受到限制。
近年來深度學(xué)習(xí)方法的興起,可以有效地彌補(bǔ)以上方法的缺陷,深度學(xué)習(xí)的方法可以自動(dòng)抽取特征值以及學(xué)習(xí)特征表示[9]。該方法在自然語言處理領(lǐng)域,例如文本分類、情感分析等任務(wù)上也獲得了很多研究成果。Kalchbrenner[10]提出了一種用于情感分類的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)模型,用于處理不同序列長(zhǎng)度的輸入句子。Tai和Socher[11]提出了一個(gè)關(guān)于情感分類的長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)框架,該框架對(duì)特征的語義表示進(jìn)行了改進(jìn)。
本文先對(duì)LSTM輸入序列進(jìn)行跳轉(zhuǎn),再通過LSTM-CNN混合網(wǎng)絡(luò)模型進(jìn)行情感分類。通過實(shí)驗(yàn)驗(yàn)證了該模型相比于LSTM-CNN混合模型在效率和準(zhǔn)確度上均有所提升。
本文的工作是對(duì)Sosa P M.提出的LSTM-CNN模型架構(gòu)[12]進(jìn)行改進(jìn),以下介紹相關(guān)的神經(jīng)網(wǎng)絡(luò)模型。
卷積神經(jīng)網(wǎng)絡(luò)是一種由卷積層和池化層疊加組合而成的前饋神經(jīng)網(wǎng)絡(luò),對(duì)高維特征具有良好的學(xué)習(xí)能力,目前已被廣泛應(yīng)用于圖像處理、語音識(shí)別等領(lǐng)域。2014年,Kim等人[13]創(chuàng)新性的將CNN用于處理文本任務(wù)問題,在幾個(gè)數(shù)據(jù)集上均取得良好的結(jié)果。
圖1 CNN模型
一個(gè)包含n個(gè)詞的句子S={s1,s2,…,sn}可以被表示為二維矩陣的詞向量X=[x1,x2,…,xn],其中x∈Rn*d,d是詞向量的維度,將其輸入到神經(jīng)網(wǎng)絡(luò)卷積層的輸入,經(jīng)過池化層降維后,最終輸出到全連接層。
近年來,針對(duì)循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)具有“記憶性”的優(yōu)點(diǎn),成功將其應(yīng)用在自然語言處理領(lǐng)域。在文本序列中,單詞之間并不是獨(dú)立的,文本的語義與單詞之間的組合有關(guān)。CNN每層之間的神經(jīng)元是無連接的,這種神經(jīng)網(wǎng)絡(luò)無法捕獲輸入文本的上下文依賴信息,而RNN會(huì)對(duì)前面的信息進(jìn)行記憶判斷并應(yīng)用于當(dāng)前的計(jì)算中。傳統(tǒng)的RNN容易出現(xiàn)梯度爆炸和梯度消失等問題,LSTM可以有效解決這些問題,并已成為目前最常使用的循環(huán)神經(jīng)網(wǎng)絡(luò)。LSTM有三個(gè)門來控制信息的保存,分別是:輸入門、遺忘門和輸出門。LSTM通過門控狀態(tài)來控制傳輸狀態(tài),記住需要長(zhǎng)時(shí)間記憶的,忘記不重要的信息,從而更好地從整體上理解文本的情感。
圖2 LSTM模型
LSTM-CNN模型結(jié)合LSTM和CNN的優(yōu)點(diǎn),其中LSTM模型可以有效地保留長(zhǎng)文本序列中歷史信息的特征,CNN模型提取局部特征。通過CNN模型進(jìn)一步提取輸入文本的特征,該混合模型使結(jié)果準(zhǔn)確度更高。將推文表示為詞向量作為L(zhǎng)STM的輸入,再依次通過卷積層、池化層和全連接層,最終得到情感分類結(jié)果[12]。
圖3 LSTM-CNN模型
LSTM總是讀取文本的所有輸入內(nèi)容,且較長(zhǎng)序列輸入過程緩慢,對(duì)于文本分類和情感分析等任務(wù),大部分輸入對(duì)預(yù)測(cè)結(jié)果是不需要的。跳轉(zhuǎn)LSTM模型[14]在輸入文本時(shí)跳過無關(guān)的信息,在效率上有了更好的預(yù)測(cè)結(jié)果。
本文基于跳轉(zhuǎn)LSTM模型的預(yù)測(cè)效果的高效性和準(zhǔn)確性,對(duì)Sosa P M.提出的LSTM-CNN模型進(jìn)行改進(jìn)。過程如下:
LSTM-CNN模型在情感分類取得較好的效果,其中LSTM層提取輸入文本的語序信息,CNN提取局部特征[12]。
圖4 跳轉(zhuǎn)機(jī)制
該混合模型分類結(jié)果的準(zhǔn)確度優(yōu)于傳統(tǒng)的CNN、LSTM模型。這里,本文對(duì)LSTM層進(jìn)行改進(jìn),文本序列在通入LSTM層輸出文本特征向量之前,首先計(jì)算跳轉(zhuǎn)概率。
圖5 跳轉(zhuǎn)LSTM-CNN模型
該網(wǎng)絡(luò)模型分為以下三個(gè)部分:
1)計(jì)算跳轉(zhuǎn)概率
假設(shè)輸入詞向量是長(zhǎng)度為T、維度為d的序列:x1,x2,…,xT,記為:x1:T。本文標(biāo)記xt∈Rd是詞向量的第t項(xiàng)。在第t項(xiàng),將前向序列(x1:t-1)的特征編碼為fprecede(t)∈Rp,后向序列(xt+1:T)的特征編碼為ffollow(t)∈Rf。本文將后向序列分為兩部分:局部后向文本、全局后向文本。例如:x1:T中的第t項(xiàng)xt,xt+1:t+m為局部后向序列,xt+1:T為全局后向序列。為了提取后項(xiàng)序列,本文采用微型反向LSTM,反向LSTM從序列最后一項(xiàng)逆序讀取[14]。分別將反向LSTM和CNN的LSTM(t′)、CNN(t′)表示為步驟t的輸出。其中,LSTM(t’)編碼xt′:T的特征,CNN(t′)編碼xt′:t+m的特征。后向序列特征如下:
(1)
本文使用兩層感知機(jī)計(jì)算跳轉(zhuǎn)的概率分布
st=RELU(W1[xt;fprecede(t);ffollow(t)]+b1)
(2)
πt=softmax(W2st+b2)
(3)
其中,W1∈Rs*(d+p+f),W2∈R2*s,b1∈Rs,b2∈R2是多層感知機(jī)的權(quán)重和偏置值?!?;”是連接符號(hào),st∈Rs是隱藏層的狀態(tài),πt∈R2表示概率值。
2)跳轉(zhuǎn)后的文本序列通入LSTM網(wǎng)絡(luò)
對(duì)于概率值πt,本文選定閾值為0.5,當(dāng)πt<0.5時(shí),跳過該輸入單詞,隱藏層不進(jìn)行更新,即ht=ht-1。
當(dāng)πt>0.5時(shí),模型處理輸入文本序列同標(biāo)準(zhǔn)LSTM模型。LSTM內(nèi)部含有3個(gè)控制門和一個(gè)記憶單元,用來記憶和存儲(chǔ)當(dāng)前時(shí)刻的信息。將LSTM單元公式化,如下所示
x=[xt;ht-1]
(4)
(5)
ct=ft⊙ct-1+it⊙tanh(wc·x+bc)
(6)
ht=ot⊙tanh(ct)
(7)
其中,Wf、Wi、Wo∈Rd*2d分別為L(zhǎng)STM中的遺忘單元f、輸入單元i和輸出單元o的權(quán)重矩陣,bf、bi、bo∈Rd是LSTM的偏置向量,這些值會(huì)在訓(xùn)練的過程中更新。[;]表示向量拼接,σ和tanh分別為sigmoid激活函數(shù)和雙曲函數(shù)。
從改進(jìn)后的LSTM中輸出的各隱藏層向量h1,h2,…,hL,是輸入數(shù)據(jù)的一個(gè)高級(jí)抽象表示,里面含有輸入序列文本數(shù)據(jù)的語義信息,輸入到CNN的卷積層中。
3)將LSTM的輸出通過CNN進(jìn)一步提取其特征
本文使用卷積層進(jìn)行提取重要特征,卷積操作中的濾波器大小w∈Rh*d,這個(gè)濾波器和j個(gè)隱藏層輸出的向量進(jìn)行卷積操作,進(jìn)而產(chǎn)生的一個(gè)新的特征。例如,從一個(gè)窗口大小的單詞hi:i+j-1產(chǎn)生一個(gè)特征ci
ci=f(W·hi:i+j-1+b)
(8)
卷積層在NLP只進(jìn)行一維的滑動(dòng),卷積核的寬度與隱藏層輸出向量的維度相同,濾波器被應(yīng)用在每一個(gè)可能的單詞{h1:j,h2:j,hL-j+1:L},產(chǎn)生的特征圖為
c=[c1,c2,…,cL-j+1]
(9)
(10)
以上為單一大小的卷積核,文本使用多個(gè)大小的卷積核,數(shù)量為z,將池化層的輸出串聯(lián)作為全連接層的輸入,全連接層負(fù)責(zé)情感分類,得到結(jié)果,如下所示
V=v1⊕v2⊕…⊕vz
(11)
P(y|V,Wfc,bfc)=softmax(Wfc·V+bfc)
(12)
其中,⊕表示串聯(lián)操作,V表示模型在多個(gè)不同大小的卷積核生成結(jié)果的串聯(lián),z表示選取了幾種卷積核的數(shù)量,Wfc為全連接層的權(quán)重,bfc為偏置值,y∈{+1,-1},代表情感類別,這里是二分類。
在該混合網(wǎng)絡(luò)模型中,本文使用梯度下降法更新所有的參數(shù)θ
(13)
式中,λ為學(xué)習(xí)率。
本文采用交叉熵代價(jià)函數(shù),同時(shí)為了避免過擬合,加入L2正則化優(yōu)化模型,定義如下
(14)
本文使用的Twitter數(shù)據(jù)集是密歇根大學(xué)Kaggle競(jìng)賽數(shù)據(jù)集[15]和Neik Sanders創(chuàng)建的“Twitter情感語料庫”的組合[16],其中包含標(biāo)記為“positive”或“negative”的1578627條推文。
在跳轉(zhuǎn)部分,本文使用梯度下降法來優(yōu)化所有訓(xùn)練的參數(shù),將其初始學(xué)習(xí)率設(shè)置為0.001,將參數(shù){h,d,p,f,s,h’}分別設(shè)置為{300,300,300,20,20},CNN的濾波器尺寸為{[3,300,1,60],[4,300,1,60],[5,300,1,60]}。
實(shí)驗(yàn)中,LSTM隱藏層輸出詞向量的維度設(shè)為300,卷積神經(jīng)網(wǎng)絡(luò)部分的參數(shù)與Kim[13]的卷積神經(jīng)網(wǎng)絡(luò)參數(shù)相似,使用RELU激活函數(shù),卷積核大小分別為[3,4,5],每個(gè)卷積核數(shù)量為100,dropout設(shè)置為0.5,batch_size為64,池化層采用最大池化。所有權(quán)重矩陣的初始值服從均勻分布U(-0.1,0.1),偏置值初始化為0。
文本采用準(zhǔn)確率來評(píng)估情感分析效果,定義如下
(15)
其中,T是預(yù)測(cè)正確的樣本數(shù),N是樣本的總數(shù)。準(zhǔn)確率如下:
表1 神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確率對(duì)比
為了進(jìn)行結(jié)果分析,將文本提出的模型與Sosa P M.提出的CNN,LSTM-CNN和CNN-LSTM模型進(jìn)行了比較。在本文中,跳轉(zhuǎn)LSTM-CNN模型比混合LSTM-CNN模型高4.3%,其準(zhǔn)確率明顯高于模型LSTM-CNN、CNN-LSTM和LSTM。該模型在情感分析任務(wù)上取得較好的效果,這表明跳轉(zhuǎn)機(jī)制在跳過無關(guān)序列后,擁有更強(qiáng)的特征提取能力,提高了分類的準(zhǔn)確性。
本文在Sosa P M提出的LSTM-CNN模型的基礎(chǔ)上,提出一種基于跳轉(zhuǎn)的LSTM-CNN模型。即LSTM-CNN模型前加入跳轉(zhuǎn)機(jī)制,跳過大量對(duì)情感極性沒有幫助的文本,明顯提高序列讀取效率。再結(jié)合LSTM和CNN的各自優(yōu)勢(shì),對(duì)推文進(jìn)行特征提取。通過實(shí)驗(yàn)結(jié)果可知本文提出的跳轉(zhuǎn)LSTM-CNN模型在保證較高的準(zhǔn)確率前提下,明顯提高對(duì)文本數(shù)據(jù)的分類效率。但該實(shí)驗(yàn)還有進(jìn)一步完善和改進(jìn)的空間。例如,可以在深度神經(jīng)網(wǎng)絡(luò)中加入Attention注意力機(jī)制,通過對(duì)文本序列詞語自動(dòng)加權(quán),來獲取情感關(guān)鍵詞進(jìn)行重點(diǎn)關(guān)注,提取出更強(qiáng)的情感特征,使模型有更高的準(zhǔn)確率。