陳德剛,艾孜爾古麗
(新疆師范大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,新疆 烏魯木齊 830054)
情感分析領(lǐng)域[1],也被稱為觀點(diǎn)挖掘,主要通過(guò)NLP相關(guān)技術(shù)對(duì)于用戶所產(chǎn)生的文本評(píng)論信息中帶有情緒的內(nèi)容進(jìn)行分析處理,判別其情感傾向。傳統(tǒng)的情感詞典方法,對(duì)于情感詞典資源的需求尤為重要,并且語(yǔ)法規(guī)則設(shè)定的優(yōu)劣,決定了文本情感傾向分析結(jié)果準(zhǔn)確率的上限。而采用機(jī)器學(xué)習(xí)方法,預(yù)處理常需要人工進(jìn)行大量繁瑣的特征工程,消耗大量的精力,也存在特征矩陣稀疏等問題。
而近年來(lái)深度學(xué)習(xí)迎來(lái)新生,CNN[2]利用卷積滑動(dòng)窗口提取文本的局部有效特征,再通過(guò)池化操作進(jìn)一步降低特征維度,但仍存在解釋性不強(qiáng)的缺陷。RNN[3]循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)于序列文本雖能較好提取上下文內(nèi)容,但對(duì)于過(guò)長(zhǎng)序列可能會(huì)出現(xiàn)梯度爆炸或梯度消失等情況。后續(xù)出現(xiàn)了改進(jìn)的GRU[4]與LSTM[5]模型,解決了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)于較長(zhǎng)信息可能會(huì)出現(xiàn)語(yǔ)義丟失的問題。谷歌[6]深度闡述了注意力機(jī)制,即使不使用RNN、CNN等網(wǎng)絡(luò),單一注意力機(jī)制在圖像、文字工程領(lǐng)域也能取得較好收益。
基于上述方法,提出了一種Tri-BiGRU-Atten模型,結(jié)合GRU與注意力機(jī)制的優(yōu)點(diǎn),在多特征融合下,形成多通道平行輸入,大大提高了模型挖掘深層情感語(yǔ)義特征,且在情感決策分類層前引入特征圖擾動(dòng)Disout[7]技術(shù)。
深度學(xué)習(xí)技術(shù)的不斷發(fā)展,近年來(lái)越來(lái)越受人們所關(guān)注,在NLP領(lǐng)域大受人們歡迎。在用CNN進(jìn)行情感識(shí)別領(lǐng)域中,Poria等[8]構(gòu)建了七層深度卷積CNN模型,并將其與其它網(wǎng)絡(luò)模型集成分類器,以判定文本中每個(gè)詞是否為Aspect詞。Lai等[9]將RNN和CNN結(jié)合起來(lái),利用前后雙向RNN將文本中當(dāng)前詞的前后詞與該詞連接起來(lái),再通過(guò)池化操作,能夠比較均勻獲取該詞的上下文信息。Wang等[10]為篇章級(jí)文本情感分析提供了一種新思路,即按文本句子區(qū)域劃分的CNN-LSTM結(jié)構(gòu)。首先利用CNN對(duì)每個(gè)區(qū)域特征的特征進(jìn)行提取,對(duì)于包含情感信息區(qū)域分配較大權(quán)重,反之亦然。再利用LSTM結(jié)構(gòu)提取區(qū)域文本的序列時(shí)序關(guān)系,最后使用線性解碼器獲得最終預(yù)測(cè)結(jié)果。梁斌等[11]利用CNN與attention機(jī)制,將輸入文本先經(jīng)過(guò)注意力提取詞性和位置特征以利用,再通過(guò)卷積挖掘文本語(yǔ)義信息,這表明了attention這種機(jī)制在文本預(yù)測(cè)情感傾向時(shí)會(huì)有更好表現(xiàn),并能更好解釋模型中關(guān)鍵詞對(duì)于文本情感傾向分析的影響。Nikolaos等[12]在論文中,將RNN與attention機(jī)制結(jié)合起來(lái)。提出了HAN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中編碼階段使用了詞等級(jí)和句子等級(jí)兩層attention機(jī)制。其中單詞編碼器和句子等級(jí)編碼器均使用了雙向GRU編碼,各句子及詞語(yǔ)在分類任務(wù)時(shí)的重要性占比都能較好表現(xiàn)出來(lái)。Ji等[13]將詞匯特征與位置特征相結(jié)合,引入雙向GRU與多頭注意力機(jī)制,在情感分析任務(wù)取得較高成效。
綜上所述,本文提出了基于多通道的注意力機(jī)制情感分析模型Tri-BiGRU-Atten,BiGRU解決了CNN固定的卷積核尺寸視野比較有限,很難獲得更長(zhǎng)的序列語(yǔ)義有效信息,導(dǎo)致長(zhǎng)序列輸入部分語(yǔ)義特征表達(dá)缺失等問題。多通道輸入基礎(chǔ)上,引入了attention機(jī)制與特征圖擾動(dòng)Disout算法,在解決了單一RNN、CNN解釋性不強(qiáng)問題的同時(shí),也能充分挖掘輸入情感文本的深層語(yǔ)義,而Disout算法有效增強(qiáng)了模型泛化性能,相較于現(xiàn)有模型具備更好分類結(jié)果。
本文提出的Tri-BiGRU-Atten模型利用雙向GRU在嵌入層分別接收來(lái)自3個(gè)平行通道的融合特征,來(lái)實(shí)現(xiàn)充分挖掘文本中的情感隱藏信息,以提高模型分類性能。Tri-BiGRU-Atten整體結(jié)構(gòu)如圖1所示,主要由嵌入層、多通道層、融合層、自注意力層、Disout層以及情感輸出層。
圖1 Tri-BiGRU-Atten結(jié)構(gòu)模型
詞嵌入層是由詞向量與詞性向量、位置向量、依存句法向量分別組合形成三通道平行輸入模型。
2.1.1 詞向量
詞向量傳統(tǒng)常用的是one-hot編碼表示,這種方法比較簡(jiǎn)單直接,但它的向量矩陣緯度高且存在稀疏,容易造成維度困難,難以訓(xùn)練。而且one-hot編碼固有的算法思想決定了詞語(yǔ)之間的向量表示相互正交,如果將其用于情感分析任務(wù),會(huì)缺失意想不到的重要信息,對(duì)下層模型訓(xùn)練造成較大影響。因此,Mikolov等[14]提出了Word2Vec算法,其有效解決了one-hot編碼語(yǔ)義缺失的問題,論文提出了CBOW及Skip-gram兩個(gè)模型。其中CBOW模型優(yōu)化如式(1)所示
LossCBOW=∑logp(wi|Context(wi))
(1)
Skip-gram模型優(yōu)化如式(2)
LossSkip-gram=∑logp(Context(wi)|wi)
(2)
通過(guò)比較兩個(gè)需優(yōu)化的損失函數(shù),可以看出兩者所使用的先驗(yàn)概率剛好相反。CBOW模型使用第i位置的w詞的前后信息去預(yù)測(cè)當(dāng)前詞wi的概率,Skip-gram模型則是使用當(dāng)前詞wi去預(yù)測(cè)前后信息。本文實(shí)驗(yàn)我們選擇word2vec詞嵌入方式獲得詞語(yǔ)向量化表示。ti∈Va, 其中第i個(gè)單詞的詞性向量為ti,向量的維度為a。如輸入n長(zhǎng)度的句子s,其向量化矩陣計(jì)算如式(3)所示
Va=t1⊕t2⊕t3…⊕tn
(3)
2.1.2 詞性向量
詞性,即以單個(gè)詞匯為單位,按照它所使用的語(yǔ)言的語(yǔ)法規(guī)則和詞本身的意義不同,將其劃分到不同類別。本文利用HowNet(知網(wǎng))英文情感集合對(duì)原始的輸入文本s進(jìn)行詞性標(biāo)注,再將標(biāo)注后的詞匯信息進(jìn)行特征向量化,形成多維度的連續(xù)值詞性向量矩陣。tagi∈Vb,其中第i個(gè)單詞的詞性向量為tagi,向量的維度為b。如輸入n長(zhǎng)度的句子s,其向量化矩陣計(jì)算如式(4)所示
Vb=tag1⊕tag2⊕tag3…⊕tagn
(4)
通過(guò)將詞性特征向量化輸入,我們可以研究融合詞性特征后特征輸入對(duì)于情感分析任務(wù)的影響。
2.1.3 位置向量
情感分析任務(wù)中應(yīng)用注意力機(jī)制主要是挖掘輸入文本中詞匯之間的相似性,而缺少了對(duì)句子時(shí)間序列信息的挖掘,由于句子的詞序信息也對(duì)模型性能有很大影響,因此我們同樣在輸入層引用位置信息,將原始輸入文本的位置信息進(jìn)行編碼,再和詞向量相結(jié)合,就可以得到位置向量。我們采用Vaswani等[6]在文中提出了正弦位置編碼(sinusoidal position encoding),其計(jì)算如式(5)、式(6)所示
POSE(pos,2i)=sin(pos/100002i/d(model))
(5)
POSE(pos,2i+1)=cos(pos/100002i/d(model))
(6)
其中,i表示輸入文本序列的第i單詞,公式中將pos位置的單詞映射為維度為d的向量,其維度和原始文本的詞向量維度相同,通過(guò)矩陣相加操作[15]即可得到融合位置的特征的位置向量。位置向量可表示為posi∈Vc,其中第i個(gè)單詞的句法特征向量為posi,向量的維度為c。如輸入n長(zhǎng)度的句子s,其計(jì)算如式(7)所示
Vc=pos1⊕pos2⊕pos3…⊕posn
(7)
2.1.4 依存句法向量
依存句法分析是通過(guò)對(duì)輸入文本句子進(jìn)行分析,挖掘句子中存在的句法結(jié)構(gòu)、層次關(guān)系以及詞匯之間的相互依存關(guān)系。將每個(gè)句子分析出的句法特征映射成多維度的連續(xù)值句法矩陣向量化表示。grami∈Vd,其中第i個(gè)單詞的句法特征向量為grami,向量的維度為d。如輸入n長(zhǎng)度的句子s,其向量化矩陣計(jì)算如式(8)所示
Vd=gram1⊕gram2⊕gram3…⊕gramn
(8)
通過(guò)將句法特征向量化輸入,我們可以研究融合各類特征的輸入對(duì)于情感分析任務(wù)的影響。
2.2.1 多通道特征融合
為防止喂入神經(jīng)網(wǎng)絡(luò)的模型過(guò)于復(fù)雜,我們將特征進(jìn)行分別組合拼接,形成如式(9)、式(10)、式(11)
(9)
(10)
(11)
2.2.2 Bi-GRU
GRU即為門控循環(huán)單元(gated recurrent units),它是RNN(recurrent neural network)的一種,GRU是通過(guò)門控機(jī)制對(duì)于進(jìn)入神經(jīng)網(wǎng)絡(luò)的神經(jīng)元狀態(tài)進(jìn)行設(shè)置。GRU在模型上對(duì)LSTM進(jìn)行了改進(jìn),取消了輸出門,只有reset和update兩個(gè)門控機(jī)制。GRU內(nèi)部結(jié)構(gòu)展開如圖2所示。
圖2 GRU內(nèi)部結(jié)構(gòu)
GRU核心算法計(jì)算如式(12)~式(15)所示
rt=σ(Wr·[ht-1,xt])
(12)
zt=σ(Wz·[ht-1,xt])
(13)
(14)
(15)
圖3 Bi-GRU結(jié)構(gòu)
Bi-GRU算法核心如式(16)~式(18)所示
(16)
(17)
(18)
注意力是人腦固有的一種特殊視覺處理方式,依靠這種方式,人將會(huì)更多關(guān)注自己感興趣的局部區(qū)域,而自動(dòng)過(guò)濾掉無(wú)關(guān)信息,以此對(duì)局部區(qū)域進(jìn)行放大來(lái)獲得更多細(xì)節(jié)信息,有效解決了信息量過(guò)大導(dǎo)致難以處理等問題。情感分析任務(wù)同樣如此,通過(guò)對(duì)局部的語(yǔ)義信息放大,減少對(duì)情感分類結(jié)果影響較小的文本內(nèi)容注意力。因此,在模型這層引入注意力機(jī)制,其計(jì)算如式(19)所示
(19)
其中,在NLP領(lǐng)域中,常使用的是自注意力機(jī)制。Key普遍即為Values的值,可以將注意力機(jī)制理解為:首先計(jì)算Query與Values的相似度,其次使用Softmax函數(shù)對(duì)權(quán)重進(jìn)行歸一化處理,最后將權(quán)重與Values進(jìn)行加權(quán)求和,得到最終自注意力計(jì)算結(jié)果。
特征圖擾動(dòng)(feature map distortion,Disout)算法是由華為提出的一種新型算法,它區(qū)別于傳統(tǒng)工業(yè)界常使用的Dropout[16]正則化方法。Dropout是按一定概率p隨機(jī)屏蔽掉部分神經(jīng)元,使其停止工作,減少神經(jīng)網(wǎng)絡(luò)模型對(duì)該部分神經(jīng)元的過(guò)分依賴。Dropout技術(shù)是一種啟發(fā)式的方法,能部分解決模型過(guò)擬合問題,增強(qiáng)其健壯性,但這種方法并不是解決模型過(guò)擬合的最優(yōu)選擇。因此,Tang等[7]研究了一種通過(guò)計(jì)算神經(jīng)網(wǎng)絡(luò)中間層的拉德馬赫爾復(fù)雜度(empirical rademacher complexity,ERC),來(lái)評(píng)估期望風(fēng)險(xiǎn)和經(jīng)驗(yàn)風(fēng)險(xiǎn)間的關(guān)系,建立泛化誤差界限,并在特征映射上引入擾動(dòng),降低ERC值,以提高模型泛化能力。圖4對(duì)比了常規(guī)神經(jīng)網(wǎng)絡(luò)、使用正則化方法Dropout以及Disout這3種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中神經(jīng)元之間的信號(hào)傳遞。
圖4 3種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比
(20)
獲取模型訓(xùn)練的最優(yōu)擾動(dòng)如式(21)所示
(21)
Disout層通過(guò)擾動(dòng)神經(jīng)元,減少了對(duì)部分神經(jīng)元的過(guò)分依賴,增強(qiáng)模型的泛化性能,再將隱藏信息H傳入全連接層,通過(guò)sigmoid函數(shù)將經(jīng)過(guò)非線性變化后的分類結(jié)果輸出。其中輸入的文本都會(huì)匹配0-1之間的標(biāo)簽分類,結(jié)果越接近1,則輸入文本預(yù)測(cè)結(jié)果則為積極,反之亦然。分類計(jì)算如式(22)
(22)
為測(cè)試Tri-BiGRU-Atten模型性能,本文使用公開數(shù)據(jù)集IMDB(www.imdb.com)的50 000條電影影評(píng)數(shù)據(jù)驗(yàn)證模型有效性,其中25 000條正面評(píng)價(jià),25 000條負(fù)面評(píng)價(jià)。我們利用正則表達(dá)式對(duì)數(shù)據(jù)集進(jìn)行了相關(guān)預(yù)處理:清洗掉Html標(biāo)簽、標(biāo)點(diǎn)符號(hào),輸入文本轉(zhuǎn)換為小寫、去掉與情感分析任務(wù)無(wú)意義的相關(guān)詞匯等,最終數(shù)據(jù)集包含88 273個(gè)詞匯。
本文提出的Tri-BiGRU-Atten模型實(shí)質(zhì)是應(yīng)用于NLP領(lǐng)域中的情感分類模型。為驗(yàn)證模型分類的有效性,我們采用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)及F1值(F1-Measure)4項(xiàng)指標(biāo)對(duì)于Tri-BiGRU-Atten性能進(jìn)行評(píng)估。衡量分類模型指標(biāo)的主要成分可以用表1所示的2×2混淆矩陣表示,表1表明了樣本集真實(shí)標(biāo)簽情況分類與實(shí)際預(yù)測(cè)結(jié)果分類之間的相互關(guān)系。
表1 混淆矩陣
其中TP表示正類別樣本能夠正確地被模型預(yù)測(cè)為正類別的數(shù)目;同理,TN表示負(fù)類別樣本能夠正確地被模型預(yù)測(cè)為負(fù)類別的數(shù)目;FP表示負(fù)類別樣本能夠錯(cuò)誤地被模型預(yù)測(cè)為正類別的數(shù)目;FN表示負(fù)類別樣本能夠錯(cuò)誤地被模型預(yù)測(cè)為負(fù)類別的數(shù)目。以下4個(gè)指標(biāo)就是在以上這4種樣本預(yù)測(cè)結(jié)果的基礎(chǔ)上衍生出來(lái)的模型衡量指標(biāo)。
Accuracy即為模型所預(yù)測(cè)正確的所占的比例。其計(jì)算公如式(23)所示
(23)
Precision表示為模型預(yù)測(cè)為正樣本數(shù)中,實(shí)際為正樣本所占的比例。其計(jì)算公如式(24)所示
(24)
Recall表示為樣本集中的所有正樣本數(shù),實(shí)際被預(yù)測(cè)為正樣本所占的比例。其計(jì)算公如式(25)所示
(25)
現(xiàn)實(shí)實(shí)驗(yàn)中,Precision和Recall值的一方過(guò)高一方過(guò)低都會(huì)對(duì)模型性能優(yōu)劣造成影響。因此,在二者的基礎(chǔ)上引用了F1值,算法上,它是兩者的加權(quán)平均,它有效解決了樣本集分布不平衡所造成的難以評(píng)估等情況,F(xiàn)1值是Precision和Recall值的綜合評(píng)價(jià),本實(shí)驗(yàn)中設(shè)置的β系數(shù)為1,其計(jì)算公如式(26)所示
(26)
模型數(shù)據(jù)處理采用了Stanford CoreNLP工具對(duì)IMDB數(shù)據(jù)集進(jìn)行分詞、詞性標(biāo)注、句法依存分析。貫穿整個(gè)實(shí)驗(yàn),訓(xùn)練設(shè)置的詞向量維度為300,其余特征向量維度都是30。其中輸入句子的最大長(zhǎng)度設(shè)置為400,訓(xùn)練中的Batch_Size的大小為32,全連接層正則化L2參數(shù)為0.001,實(shí)驗(yàn)環(huán)境見表2。
表2 實(shí)驗(yàn)環(huán)境
3.4.1 不同特征組合分析
為驗(yàn)證本文提出的模型在多重特征融合的情況下能夠獲得最高性能,我們?cè)跇?gòu)建的BiGRU-Atten模型上,對(duì)比原始向量(Original)輸入,以及單(Single)、雙(Double)、三(Triple)通道條件下的特征融合輸入見表3。表中W表示原始詞向量,T表示詞性向量,P表示位置向量,G表示句法依存向量,W+T即表示詞特征與詞性特征融合。
表3 不同特征融合實(shí)驗(yàn)對(duì)比
對(duì)比實(shí)驗(yàn)結(jié)果表明,原始文本特征基礎(chǔ)上,每附加一種特征能夠有效提升模型性能,但通道數(shù)較少情況下,收益并不算高。而隨著通道數(shù)量增加,附加特征種類越多,在結(jié)合詞向量、位置向量、依存句法向量、詞性向量后,能夠深度挖掘語(yǔ)義信息,在Accuracy指標(biāo)上取得最高成績(jī)。三通道條件下的特征融合模型比起原始、單、雙通道模型能挖掘更多的語(yǔ)義特征,說(shuō)明該3種附加詞匯特征并不存在特征冗余,詞匯特征越豐富對(duì)于模型分類性能效果越顯著。
3.4.2 不同特征擾動(dòng)形式
為驗(yàn)證采用Disout技術(shù)處理神經(jīng)網(wǎng)絡(luò)過(guò)擬合方法優(yōu)于現(xiàn)在常使用的Dropout技術(shù),我們同樣在我們所構(gòu)建的Tri-BiGRU-Atten模型基礎(chǔ)上,將Disout層替換為使用Dropout層進(jìn)行對(duì)比實(shí)驗(yàn)。Dropout層參數(shù)設(shè)置為0.5,即隨機(jī)失活50%的神經(jīng)元,而Disout層需設(shè)置3個(gè)參數(shù),dist_prob為0.5,block_size為1,alpha為0.5。其中dist_prob代表元素?cái)_動(dòng)的概率,block_size為擾動(dòng)的尺寸大小,alpha即Disout方法特征圖擾動(dòng)的強(qiáng)度大小。實(shí)驗(yàn)結(jié)果對(duì)比見表4。
表4 Dropout與Disout方法對(duì)比
利用Disout技術(shù),在3個(gè)指標(biāo)上均高于Dropout方法,僅在Precison率上低了0.2%,因此本模型在特征擾動(dòng)形式上采用Disout方法,相較于Dropout隨機(jī)失活神經(jīng)元的方法也更具備理論支撐。
3.4.3 不同模型評(píng)判
如圖5所示,本節(jié)將構(gòu)建的Tri-BiGRU-Atten模型與其它模型在IMDB數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)比較。相比于傳統(tǒng)LSTM、BiLSTM、兩層CNN、CNN-LSTM[10]以及文獻(xiàn)[13]提出的MA-BGRU模型等,我們模型的性能在Accuracy、Precision、Recall、F1值均高于以上模型,驗(yàn)證我們模型充分挖掘了情感文本的深層語(yǔ)義信息。
圖5 不同模型對(duì)比
通過(guò)上述實(shí)驗(yàn),可以驗(yàn)證本文提出的Tri-BiGRU-Atten模型融合不同詞匯特征輸入,能夠充分提高模型語(yǔ)義信息提取能力。而采用自注意力機(jī)制能將更多網(wǎng)絡(luò)權(quán)重分配給情感特征,便于模型下層情感極性分類,Disout技術(shù)優(yōu)于傳統(tǒng)特征擾動(dòng)形式,能更好提高模型泛化性能。在情感分析任務(wù)上,我們構(gòu)建的模型結(jié)合了特征融合的多通道雙向門控注意力機(jī)制取得最優(yōu)結(jié)果,驗(yàn)證本模型可為情感分析任務(wù)提供理論依據(jù)。
本文提出了一種基于多通道雙向門控注意機(jī)制的情感分析模型(Tri-BiGRU-Atten),它針對(duì)文本情感分析任務(wù)能夠發(fā)揮較好效果。該模型結(jié)合人類所認(rèn)知的詞匯、詞性、詞序位置、句法依存多重特征融合進(jìn)行建模??紤]到多重特征輸入會(huì)增加模型復(fù)雜度,我們構(gòu)建了三道并行通道將不同特征相互融合利用雙向門控循環(huán)單元GRU分別提取上下文隱藏表示,再將提取的隱藏信息進(jìn)行融合操作,添加注意力機(jī)制深度挖掘語(yǔ)義關(guān)系,利用Disout技術(shù)提高模型魯棒性,在文本情感分析任務(wù)上具備有效性。下一步工作中,我們將對(duì)現(xiàn)有模型進(jìn)一步優(yōu)化,并嘗試融合其它特征進(jìn)行建模,以提高模型性能。