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