關(guān)鵬飛,李寶安,呂學(xué)強(qiáng),周建設(shè)
(1. 北京信息科技大學(xué) 網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點(diǎn)實(shí)驗(yàn)室,北京 100101; 2. 首都師范大學(xué) 北京成像技術(shù)高精尖創(chuàng)新中心,北京100048)
隨著互聯(lián)網(wǎng)的發(fā)展,近幾年,網(wǎng)民數(shù)量急劇上升。人們?cè)谛畔⒔换サ倪^(guò)程中,產(chǎn)生了大量的對(duì)諸如人物、事件、產(chǎn)品等有價(jià)值的評(píng)論信息。這些信息表達(dá)了人們的各種感情和情感傾向。通過(guò)對(duì)情感信息的挖掘,可以更好地理解用戶行為,從而預(yù)測(cè)出事件的發(fā)展方向或趨勢(shì)[1]。但隨著信息規(guī)模的急劇膨脹,僅靠人工已經(jīng)不可能完成情感分析工作,所以,使用計(jì)算機(jī)進(jìn)行高效準(zhǔn)確的情感分析工作有著重要的意義。
目前情感分析技術(shù)主要分為三類: 基于情感詞典的方法、基于特征的方法和基于深度學(xué)習(xí)的方法?;谇楦性~典的方法主要根據(jù)文本中的情感詞來(lái)判斷文本的情感傾向,需要人工構(gòu)建情感詞典,結(jié)合情感詞典和人工設(shè)置規(guī)則實(shí)現(xiàn)對(duì)文本的情感分析[2-3]。這種方法基于人類語(yǔ)言的表述方式,通過(guò)情感詞可以反映人的情感傾向,但沒(méi)有考慮到上下文的語(yǔ)義信息?;谔卣鞯姆椒ㄊ遣捎媒y(tǒng)計(jì)學(xué)知識(shí),從大量語(yǔ)料中選取特征,使用這些特征對(duì)文本進(jìn)行表示,然后使用決策樹(shù)、支持向量機(jī)(SVM)等機(jī)器學(xué)習(xí)算法進(jìn)行分類[4-5]。該方法對(duì)經(jīng)驗(yàn)要求較高,特征的選取直接影響分析結(jié)果?;谏疃葘W(xué)習(xí)的方法可以分別對(duì)詞語(yǔ)、句子和篇章進(jìn)行向量化表示,學(xué)習(xí)文本的深層語(yǔ)義信息[6]。該方法有強(qiáng)大的特征學(xué)習(xí)能力,省去了特征選取和規(guī)則制定等步驟。常見(jiàn)的深度學(xué)習(xí)模型有: 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)等。
本文以短文本為情感分析的研究對(duì)象,提出一種注意力增強(qiáng)的雙向LSTM(Bi-directional Long Short-Term Memory,BiLSTM)模型。BiLSTM模型用于獲取文本的語(yǔ)義信息,注意力機(jī)制(Attention Mechanism)用于獲取文本中的關(guān)鍵詞信息。與傳統(tǒng)使用注意力機(jī)制方式不同,本文不再使用注意力機(jī)制學(xué)習(xí)CNN、LSTM等模型的輸出,而是直接在詞向量的基礎(chǔ)上使用注意力模型來(lái)發(fā)現(xiàn)文本中的重要信息。實(shí)驗(yàn)表明該模型在情感分類上取得了較好的效果。
本文將在第1節(jié)介紹使用深度學(xué)習(xí)技術(shù)進(jìn)行情感分析的相關(guān)工作;在第2節(jié)介紹注意力增強(qiáng)的BiLSTM模型的結(jié)構(gòu)及原理;第3節(jié)對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行介紹,并在數(shù)據(jù)集上使用不同模型進(jìn)行對(duì)比;最后一節(jié)對(duì)本論文的工作進(jìn)行總結(jié)并提出展望。
自2006年Hinton等提出深度學(xué)習(xí)后,深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)方面取得了巨大的成就,越來(lái)越多的學(xué)者開(kāi)始將深度學(xué)習(xí)應(yīng)用到自然語(yǔ)言處理領(lǐng)域。由于短文本包含的信息量較少,同時(shí)傳統(tǒng)方法不能發(fā)現(xiàn)文本中的深層語(yǔ)義信息,所以深度學(xué)習(xí)成為情感分析研究的主流方法。
基于深度學(xué)習(xí)的情感分析通常是使用神經(jīng)網(wǎng)絡(luò)將文本表示成一定長(zhǎng)度的向量,所以基于深度學(xué)習(xí)的情感分析可以理解為自動(dòng)學(xué)習(xí)文本編碼然后分類的過(guò)程。Kim等[7]在多個(gè)英文語(yǔ)料上利用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)句子級(jí)別的分類任務(wù),并在相關(guān)電影評(píng)論數(shù)據(jù)集上討論了詞向量預(yù)訓(xùn)練及參數(shù)調(diào)整等細(xì)節(jié)工作。Cao等[8]利用遷移學(xué)習(xí)的思想,將CNN提取的文本特征使用SVM進(jìn)行分類。該方法將傳統(tǒng)機(jī)器學(xué)習(xí)模型和深度學(xué)習(xí)模型相融合,在情感分析任務(wù)上取得不錯(cuò)的效果。馮興杰等[9]使用CNN和注意力機(jī)制在詞向量的基礎(chǔ)上表示文本,相比于CNN網(wǎng)絡(luò)方法有明顯的提高。該模型結(jié)構(gòu)對(duì)本文的工作有很大的啟發(fā)。Qian等[10]通過(guò)改變損失函數(shù)的方式,把情感詞典、否定詞和程度副詞等現(xiàn)有語(yǔ)言規(guī)則融入到句子級(jí)LSTM情感分類模型中,在沒(méi)有增大模型復(fù)雜度的情況下,有效地利用語(yǔ)言學(xué)規(guī)則,在實(shí)驗(yàn)數(shù)據(jù)集上取得了較好效果。張仰森等[11]采用BiLSTM網(wǎng)絡(luò)分別對(duì)微博文本和文本中包含的情感符號(hào)進(jìn)行編碼。該方法通過(guò)將注意力模型和常用網(wǎng)絡(luò)用語(yǔ)的微博情感符號(hào)庫(kù)相結(jié)合,有效增強(qiáng)了對(duì)微博文本情感語(yǔ)義的捕獲能力,提高了微博情感分類的性能。胡朝舉等[12]通過(guò)BiLSTM將主題詞向量和文本詞向量進(jìn)行訓(xùn)練,將得到的主題特征和文本特征進(jìn)行特征融合,經(jīng)過(guò)深層注意力機(jī)制的處理,使模型加強(qiáng)了對(duì)主題特征和情感信息的有效關(guān)注。
現(xiàn)階段基于深度學(xué)習(xí)的情感分析是以發(fā)掘文本語(yǔ)義信息為主,但在情感分析工作中,句中每個(gè)詞對(duì)于整體情感傾向的影響是不同的,尤其是一些情感詞,往往能夠直接反映出人的情感傾向。Qian等[10]雖然使用了注意力機(jī)制學(xué)習(xí)權(quán)重分布,但是在BiLSTM編碼的基礎(chǔ)上進(jìn)行的,沒(méi)有直接從文本中挖掘重點(diǎn)信息。本文提出一種注意力增強(qiáng)的BiLSTM模型,使用注意力機(jī)制直接從詞向量的基礎(chǔ)上學(xué)習(xí)每個(gè)詞對(duì)情感傾向的權(quán)重分布。本模型通過(guò)使用BiLSTM學(xué)習(xí)文本的語(yǔ)義信息,最終使用重點(diǎn)詞增強(qiáng)的方式提升分類效果。
本文采用注意力機(jī)制與BiLSTM結(jié)合的方式,使用BiLSTM學(xué)習(xí)文本語(yǔ)義信息,使用注意力機(jī)制加強(qiáng)對(duì)重點(diǎn)詞的關(guān)注,整體結(jié)構(gòu)如圖1所示。首先對(duì)輸入的句子利用預(yù)訓(xùn)練好的詞向量進(jìn)行表示,然后分別經(jīng)過(guò)BiLSTM模型和注意力模型學(xué)習(xí)表示,將兩部分表示后的向量拼接,最終通過(guò)分類器完成文本情感分析工作。
詞作為該模型處理的基本單元,第一步是對(duì)詞進(jìn)行符號(hào)化表示。與傳統(tǒng)的表示方法不同,本文使用連續(xù)的稠密向量作為模型的輸入。隨著Mikolov等[13-14]提出了Word2Vec模型,詞向量可以在低維空間中更好地學(xué)習(xí)詞語(yǔ)蘊(yùn)含的語(yǔ)義信息。詞語(yǔ)表示層會(huì)在相關(guān)語(yǔ)料上預(yù)訓(xùn)練出一個(gè)RN×d規(guī)模的詞典,N表示詞典中詞的個(gè)數(shù),d表示詞向量的維度。在進(jìn)行詞語(yǔ)表示時(shí),用xt表示文本中的第t個(gè)詞,xt∈Rd。若文本長(zhǎng)度為T,則輸入文本表示為式(1)。
S=[x1;x2;…;xT]∈RT×d
(1)
圖1 詞向量注意力機(jī)制的BiLSTM模型結(jié)構(gòu)
自然語(yǔ)言的詞語(yǔ)之間存在時(shí)序關(guān)系。為了讓模型可以學(xué)習(xí)詞語(yǔ)間的語(yǔ)義依賴關(guān)系,本文采用BiLSTM模型對(duì)句子的語(yǔ)義信息進(jìn)行編碼。BiLSTM由正反兩個(gè)LSTM模型組成,長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[15]是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,它有較強(qiáng)的長(zhǎng)距離語(yǔ)義捕獲能力,圖2是LSTM的基本結(jié)構(gòu)。
圖2 LSTM結(jié)構(gòu)
xt為t時(shí)刻LSTM單元的輸入數(shù)據(jù),ht是t時(shí)刻輸出,C是不同時(shí)刻記憶單元的值。LSTM主要用三個(gè)門結(jié)構(gòu)來(lái)控制模型中信息的加工。遺忘門ft決定記憶信息的通過(guò)量,該門將xt和上一時(shí)刻輸出ht-1作為輸入,輸出值在0和1之間,值用來(lái)描述每個(gè)部分通過(guò)量的多少。ft的計(jì)算公式如式(2)所示。
ft=σ(Wf[ht-1,xt]+bf)
(2)
Wi為輸入門權(quán)重,bi是輸入門偏置,tanh為雙曲正切函數(shù),WC為更新后候選值權(quán)重,bC為更新候選值偏置。接下來(lái)更新記憶單元的狀態(tài),由狀態(tài)Ct-1至Ct狀態(tài),原來(lái)狀態(tài)Ct-1根據(jù)遺忘門的值丟棄要屏蔽的信息,根據(jù)輸入門的值添加新的信息。Ct更新公式如式(5)所示。
(5)
輸出門ot控制輸出信息,該門通過(guò)xt和上一時(shí)刻輸出決定從當(dāng)前狀態(tài)中輸出的信息量,狀態(tài)Ct通過(guò)tanh函數(shù)得到區(qū)間在-1和1的值,該值乘以ot作為本時(shí)刻的輸出值。ot和ht的公式分別為式(6)、式(7)。
式中Wo為更新輸出值的權(quán)重,bo是更新輸出值偏置,ht為最終輸出值。
對(duì)BiLSTM單元的輸出取平均作為語(yǔ)義學(xué)習(xí)層輸出,如式(11)所示。
(11)
表1 重點(diǎn)詞分析
注意力機(jī)制最早在計(jì)算機(jī)視覺(jué)領(lǐng)域提出來(lái)的,模仿人類的注意力機(jī)制,給圖像不同的局部賦予不同的權(quán)重。后來(lái)Bahdanau等[16]將注意力機(jī)制應(yīng)用到機(jī)器翻譯,這也是注意力機(jī)制在自然語(yǔ)言處理領(lǐng)域的首次應(yīng)用。但是機(jī)器翻譯中的注意力機(jī)制是將前一時(shí)刻輸出的隱含狀態(tài)與當(dāng)前時(shí)刻輸入的隱含狀態(tài)進(jìn)行對(duì)齊的模式,而在情感分析任務(wù)中使用對(duì)當(dāng)前輸入自適應(yīng)加權(quán)的自注意力機(jī)制(Self-attention)更合適。Wang等[17]把自注意力模型應(yīng)用到方面級(jí)(Aspect-level)情感分析任務(wù)上,將自注意力機(jī)制與LSTM結(jié)合在一起,通過(guò)自注意力機(jī)制去獲取對(duì)不同方面更重要的上下文信息,來(lái)解決某個(gè)給定的方面情感分類的問(wèn)題。自注意力機(jī)制通常也不會(huì)使用其他額外的信息,它會(huì)自動(dòng)從所給數(shù)據(jù)中學(xué)習(xí)權(quán)重分布,如式(12)、式(13)所示。
其中at表示第t個(gè)詞對(duì)于當(dāng)前文本的重要程度,vtA作為一種評(píng)分制度由模型從語(yǔ)料中自動(dòng)學(xué)習(xí),A、W均為權(quán)重矩陣,b為偏置。得到每個(gè)詞的權(quán)重后,假設(shè)句中詞數(shù)為T,將詞向量按權(quán)重求和作為重點(diǎn)詞語(yǔ)關(guān)注層的輸出,如式(14)所示。
(14)
文本情感分析本質(zhì)上是一個(gè)分類任務(wù),所以模型的最后一層是分類層。分類層將語(yǔ)義學(xué)習(xí)層和重點(diǎn)詞語(yǔ)關(guān)注層的結(jié)果連接作為輸入:
inputclassify=[outputsema,outputatt]
(15)
輸出每類的概率為pc:
wclassify為L(zhǎng)×C的權(quán)重矩陣,L為輸入向量的維度,C為類數(shù),bclassify為分類層的偏置向量。在得到預(yù)測(cè)的概率分布后,本文采用交叉熵?fù)p失函數(shù)來(lái)衡量真實(shí)分布和預(yù)測(cè)分布之間的差距,從而利用反向傳播對(duì)模型中的參數(shù)進(jìn)行更新。
本文的實(shí)驗(yàn)數(shù)據(jù)為NLPCC2014情感分析(NLPCC-SCDL)評(píng)測(cè)任務(wù)中文數(shù)據(jù)集。該數(shù)據(jù)集中,共收集12 500條中立、負(fù)面均衡的網(wǎng)購(gòu)商品評(píng)論。從語(yǔ)料隨機(jī)選取中立、負(fù)面數(shù)據(jù)1 250條作為測(cè)試數(shù)據(jù)(共2 500條),其余作為訓(xùn)練數(shù)據(jù)。實(shí)驗(yàn)語(yǔ)料采用Jieba分詞工具進(jìn)行分詞,分詞后句子長(zhǎng)度分布如圖3所示。
與此相似,在現(xiàn)實(shí)生活中,我們干掉高考這個(gè)BOSS以后,武功進(jìn)入了一個(gè)瓶頸期,每個(gè)人的斗志也因此消磨許多。所以,我們不妨試著將這四年的大學(xué)時(shí)光,當(dāng)作是一段特殊的“閉關(guān)修煉”,修身養(yǎng)性,格物致知,潛心修煉內(nèi)功和外功。在不斷提升自我的同時(shí),抵御綁定了潛在風(fēng)險(xiǎn)的外來(lái)誘惑。
圖3 語(yǔ)料句子長(zhǎng)度分布
本文選用維基百科的中文語(yǔ)料作為預(yù)訓(xùn)練詞向量的語(yǔ)料庫(kù)。因?yàn)橹形木S基百科語(yǔ)料中含有大量的繁體字,所以需要先對(duì)語(yǔ)料進(jìn)行繁簡(jiǎn)轉(zhuǎn)換,再使用Jieba進(jìn)行分詞。本文利用Google開(kāi)源的Word2Vec工具預(yù)訓(xùn)練詞向量,選擇cbow模型,上下文窗口大小設(shè)置為5,詞向量維度大小設(shè)為200,采樣值大小設(shè)為0.001,其他參數(shù)使用模型的默認(rèn)值。在使用預(yù)訓(xùn)練的詞向量時(shí)采用隨機(jī)初始化
本實(shí)驗(yàn)采用正確率(Precision)、召回率(Recall)、F1值(F1-measure)、準(zhǔn)確率(Accuracy)作為評(píng)價(jià)標(biāo)準(zhǔn)(下標(biāo)neu和neg分別表示中立和負(fù)面)。
TP: 正確分類中的中立條數(shù);
FP: 錯(cuò)誤分類中的中立條數(shù);
TN: 正確分類中的負(fù)面條數(shù);
FN: 錯(cuò)誤分類中的負(fù)面條數(shù)。
NBOW: Mikolov提出的神經(jīng)網(wǎng)絡(luò)詞袋模型。該模型將句中的詞向量的平均值作為句子表示,在文本分類任務(wù)中的效率很高。
CNN: 基于Kim等人提出的CNN分類模型,使用卷積核大小為1、2、3分別提取文本特征,經(jīng)過(guò)最大池化后使用softmax進(jìn)行情感分類。
CNN+SVM: Cao等人提出的使用CNN提取文本特征,使用遷移學(xué)習(xí)的思想,利用SVM進(jìn)行文本分類。該模型在NLPCC-SCDL任務(wù)上取得了最好的效果。
CNN+EMB_ATT: 馮興杰等人提出的基于詞向量注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)模型。
LSTM: 使用LSTM進(jìn)行語(yǔ)義學(xué)習(xí),將每個(gè)輸入對(duì)應(yīng)的輸出取平均作為文本表示。
LSTM+ATT: 使用LSTM進(jìn)行語(yǔ)義學(xué)習(xí),使用自注意力機(jī)制學(xué)習(xí)LSTM輸出的權(quán)量,最后將LSTM的輸出加權(quán)平均作為句子的向量表示。
BiLSTM: 使用BiLSTM學(xué)習(xí)文本語(yǔ)義,將每個(gè)輸入對(duì)應(yīng)的輸出取平均作為文本表示。
BiLSTM+ATT: 使用BiLSTM進(jìn)行語(yǔ)義學(xué)習(xí),使用自注意力機(jī)制學(xué)習(xí)BiLSTM輸出的權(quán)重,最后將BiLSTM的輸出加權(quán)平均作為句子的向量表示。
BiLSTM+EMB_ATT: 本文提出的注意力增強(qiáng)的BiLSTM模型。
因?yàn)槟P洼斎胄枰欢ǖ拈L(zhǎng)度限制,根據(jù)3.1節(jié)中的語(yǔ)料句子的長(zhǎng)度分布,將模型輸入文本的最大長(zhǎng)度限制在100個(gè)詞,超出100個(gè)詞的句子截取前100個(gè)詞,不足的用
表2 模型中的參數(shù)設(shè)置
續(xù)表
本實(shí)驗(yàn)在服務(wù)器上進(jìn)行,服務(wù)器CPU為2個(gè)英特爾至強(qiáng)(R)處理器E5-2603v4,GPU為NVIDIA Tesla K40M。在訓(xùn)練階段,將訓(xùn)練數(shù)據(jù)分為5份做交叉驗(yàn)證,最終實(shí)驗(yàn)結(jié)果取5次實(shí)驗(yàn)的平均值。實(shí)驗(yàn)結(jié)果見(jiàn)表3。
表3 實(shí)驗(yàn)結(jié)果
從表3中可以看出,本文提出的BiLSTM+EMB_ATT模型在除中立準(zhǔn)確率、負(fù)面召回率兩個(gè)指標(biāo)之外,其他指標(biāo)均取得最好的結(jié)果。因?yàn)樽匀徽Z(yǔ)言存在時(shí)序性的特點(diǎn),LSTM模型中的記憶單元有效記錄了文本時(shí)序信息,本文采用BiLSTM結(jié)構(gòu)學(xué)習(xí)文本的語(yǔ)義信息,為模型中增加了逆向文本的語(yǔ)義信息,加強(qiáng)了模型對(duì)文本上下文的語(yǔ)義學(xué)習(xí)能力。但LSTM模型只是理論上可以持續(xù)記憶文本信息,從實(shí)際效果上看LSTM依然存在著不足,而自注意力機(jī)制在情感分析的任務(wù)需求上,可以通過(guò)學(xué)習(xí)文本規(guī)律,以分配不同詞語(yǔ)相應(yīng)權(quán)重的方式自動(dòng)捕獲影響文本情感傾向重要信息。為了便于觀察文本中的注意力分布,本文將權(quán)重輸出,如圖4。所以可以使用注意力機(jī)制作為輔助的方式從文本中得到更多的信息。通過(guò)在BiLSTM模型上加入基于詞向量的注意力機(jī)制,結(jié)果得到了提升,驗(yàn)證了可以使用注意力機(jī)制加強(qiáng)模型直接從詞向量中學(xué)習(xí)文本信息的想法。
圖4 注意力分布圖
另外,根據(jù)實(shí)驗(yàn)結(jié)果還可以得出結(jié)論:
(1) CNN和CNN+SVM的結(jié)果說(shuō)明了在該實(shí)驗(yàn)語(yǔ)料上,使用SVM代替softmax分類器的方式并不能提高結(jié)果。因?yàn)閟oftmax分類會(huì)使用一層全連接網(wǎng)絡(luò)對(duì)特征進(jìn)行學(xué)習(xí),在最小化損失學(xué)習(xí)后,softmax可以讓概率分布更接近標(biāo)準(zhǔn)結(jié)果。
(2) 在LSTM模型和BiLSTM模型上,直接加上注意力機(jī)制的結(jié)構(gòu)訓(xùn)練用時(shí)更短。這說(shuō)明注意力機(jī)制雖增加了模型的規(guī)模,但其關(guān)注關(guān)鍵信息的特性使得模型的收斂速度更快。
(3) 在LSTM和BiLSTM模型上增加注意力機(jī)制并沒(méi)有達(dá)到相同的效果,這說(shuō)明盲目加入注意力機(jī)制有時(shí)不會(huì)使結(jié)果更好。相反,我們?cè)贑NN上,加入基于詞向量的注意力機(jī)制的CNN+EMB_ATT模型和BiLSTM上加入基于詞向量的注意力機(jī)制的BiLSTM+EMB_ATT模型的效果都得到了提高,這也驗(yàn)證了正確地加入注意力機(jī)制有助于模型效果的提升。
本文提出了一種注意力增強(qiáng)的BiLSTM情感分析模型。將BiLSTM學(xué)習(xí)文本的語(yǔ)義信息使用在詞向量上,建立自注意力機(jī)制加強(qiáng)對(duì)句中情感關(guān)鍵詞的關(guān)注度。與傳統(tǒng)BiLSTM模型加注意力機(jī)制不同,本文采用的詞向量注意力機(jī)制與BiLSTM為并行結(jié)構(gòu)。實(shí)驗(yàn)表明,本文提出的模型表現(xiàn)出優(yōu)越的性能,并在多個(gè)指標(biāo)上超過(guò)了已有的最好模型。
在深度學(xué)習(xí)流行之前,前人構(gòu)建了很多如HowNet等知識(shí)庫(kù),這些知識(shí)是自然語(yǔ)言處理領(lǐng)域的巨大寶藏?,F(xiàn)在很多學(xué)者都在嘗試如何利用這些知識(shí)庫(kù),在后續(xù)的研究中,我們也將深入研究如何用現(xiàn)有的語(yǔ)言學(xué)規(guī)則和知識(shí)庫(kù)提高注意力增強(qiáng)的BiLSTM模型的效果。