孫本旺,田 芳
(1.青海大學(xué) 計(jì)算機(jī)技術(shù)與應(yīng)用系,青海 西寧 810016;2.青海大學(xué) 信息化技術(shù)中心,青海 西寧 810016)
隨著互聯(lián)網(wǎng)技術(shù)的成熟和發(fā)展,藏族網(wǎng)民的數(shù)量越來(lái)越多,微博等成為藏民對(duì)社會(huì)熱點(diǎn)關(guān)注和情感表達(dá)的平臺(tái)。藏族網(wǎng)民在網(wǎng)絡(luò)上發(fā)表意見、表達(dá)情感已成為一種日常習(xí)慣,由此產(chǎn)生了大量的藏文情感信息,其中的信息包含各種各樣的情感特征。因此,如何通過(guò)復(fù)雜的信息抓取分析藏民的情感變化,便成為一項(xiàng)極為重要的研究課題。
近來(lái)年,深度學(xué)習(xí)模型已經(jīng)廣泛應(yīng)用于文本分類。文中將CNN-LSTM深度學(xué)習(xí)算法模型引入藏文文本情感分析領(lǐng)域,對(duì)于推動(dòng)藏文文本情感分析研究具有十分重要的意義。
2006年Geoffrey Hinton[1-2]等首次提出了深度信念網(wǎng)絡(luò)(deep belief network,DBN)深度學(xué)習(xí)算法的思想,并以其較強(qiáng)的學(xué)習(xí)能力和最大限度提取特征的特點(diǎn),成為其后深度學(xué)習(xí)算法的主要框架。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,之后出現(xiàn)了堆棧自編碼[3]、卷積神經(jīng)網(wǎng)絡(luò)(convolution neural networks,CNN)[4]、長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(long short-term memory,LSTM)[5]等深度學(xué)習(xí)模型。
麻省理工學(xué)院的Picard教授最早提出了情感分析的概念。Picard教授在1995年發(fā)表了論文《Affective Computing》[6],并在兩年后在此基礎(chǔ)上撰寫了的有關(guān)情感計(jì)算的最早同名論著[7]。Richard Socher等提出深度遞歸自編碼算法,在中文[8]和英文[9]的情感分析中,都取得了不錯(cuò)的結(jié)果。Socher R等將Matrix-Vector融入循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型來(lái)學(xué)習(xí)邏輯命題和運(yùn)算符含義,對(duì)電影評(píng)論的情感標(biāo)簽進(jìn)行分類[10]。Tang D等通過(guò)卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)相結(jié)合的算法進(jìn)行情感分析,自動(dòng)推薦適當(dāng)?shù)谋砬榉?hào),取得了優(yōu)異的成效[11]。B. Sun等提取了聲學(xué)特征、lbptop、密集SIFT和CNN-LSTM特征,用LSTM和GEM模型來(lái)識(shí)別電影人物的情感[12]。J Huang等提取其他聲學(xué)音頻特征集、外觀特征和深層視覺特征作為補(bǔ)充特征。每種特征類型分別使用長(zhǎng)時(shí)記憶遞歸神經(jīng)網(wǎng)絡(luò)(LSTM-RNN)進(jìn)行訓(xùn)練,而且用于每個(gè)維的情感預(yù)測(cè),要分別考慮注釋延遲和時(shí)間池[13]。宋夢(mèng)姣結(jié)合雙向LSTM和卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的CNN-LSTM模型在情感計(jì)算的性能上有所提升,在此模型的基礎(chǔ)上又設(shè)計(jì)了使用注意力機(jī)制的CNN-BLSTM-Attention模型;注意力機(jī)制能幫助模型得到含有注意力概率分布的語(yǔ)義編碼,有效突出文本中對(duì)情感分析任務(wù)更關(guān)鍵的詞語(yǔ),在文本情感分類任務(wù)上取得了更高的準(zhǔn)確率[14]。焦晨晨提出基于橫向卷積和縱向卷積相結(jié)合的卷積神經(jīng)網(wǎng)絡(luò)(HV_CNN),結(jié)合動(dòng)態(tài)卷積神經(jīng)網(wǎng)絡(luò)(DCNN)的網(wǎng)絡(luò)模型[15]。
在藏文情感分析方面,閆曉東等通過(guò)人工方法構(gòu)建了一個(gè)全面、高效的極性詞典,包括基礎(chǔ)詞詞典、否定詞詞典、雙重否定詞詞典、程度副詞詞典以及轉(zhuǎn)折詞詞典,并提出了基于極性詞典的藏語(yǔ)文本句子情感分析方法[16]。張俊等通過(guò)借鑒中文微博情感分析中比較常見的基于統(tǒng)計(jì)的方法和基于詞典的方法對(duì)藏文微博進(jìn)行情感分析,實(shí)驗(yàn)結(jié)果表明基于藏文詞典的藏文微博情感分析的準(zhǔn)確率明顯高于基于TF-IDF的藏文微博情感分析的準(zhǔn)確率[17]。楊志根據(jù)藏文微博的行文特征,提出了基于情感詞典與機(jī)器學(xué)習(xí)算法多特征融合的藏文微博情感分類方法[18]。袁斌針對(duì)藏文微博中存在的藏漢混排問(wèn)題,提出了一種基于語(yǔ)義空間的藏文微博情感表示方法。該方法通過(guò)句法樹實(shí)現(xiàn)了語(yǔ)義向量化,提高了情感特征中的語(yǔ)義成分,并解決了多語(yǔ)言混合文本處理問(wèn)題[19]。李苗苗提出了藏文文本情感分析的詞語(yǔ)級(jí)、句子級(jí)、篇章級(jí)三層框架,提出了利用情感詞典和規(guī)則集分析藏文句子情感的一種方法,采用SVM算法對(duì)篇章級(jí)進(jìn)行情感分析[20]。普次仁等將藏文分詞后,把深度領(lǐng)域內(nèi)的遞歸自編碼算法引入到藏文情感分析中,以更深層次提取語(yǔ)義情感信息,有監(jiān)督地訓(xùn)練輸出層分類器以預(yù)測(cè)藏文語(yǔ)句的情感傾向[21]。
情感分析首先要對(duì)藏文微博數(shù)據(jù)進(jìn)行預(yù)處理:去除xml和@符號(hào),去停用詞等,將單詞條內(nèi)容處理成單行數(shù)據(jù)。然后對(duì)藏文微博進(jìn)行分詞,文中主要結(jié)合人工和情感詞典進(jìn)行藏文分詞。最后利用規(guī)則和統(tǒng)計(jì)的方法進(jìn)行情感計(jì)算。
由于藏文情感詞典都不公開,也沒有統(tǒng)一標(biāo)準(zhǔn)用于藏文情感分析的藏文情感詞典,故使用文中自動(dòng)構(gòu)建的藏文情感詞典。該藏文情感詞典總詞量達(dá)27 361個(gè),包括程度副詞220個(gè)、基礎(chǔ)情感詞(積極10 670個(gè)、消極10 402個(gè)、中性5 711個(gè))、停用詞385個(gè),相比其他藏文情感詞典多了雙重否定詞。
圖1 基于情感詞典的情感計(jì)算流程
基于情感詞典的藏文微博情感分析的方法主要用于實(shí)驗(yàn)結(jié)果對(duì)比。通過(guò)微博中情感詞或情感短語(yǔ)的權(quán)值疊加計(jì)算來(lái)判斷某條微博的情感傾向。如果微博包含轉(zhuǎn)折詞,取轉(zhuǎn)折詞后面的部分微博進(jìn)行情感計(jì)算,還要考慮微博中的程度詞和否定詞等。情感計(jì)算流程如圖1所示。
微博文本向量化為文本處理提供了基礎(chǔ)。結(jié)合CNN和LSTM的模型特點(diǎn),提出了CNN-LSTM算法模型。該模型以CNN的第三層輸出作為L(zhǎng)STM第一層的輸入,在每一層的輸出都做歸一化處理。該模型既能保留CNN對(duì)文本的全局度量,又能保留LSTM對(duì)文本的上下深層語(yǔ)義信息,挖掘出更深層次的語(yǔ)義關(guān)系,取得了較好的分類效果。
2.2.1 Word2vec詞向量
神經(jīng)網(wǎng)絡(luò)的輸入需要將藏文微博語(yǔ)料映射成為向量,Word2vec使用的模型分為CBOW和Skip-gram,文中使用Skip-gram模型實(shí)現(xiàn)詞向量化,最終得到詞向量字典。
Skip-gram:是用中心詞來(lái)預(yù)測(cè)周圍的詞。在Skip-gram中,會(huì)利用周圍的詞的預(yù)測(cè)結(jié)果情況,使用GradientDecent不斷調(diào)整中心詞的詞向量,最終所有的文本遍歷完畢之后,也就得到了文本所有詞的詞向量。每個(gè)詞在作為中心詞時(shí),都要進(jìn)行K次的預(yù)測(cè)、調(diào)整,這種多次的調(diào)整會(huì)使得詞向量相對(duì)更加準(zhǔn)確。
2.2.2 CNN-LSTM模型
CNN可以保留文本的全局度量特征,但無(wú)法解決文本上下文的長(zhǎng)期依賴問(wèn)題和上下文語(yǔ)義關(guān)系問(wèn)題。而LSTM具有學(xué)習(xí)長(zhǎng)期上下文記憶依賴的能力,能有效利用和記憶很寬范圍的上下文語(yǔ)義關(guān)系。結(jié)合兩者的結(jié)構(gòu)特點(diǎn),文中構(gòu)建CNN-LSTM模型用于藏文微博的情感計(jì)算。
CNN-LSTM的網(wǎng)絡(luò)層包括卷積層、Batch Normalization層、池化層、時(shí)序?qū)?、輸出層,如圖2所示。
卷積層:經(jīng)過(guò)詞向量表達(dá)的藏文微博文本為一維數(shù)據(jù),文中利用三層一維卷積,抽取藏文微博的局部特征,經(jīng)過(guò)卷積核運(yùn)算產(chǎn)生微博文本特征。
Batch Normalization層:作用在每層卷積層之后。不僅極大提升了訓(xùn)練速度,收斂過(guò)程大大加快,還能增加分類效果,類似于Dropout的一種防止過(guò)擬合的正則化表達(dá)方式,所以不用Dropout也能達(dá)到相當(dāng)?shù)男Ч?;另外調(diào)參過(guò)程也簡(jiǎn)單多了,對(duì)于初始化要求沒那么高,而且可以使用大的學(xué)習(xí)率。
池化層:采用max-pooling,池化層作用在每層卷積層和Batch Normalization層之后,是一種非線性降維的方法。用來(lái)縮減輸入數(shù)據(jù)的規(guī)模進(jìn)行特征映射層,此階段保留K個(gè)最大的信息,保留了全局的序列信息。
時(shí)序?qū)樱簩蓪覮STM作為文中模型的時(shí)序?qū)印F淠軌蚪鉀Q遠(yuǎn)距離上下文依賴特性關(guān)系、存儲(chǔ)和挖掘出上下文深層語(yǔ)義信息。
輸出層:采用Softmax分類器。
圖2 CNN-LSTM網(wǎng)絡(luò)模型結(jié)構(gòu)
利用標(biāo)注好的藏文微博語(yǔ)料,經(jīng)過(guò)微博中詞語(yǔ)的同反義詞替換來(lái)擴(kuò)充語(yǔ)料,增加的語(yǔ)料基本滿足了深度學(xué)習(xí)對(duì)數(shù)據(jù)量的需求。為了驗(yàn)證算法的準(zhǔn)確性,對(duì)基于情感詞典,LSTM和CNN-LSTM的深度學(xué)習(xí)算法進(jìn)行藏文微博情感傾向分析進(jìn)行對(duì)比。深度學(xué)習(xí)模型LSTM和CNN-LSTM激活函數(shù)為softsign,優(yōu)化函數(shù)為Adam(學(xué)習(xí)速率為0.01)同樣的語(yǔ)料庫(kù),結(jié)果如圖3~圖5所示。
圖3 LSTM和CNN-LSTM準(zhǔn)確率對(duì)比
從圖3可以看出,CNN-LSTM比單獨(dú)的LSTM模型的測(cè)試準(zhǔn)確率高約10.2%,訓(xùn)練準(zhǔn)確率高約18.3%。CNN-LSTM模型能夠保證每條微博的全局結(jié)構(gòu)不變,又能挖掘出更深層次語(yǔ)義信息結(jié)構(gòu),所以其訓(xùn)練測(cè)試率都比較優(yōu)異。
圖4 LSTM的loss和accuracy趨勢(shì)變化
圖5 CNN-LSTM的loss和accuracy趨勢(shì)變化
從圖4和圖5得出,CNN-LSTM模型的訓(xùn)練集損失率下降比較平穩(wěn),訓(xùn)練集的準(zhǔn)確率又能穩(wěn)定上升,此模型相對(duì)其他算法模型具有良好的穩(wěn)定性。
接著將基于藏文情感詞典、LSTM和CNN-LSTM的準(zhǔn)確率進(jìn)行對(duì)比,如表1所示。
表1 分類準(zhǔn)確率對(duì)比
從表1可以看出,基于CNN-LSTM情感分類比LSTM模型高10.2%。卷積神經(jīng)網(wǎng)絡(luò)注重于對(duì)全局的度量,RNN側(cè)重于每一相鄰信息的重構(gòu),而LSTM要比傳統(tǒng)RNN對(duì)文本深層語(yǔ)義信息的處理更加有效。模型能夠保證每條微博的全局度量,又能挖掘出更多的深層次語(yǔ)義信息,做出更精準(zhǔn)的情感分類。
文中將深度學(xué)習(xí)算法的CNN-LSTM模型引入到藏文的情感傾向分析。同時(shí),研究了藏文微博中情感傾向分類的LSTM、CNN-LSTM等方法,對(duì)于每個(gè)微博情感特征,訓(xùn)練分類器,不同情感分類具有不同的判別能力。CNN-LSTM利用卷積層和LSTM層融合網(wǎng)絡(luò)來(lái)處理情感特征,保留文本的全局度量又能挖掘出更深層次的語(yǔ)義關(guān)系,取得了較好的分類效果。此外,該模型也存在一定的不足,如藏文語(yǔ)料分詞困難等,這些還有待進(jìn)一步研究。