謝斌紅,董悅閏,潘理虎,2,張英俊
(1.太原科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原 030024;2.中國(guó)科學(xué)院地理科學(xué)與資源研究所,北京 100101)
文本情感分析又稱意見(jiàn)挖掘或觀點(diǎn)分析[1],是運(yùn)用自然語(yǔ)言處理技術(shù)對(duì)帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納和推理的過(guò)程。情感分類作為其中一項(xiàng)最基本的任務(wù),旨在根據(jù)文本表達(dá)的情緒進(jìn)行自動(dòng)分類[2]。它對(duì)輿情控制、民意調(diào)查及心理學(xué)研究[3]等具有重要的意義,因此,近些年受到了眾多研究者的密切關(guān)注,并取得許多進(jìn)展[4]。
文本情感分類方法的研究經(jīng)歷了基于詞典的方法、基于機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法三個(gè)階段[5]。其中,由于基于深度學(xué)習(xí)的方法具有更強(qiáng)的特征表示,而且還能更好地學(xué)習(xí)從數(shù)據(jù)到情感語(yǔ)義的復(fù)雜映射函數(shù),最重要的是解決了傳統(tǒng)機(jī)器學(xué)習(xí)方法的數(shù)據(jù)稀疏和維度爆炸的問(wèn)題。因此,越來(lái)越多的學(xué)者將深
度學(xué)習(xí)應(yīng)用到文本情感分類領(lǐng)域。Bespalov等[6]提出利用潛在語(yǔ)義分析(latent semantic analysis)來(lái)進(jìn)行初始化詞向量,然后使用帶權(quán)重的n-gram特征的線性組合表征整篇文檔的情感特征。但是利用n-gram特征必須具備關(guān)于整個(gè)文獻(xiàn)庫(kù)和分類的知識(shí),且需要大量人工進(jìn)行處理。Glorot 等[7]使用除噪堆疊自編碼器(stacked denoising autoencoder,SDA)來(lái)解決大量評(píng)論數(shù)據(jù)情感分類中在不同領(lǐng)域中的適應(yīng)性問(wèn)題(domain adaptation)。Socher等[8-10]使用一系列基于遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RNN)的分類模型來(lái)解決文本情感分類問(wèn)題,但是遞歸神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中存在一些梯度爆炸和消失問(wèn)題等缺點(diǎn)。Kim Y[11]則利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)來(lái)對(duì)英文電影評(píng)論進(jìn)行分類,實(shí)驗(yàn)結(jié)果表明,CNN的分類性能明顯優(yōu)于遞歸神經(jīng)網(wǎng)絡(luò)。為了解決RNN梯度消失和梯度爆炸的問(wèn)題,Zhu[12]提出使用長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM),將評(píng)論語(yǔ)句建模成詞序列來(lái)解決情感分類問(wèn)題,該網(wǎng)絡(luò)可以學(xué)習(xí)長(zhǎng)距離依賴信息,對(duì)時(shí)間序列中間隔或延長(zhǎng)較長(zhǎng)的事件處理和預(yù)測(cè)時(shí)比較適用。梁軍等[13]將LSTM模型變型成為基于樹結(jié)構(gòu)的遞歸神經(jīng)網(wǎng)絡(luò),并根據(jù)句子上下文詞語(yǔ)間的相關(guān)性引入情感極性轉(zhuǎn)移模型。如今LSTM 已經(jīng)被應(yīng)用在了許多領(lǐng)域,如機(jī)器翻譯[14]、圖像分析[15]、語(yǔ)音識(shí)別[16]等。由于LSTM解決了梯度爆炸和梯度消失的問(wèn)題;此外,它更加真實(shí)地表征了人類行為、邏輯發(fā)展的認(rèn)知過(guò)程,并且具有對(duì)詞向量依賴小的特點(diǎn),能夠處理更加復(fù)雜的自然語(yǔ)言處理任務(wù),成為當(dāng)下解決自然語(yǔ)言處理問(wèn)題的主流探究方向。
由于自注意力機(jī)制具有可減少神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)所需要的文本特征,降低了任務(wù)的復(fù)雜度,并且能夠有效捕獲遠(yuǎn)距離的特征等優(yōu)點(diǎn),已廣泛應(yīng)用于機(jī)器翻譯[17,18]等自然語(yǔ)言理解任務(wù)中,并取得了較好的效果。另外,詞性作為詞語(yǔ)的關(guān)鍵信息,包含了較豐富的情感信息,通常作為一種輔助特征與詞語(yǔ)等特征相結(jié)合[19,20],并利用CNN或LSTM網(wǎng)絡(luò)對(duì)文本進(jìn)行情感分類,使性能得到了一定提升。
綜上所述,本文將詞語(yǔ)、詞性特征相融合,以LSTM網(wǎng)絡(luò)作為主干網(wǎng),并引入自注意力機(jī)制,提出了一種改進(jìn)的基于多特征LSTM-Self-Attention模型對(duì)文本情感進(jìn)行分類。實(shí)驗(yàn)表明,自注意力機(jī)制和詞性特征可以提高情感分類的效果,比經(jīng)典的LSTM網(wǎng)絡(luò)模型取得了更高的準(zhǔn)確率。
基于多特征LSTM-Self-Attention模型主要由文本預(yù)處理、Word2vec、LSTM、自注意力機(jī)制和SoftMax分類器5部分組成,其模型結(jié)構(gòu)如圖1所示。其中,文本預(yù)處理模塊是將文本處理成詞語(yǔ)的形式,Word2vec模塊是將詞語(yǔ)訓(xùn)練成計(jì)算機(jī)可以理解的稠密向量,LSTM模塊提取出稠密向量中的特征,自注意力機(jī)制模塊是進(jìn)一步提取出特征中對(duì)分類結(jié)果更有影響的特征,最后,使用SoftMax分類器按照提取的重要特征對(duì)文本情感進(jìn)行分類。
圖1 基于多特征LSTM-Attention文本分類模型
表1 部分詞性標(biāo)準(zhǔn)對(duì)照表
在自然語(yǔ)言處理任務(wù)中,首先需要考慮文本信息如何在計(jì)算機(jī)中表示。通常文本信息有離散表示和分布式表示2種方式。文本分類的標(biāo)簽數(shù)量少且相互之間沒(méi)有依存關(guān)系,因此,使用離散表示的方法來(lái)表示文本情感分類的標(biāo)簽yi,例如:高興 [0,0,0,1,0]。本文使用Word2vec[21]將詞語(yǔ)表示成一個(gè)定長(zhǎng)的連續(xù)的稠密的向量(Dense Vector),能夠表征詞語(yǔ)之間存在的相似關(guān)系;Word2vec訓(xùn)練的詞向量能夠包含更多的信息,并且每一維都有特定的含義。它包含了Continuous Bag of Word(CBOW)和Skip-gram 兩種訓(xùn)練模型(如圖2和圖3所示),兩種模型都包括輸入層、投影層、輸出層,其中CBOW 模型利用詞Wt的上下文Wct去預(yù)測(cè)給定詞Wt,而Skip-gram 模型是在已知給定詞Wt的前提下預(yù)測(cè)該詞的上下文Wct。在此,本文使用Word2vec工具的Skip-gram 模型來(lái)訓(xùn)練數(shù)據(jù)集中的每個(gè)詞語(yǔ)以及使用詞性標(biāo)注工具標(biāo)注好的詞性為計(jì)算機(jī)可理解的詞向量和詞性向量。
圖2 CBOW模型 圖3 Skip-gram模型
圖4 LSTM模型單個(gè)神經(jīng)元結(jié)構(gòu)圖
1)遺忘門
遺忘門決定了上一時(shí)刻的單元狀態(tài)ct-1有多少保留到當(dāng)前時(shí)刻ct,它會(huì)根據(jù)上一時(shí)刻隱藏層的輸出結(jié)果ht-1和當(dāng)前時(shí)刻的輸入xt作為輸入,來(lái)決定需要保留和舍棄的信息,實(shí)現(xiàn)對(duì)歷史信息的存儲(chǔ)[22],可以表述為
ft=sigmoid(whfht-1+wxfxt+bf)
(1)
2)輸入門
輸入門用于決定當(dāng)前時(shí)刻xt有多少保留到單元狀態(tài)ct。在t時(shí)刻,輸入門會(huì)根據(jù)上一時(shí)刻 LSTM 單元的輸出結(jié)果ht-1和當(dāng)前時(shí)刻的輸入xt作為輸入,通過(guò)計(jì)算來(lái)決定是否將當(dāng)前信息更新到LSTM-cell中【22】,可以表述為
it=sigmoid(whiht-1+wxixt+bi)
(2)
對(duì)于當(dāng)前的候選記憶單元值cint,其是由當(dāng)前輸入數(shù)據(jù)xt和上一時(shí)刻LSTM隱層單元ht-1輸出結(jié)果決定的【22】,可以表述為
cint=tanh(whcht-1+wxcxt+bcin)
(3)
當(dāng)前時(shí)刻記憶單元狀態(tài)值ct除了由當(dāng)前的候選單元cint以及自身狀態(tài)ct-1,還需要通過(guò)輸入門和遺忘門對(duì)這兩部分因素進(jìn)行調(diào)節(jié)【22】,可以表述為
ct=ft.ct-1+it.cint
(4)
3)輸出門
輸出門來(lái)控制單元狀態(tài)ct有多少輸出到LSTM的當(dāng)前輸出值ht,計(jì)算輸出門ot,用于控制記憶單元狀態(tài)值的輸出[22],可以表述為
ot=sigmoid(whoht-1+wxoxt+bo)
(5)
最后LSTM單元的輸出ht,可以表述為
ht=ot.tanh(ct)
(6)
上述所有式中,“· ”表示逐點(diǎn)乘積。
自注意力機(jī)制是注意力機(jī)制的一種特殊情況,其注意力機(jī)制的基本思想是用來(lái)表示目標(biāo)文本Target中的某一個(gè)元素Query與來(lái)源文本Source中的每個(gè)元素keyi之間的重要程度,公式表示如式(7)所示。而自注意力機(jī)制是表示的是Source內(nèi)部各元素之間或者Target內(nèi)部各元素之間發(fā)生的注意力機(jī)制,即可以理解為Source=Target。自注意力機(jī)制的計(jì)算過(guò)程如圖5所示,主要分為3個(gè)階段。
圖5 注意力機(jī)制計(jì)算過(guò)程
Attention(Query,Source)
(7)
s=wstanh(WwHT+bw)
(8)
階段2是使用SoftMax函數(shù)對(duì)階段1得到的權(quán)重向量s進(jìn)行歸一化處理,得到注意力向量u,例如圖5所示的u=[u1,u2,u3,u4],公式如式(9)所示
(9)
(10)
(11)
最后將特征拼接向量V輸入到SoftMax函數(shù)對(duì)文本情感進(jìn)行分類,并將分類結(jié)果轉(zhuǎn)化為[0,1]之間的概率值。具體計(jì)算公式表述為:
yi=softmax(wcV+bc)
(12)
其中:上式中的softmax函數(shù)的計(jì)算公式為
(13)
其中xiL為式(13)在L層所計(jì)算得到K維矩陣的第i個(gè)分量。
為了驗(yàn)證基于多特征LSTM-Self-Attention模型的有效性,本文采用中文電影評(píng)論數(shù)據(jù)集進(jìn)行驗(yàn)證。實(shí)驗(yàn)分為三組進(jìn)行,實(shí)驗(yàn)一使用LSTM-Self-Attention模型和經(jīng)典的LSTM模型做實(shí)驗(yàn)并進(jìn)行對(duì)比分析;實(shí)驗(yàn)二采用經(jīng)典的LSTM模型和多特征的LSTM模型進(jìn)行實(shí)驗(yàn)對(duì)比;
實(shí)驗(yàn)三采用基于多特征LSTM-Self-Attention模型和經(jīng)典的LSTM模型進(jìn)行實(shí)驗(yàn)對(duì)比分析。
本文的實(shí)驗(yàn)是在 Windows 7系統(tǒng)下進(jìn)行,編程語(yǔ)言為 Python3.6,開(kāi)發(fā)工具為PyCharm,使用到的深度學(xué)習(xí)框架為 TensorFlow。為了證明該模型的有效性,數(shù)據(jù)集是從谷歌公司旗下kaggle網(wǎng)站上提供的豆瓣電影簡(jiǎn)短評(píng)論數(shù)據(jù)集中選取的《復(fù)仇者聯(lián)盟》和《大魚海棠》兩部電影評(píng)論,其情感分為5個(gè)級(jí)別,數(shù)據(jù)形式如表2所示。該數(shù)據(jù)集的情感級(jí)別越高代表對(duì)該電影的喜愛(ài)程度越高,例如5代表非常喜愛(ài)該電影,而1代表非常討厭該電影,由于該數(shù)據(jù)集屬于弱標(biāo)注信息。弱標(biāo)注信息與評(píng)論情感語(yǔ)義有一定的相關(guān)性,因此,可以用作訓(xùn)練情感分類問(wèn)題。但由于使用弱標(biāo)注數(shù)據(jù)的挑戰(zhàn)在于如何盡量減輕數(shù)據(jù)中噪聲對(duì)模型訓(xùn)練過(guò)程的影響,因此,在進(jìn)行訓(xùn)練前還對(duì)該數(shù)據(jù)集進(jìn)行了預(yù)處理,包括去燥,修改評(píng)論與評(píng)分不一致的數(shù)據(jù);替換網(wǎng)絡(luò)用語(yǔ)、表情符號(hào)等。在實(shí)驗(yàn)時(shí)該數(shù)據(jù)集被劃分為3個(gè)子數(shù)據(jù)集,其中,訓(xùn)練集數(shù)據(jù)為11700條,驗(yàn)證集數(shù)據(jù)為1300條,測(cè)試集數(shù)據(jù)為1300條。
表2 電影評(píng)論數(shù)據(jù)
為了評(píng)價(jià)本文提出的分類模型的效果,本文采用文本分類領(lǐng)域常用的評(píng)級(jí)指標(biāo)——準(zhǔn)確率(Accuracy,A)、精確率(Precision,P)和召回率(Recall,R)以及F1值對(duì)模型進(jìn)行檢驗(yàn)。根據(jù)分類結(jié)果建立的混合矩陣如表3所示。
表3 分類結(jié)果混合矩陣
準(zhǔn)確率是指正確分類的樣本數(shù)與樣本總數(shù)之比率,其計(jì)算公式如下
(14)
精確率衡量的是類別的查準(zhǔn)率,體現(xiàn)了分類結(jié)果的準(zhǔn)確程度,其計(jì)算公式如下
(15)
召回率衡量的是類別的查全率,體現(xiàn)了分類結(jié)果的完備性,其計(jì)算公式如下
(16)
F1衡量的是查全率和查準(zhǔn)率的綜合指標(biāo),以及對(duì)它們的偏向程度,其計(jì)算公式如下
(17)
本文對(duì)經(jīng)過(guò)預(yù)處理的電影評(píng)論進(jìn)行實(shí)驗(yàn),經(jīng)過(guò)過(guò)多次訓(xùn)練獲取模型的最優(yōu)超參數(shù)集合如表4所示。
表4 模型訓(xùn)練參數(shù)
在模型訓(xùn)練完成后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,為了直觀觀察分析準(zhǔn)確率和損失值隨著訓(xùn)練次數(shù)迭代的變化情況,本文運(yùn)用Origin工具將訓(xùn)練結(jié)果可視化處理。圖6、圖7分別為本模型在中文電影評(píng)論情感分類的準(zhǔn)確率和損失值的變化圖,其中黑色曲線表示訓(xùn)練集的訓(xùn)練結(jié)果,紅色曲線表示驗(yàn)證集的結(jié)果。由圖中可以看出,在中文電影評(píng)論情感分類的準(zhǔn)確率最終平穩(wěn)在51.0%左右,損失值平穩(wěn)在1.31附近。
圖6 中文電影評(píng)論情感分類準(zhǔn)確率
圖7 中文電影評(píng)論情感分類損失值
三組對(duì)比實(shí)驗(yàn)的結(jié)果如表5所示,從表中可以得出,LSTM-Self-Attention模型[22]的準(zhǔn)確率為50.23%,比LSTM模型[12]的準(zhǔn)確率49.50%提高了0.73%,證明了自注意力機(jī)制能夠提高情感分類的準(zhǔn)確率?;诙嗵卣鱈STM模型[19]的準(zhǔn)確率50.00%,對(duì)比LSTM模型的精確率提高了0.05%,說(shuō)明加入詞性特征能夠些微地提高電影評(píng)論情感分類效果。而本文提出的基于多特征LSTM-Self-Attentionde 的方法準(zhǔn)確率為51.24%,相比經(jīng)典的LSTM模型提高了1.74%,說(shuō)明本文在LSTM模型上加入自注意力機(jī)制和詞性特征能提高電影評(píng)論情感分類的準(zhǔn)確率。
表5 中文電影評(píng)論情感分類結(jié)果
從圖8各個(gè)評(píng)價(jià)指標(biāo)的直方圖可以更加直觀的看出,本文提出的基于多特征LSTM-Self-Attention模型取得更高的分類準(zhǔn)確率,證明本文提出的方法是有效的。
圖8 中文電影評(píng)論情感分類直方圖
針對(duì)傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)存在的梯度消失和梯度爆炸的問(wèn)題,本文使用LSTM模型對(duì)文本情感進(jìn)行分類,為了減少任務(wù)的復(fù)雜度,本文還將自注意力機(jī)制加入到LSTM模型中;此外,為了提高最終的分類效果,文本還將文本的詞性特征作為模型的輸入,并在最后使用中文電影評(píng)價(jià)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié)果表明了本文提出的多特征LSTM-Self-Attention方法的可行性,可以更準(zhǔn)確對(duì)文本情感進(jìn)行分類。但是注意力機(jī)制的缺點(diǎn)也不容小覷,計(jì)算成本的增加使得時(shí)間和空間復(fù)雜度增加,在計(jì)算過(guò)程中如若輸入的文本長(zhǎng)度過(guò)長(zhǎng),計(jì)算量呈爆炸式增長(zhǎng)。此外,相比于經(jīng)典的LSTM模型,LSTM-Self-Attention模型的實(shí)驗(yàn)結(jié)果并沒(méi)有提高很多。下一步工作將對(duì)自注意力機(jī)制進(jìn)行優(yōu)化,減少計(jì)算量,進(jìn)一步提高文本情感分類效率和準(zhǔn)確率。