徐洪學(xué), 汪安祺, 車偉偉, 杜英魁, 孫萬有, 王陽陽
(1. 沈陽大學(xué) 信息工程學(xué)院, 遼寧 沈陽 110044; 2. 青島大學(xué) 自動(dòng)化學(xué)院, 山東 青島 266071)
AI(artificial intelligence)時(shí)代的來臨,讓人們的生活變得更加智能化和信息化。社交平臺(tái)成為當(dāng)代生活“必需品”,每天都有大量網(wǎng)民通過微博等社交平臺(tái)獲取或者傳播各類信息。民眾的一些不當(dāng)?shù)难哉摻?jīng)常會(huì)引發(fā)一場輿論風(fēng)波,甚至?xí)绊懮鐣?huì)的安定團(tuán)結(jié)。對微博文本進(jìn)行情感分析可以幫助相關(guān)工作人員實(shí)時(shí)地監(jiān)測輿論風(fēng)向,有效地避免一些輿論風(fēng)波。如何有效分析微博文本情感信息、并準(zhǔn)確判斷出人們對某個(gè)事件的情感傾向是微博文本情感分析研究工作的重點(diǎn)。
文本情感分析大都通過詞典和傳統(tǒng)機(jī)器學(xué)習(xí)等方法處理情感分析分類任務(wù)[1]。微博文本數(shù)量龐大且大多是短文本類型,使用基于詞典的方法和基于機(jī)器學(xué)習(xí)的文本情感分析方法需要耗費(fèi)精力構(gòu)建詞典和文本特征,將這2種方法運(yùn)用到微博文本情感分析任務(wù)中將會(huì)耗時(shí)又耗力。微博文本里口語化文本較多,具有分析困難等特點(diǎn)。近幾年深度學(xué)習(xí)在各個(gè)領(lǐng)域里嶄露頭角,針對微博文本情感分析的研究逐漸開始嘗試使用深度學(xué)習(xí)的方法解決問題[2]。深度學(xué)習(xí)的多模型融合方法在微博文本情感分析任務(wù)中可以獲得較好的預(yù)期。因?yàn)?深度學(xué)習(xí)的多模型融合方法可以利用每個(gè)深度學(xué)習(xí)模型的特點(diǎn)完成各自的自動(dòng)學(xué)習(xí)任務(wù),因而將使得其整體效果比傳統(tǒng)方法更好。因此,針對微博文本類型眾多等因素,在對不同類型的文本進(jìn)行情感分析時(shí),需要融合不同深度學(xué)習(xí)模型以達(dá)到較好的效果。
針對以上特點(diǎn),本文提出了ALBERT-BiLSTM-ATT微博文本情感分析模型。為了驗(yàn)證模型的可行性,共設(shè)計(jì)了8組對比實(shí)驗(yàn)。經(jīng)過實(shí)驗(yàn)驗(yàn)證,ALBERT-BiLSTM-ATT模型在微博文本情感分析中可以達(dá)到較高的精確率、召回率和F1值。
情感分析中有一項(xiàng)重要任務(wù)就是將文本轉(zhuǎn)化為詞向量。這是由于機(jī)器設(shè)備不能直接認(rèn)識(shí)文本,需要通過將文本轉(zhuǎn)化為詞向量,以使機(jī)器設(shè)備能夠識(shí)別文本。
在研究初期, 研究者們使用獨(dú)熱編碼(one-hot)來完成文本詞向量轉(zhuǎn)化。 但是在使用的過程中發(fā)現(xiàn)one-hot不能使相似的詞之間產(chǎn)生關(guān)聯(lián)。 因此科學(xué)家們嘗試使用高維矩陣, 如co-occurrence矩陣等, 但是隨著文本信息量的增加,矩陣的維度也會(huì)隨之增加。 隨后,研究者們將研究方向轉(zhuǎn)移到既能降低詞向量的維度也能表示出詞之間語義關(guān)系上, 最終得到了文本詞向量的經(jīng)典之作Word2Vec[3]和Glove(global vectors)[4]。 其中Word2Vec包括了Skip-Gram和CBOW(continuous bag-of-words)2種模型。
Kim[5]在2014年提出了將文本卷積神經(jīng)網(wǎng)絡(luò)TextCNN(text convolutional neural network)用于情感分析的任務(wù)中,利用卷積神經(jīng)網(wǎng)絡(luò)提取局部特征的方式對文本進(jìn)行訓(xùn)練,實(shí)驗(yàn)結(jié)果表明這種方法可以在文本分類任務(wù)上取得較好的效果;Vaswani等[6]提出了編碼器-解碼器組合的Transformer結(jié)構(gòu);ELMo(embeddings from language models)[7]、GPT(generative pre-training)[8]和BERT(bidirectional encoder representations from transformers)[9]等在2018年皆是以Transformer結(jié)構(gòu)為基礎(chǔ)得到的預(yù)訓(xùn)練模型。
楊杰等[10]提出利用BERT模型提取詞向量的文本評論情感分析方法,設(shè)計(jì)對比實(shí)驗(yàn)與傳統(tǒng)的Word2Vec詞向量作對比,實(shí)驗(yàn)結(jié)果顯示基于BERT的文本特征表示方法在實(shí)驗(yàn)集上的精確率比傳統(tǒng)Word2Vec詞向量提高了5.56%;段丹丹等[11]提出利用BERT模型提取中文短文本句子級別的文本向量表示,與基于TextCNN模型的短文本分類方法相比較,BERT模型的整體F1值提升了6%。謝思雅等[12]選擇Word2Vec詞向量中的Skip-Gram模型,通過使用負(fù)采樣方法完成文本詞向量轉(zhuǎn)化的訓(xùn)練,利用BiLSTM(bi-directional long short-term memory)模型和Attention機(jī)制相結(jié)合的方法獲取詞向量中的情感信息,并在NLPCC2013數(shù)據(jù)集上測試,精確率達(dá)到0.814。
為了進(jìn)一步提高微博文本情感分析質(zhì)量,本文結(jié)合BERT的改進(jìn)版本----ALBERT的特點(diǎn),并將其融入到BiLSTM-ATT模型,提出了ALBERT-BiLSTM-ATT模型。
ALBERT-BiLSTM-ATT模型由輸入層、ALBERT層、BiLSTM-ATT層和SoftMax層構(gòu)成。模型結(jié)構(gòu)如圖1所示。
圖1 ALBERT-BiLSTM-ATT模型結(jié)構(gòu)
ALBERT-BiLSTM-ATT模型的工作流程包括:1)對微博文本數(shù)據(jù)進(jìn)行分詞和去停用詞等預(yù)處理操作,處理完的文本數(shù)據(jù)作為輸入層數(shù)據(jù)輸入模型;2)文本數(shù)據(jù)經(jīng)過ALBERT預(yù)訓(xùn)練模型得到文本動(dòng)態(tài)詞向量;3)將動(dòng)態(tài)詞向量輸入到基于BiLSTM和Attention結(jié)合的模型中進(jìn)一步獲取文本語義特征;4)經(jīng)過SoftMax層最終得到微博文本情感傾向。
ALBERT-BiLSTM-ATT模型的主要層次及其融合過程描述如下。
2018年,自然語言處理(natural language processing, NLP)應(yīng)用領(lǐng)域內(nèi)11種任務(wù)的記錄被預(yù)訓(xùn)練模型BERT刷新。NLP應(yīng)用領(lǐng)域由此開始步入了預(yù)訓(xùn)練的時(shí)代。預(yù)訓(xùn)練模型主要有2種使用方式,可以直接解決文本分類任務(wù)或者使用預(yù)訓(xùn)練模型獲得動(dòng)態(tài)詞向量接入下游任務(wù)中。
預(yù)訓(xùn)練模型的產(chǎn)生促進(jìn)了人們對詞向量的進(jìn)一步研究,研究的重點(diǎn)從靜態(tài)詞向量轉(zhuǎn)為了動(dòng)態(tài)詞向量,從而使得詞向量能學(xué)習(xí)到句子級的語義信息。Transformer編碼器由Encoder和Decoder兩個(gè)部分組成。多個(gè)Transformer編碼器的Encoder組合在一起則構(gòu)成了BERT模型。Transformer編碼器中Encoder部分的結(jié)構(gòu)如圖2所示。
圖2 Transformer Encoder結(jié)構(gòu)
雖然BERT模型在NLP應(yīng)用領(lǐng)域中完成任務(wù)效果很好,但是BERT模型的不足是參數(shù)量非常大。ALBERT(a lite BERT)預(yù)訓(xùn)練模型[13]與BERT模型一樣,都是采用Transformer Encoder結(jié)構(gòu)。ALBERT模型是BERT模型的輕量版,在不影響模型效果的前提下,主要對BERT模型詞嵌入的因式分解、層間參數(shù)共享、段落間連貫性3個(gè)方面做出了改進(jìn)。ALBERT模型不僅降低了BERT模型的參數(shù),同時(shí)模型運(yùn)行的速度也加快了。
ALBERT模型結(jié)構(gòu)如圖3所示,其中E1…En是文本中的單個(gè)字符,將其輸入到多層雙向Transformer編碼器中,最后得到文本向量化表示。
圖3 ALBERT模型結(jié)構(gòu)
本文選用ALBERT模型作為ALBERT-BiLSTM-ATT模型的預(yù)訓(xùn)練層。
BiLSTM層是ALBERT-BiLSTM-ATT模型的核心層。BiLSTM模型[14]是由循環(huán)神經(jīng)網(wǎng)絡(luò)模型LSTM(long short-term memory)[15]改進(jìn)得到的一種新模型。
LSTM模型由單向網(wǎng)絡(luò)組成。該模型解決了以往在文本序列學(xué)習(xí)時(shí)不能獲得長期依賴關(guān)系的缺點(diǎn),特別是在長序列學(xué)習(xí)時(shí)效果更好。LSTM模型結(jié)構(gòu)如圖4所示。
圖4 LSTM模型結(jié)構(gòu)
LSTM模型的結(jié)構(gòu)特點(diǎn)是擁有3個(gè)“門”單元,分別是遺忘門、輸入門和輸出門。LSTM模型中的主要計(jì)算公式如下。
遺忘門計(jì)算公式為
ft=σ(Wf[ht -1,xt]+bf)。
式中:ht -1表示前一個(gè)輸出;xt表示當(dāng)前輸入;Wf和bf分別表示遺忘門層的權(quán)重和閾值;ft表示遺忘層的輸出。
輸入門計(jì)算公式為
更新的公式為
式中:Ct是輸出狀態(tài);Ct -1為舊狀態(tài)。
輸出門計(jì)算公式為
式中:[ht -1,xt]是判斷輸出哪些狀態(tài)特征;Wo和bo分別表示輸出門層的權(quán)重和閾值;ht為最終的輸出。
BiLSTM模型由2個(gè)LSTM模型組合而成,一個(gè)是前向網(wǎng)絡(luò)、另一個(gè)則是后向網(wǎng)絡(luò)。BiLSTM模型的最后輸出結(jié)果是由雙向計(jì)算結(jié)果疊加而成。使用BiLSTM模型進(jìn)行任務(wù)分類時(shí)內(nèi)部結(jié)構(gòu)如圖5所示。
圖5 BiLSTM模型結(jié)構(gòu)
其中,x0,x1,…,xn -1,xn表示句中第n個(gè)詞文本特征表示,hL0,hL1,…,hL(n -1),hLn和hR0,hR1,…,hR(n -1),hRn表示第n個(gè)位置的前向和后向輸出,LSTML和LSTMR表示BiLSTM的傳遞方向,L代表前項(xiàng),R代表后向。[hRn,hLn]由前向和后向結(jié)果拼接而成,最后經(jīng)過SoftMax層輸出分類結(jié)果。
由于LSTM模型只是從前到后單向的輸出,缺乏從后到前的編碼信息,本文選用了能夠獲得雙向語義信息的BiLSTM模型作為ALBERT-BiLSTM-ATT模型中BiLSTM-ATT層的底層。
人們在表達(dá)情感時(shí),每句話中所使用詞的側(cè)重點(diǎn)是不一樣的。因而每個(gè)中文微博文本中的情感信息皆可以被劃分為重要信息和非重要信息。
在NLP應(yīng)用領(lǐng)域里,2017年開始引入了Attention機(jī)制[16]。Attention特點(diǎn)是賦予重點(diǎn)程度不同的信息不同的權(quán)重,重要信息會(huì)被分配較大的權(quán)重而非重要信息則被分配較小的權(quán)重。通過計(jì)算會(huì)得到這些信息的向量,然后將這些向量信息組合在一起作為Attention層的輸出結(jié)果。Attention層中主要的計(jì)算公式如下:
式中:wd和bd分別是Attention層的權(quán)重和偏置;ud是隨機(jī)的初始化向量;αx代表文本中第x個(gè)詞的重要程度;Z是Attention層的最終結(jié)果;hx是BiLSTM層的輸出結(jié)果。
為了能讓ALBERT-BiLSTM-ATT模型獲得更有意義的信息,使模型可以更多關(guān)注重要信息,而忽略一些非重要信息,本文在BiLSTM模型的上層設(shè)計(jì)增加了一層Attention層,構(gòu)成一個(gè)完整的BiLSTM-ATT層。
本文實(shí)驗(yàn)數(shù)據(jù)集選用公開發(fā)布的數(shù)據(jù)集“微博2018”。該數(shù)據(jù)集是帶情感標(biāo)注的中文微博文本語料庫,正面情感標(biāo)注為1,負(fù)面情感標(biāo)注為0。數(shù)據(jù)集共有10 500條微博文本,分為10 000條訓(xùn)練集(train.txt)和500條測試集(test.txt)數(shù)據(jù)。
為了保證實(shí)驗(yàn)的準(zhǔn)確性和有效性,本實(shí)驗(yàn)重新劃分了訓(xùn)練集與測試集,劃分比例為7∶3。該數(shù)據(jù)集已對與實(shí)驗(yàn)無關(guān)的數(shù)據(jù)進(jìn)行預(yù)處理操作,太短或太長以及意義表達(dá)不明確等的微博文本信息已被排除。
“微博2018”數(shù)據(jù)集樣例如表1所示。
表1 “微博2018”數(shù)據(jù)集樣例
文中實(shí)驗(yàn)選用的模型預(yù)測結(jié)果分類方法如表2所示。
表2 模型預(yù)測結(jié)果分類
文中實(shí)驗(yàn)選用的評價(jià)指標(biāo)包括:精確率(P)、召回率(R)和F1值(F1)。
精確率是指TP的數(shù)量NTP在NTP與FP數(shù)量NFP之和中的占比。其計(jì)算公式為
召回率是指NTP在NTP與FN數(shù)量NFN之和中的占比。其計(jì)算公式為
F1值是精確率和召回率的調(diào)和均值,相當(dāng)于精確率和召回率的綜合評價(jià)指標(biāo)。其計(jì)算公式為
在本文的實(shí)驗(yàn)中,為了驗(yàn)證ALBERT層更能有效的捕捉文本特征,設(shè)置將Word2Vec詞向量模型和FastText詞向量模型(Facebook開發(fā)的一款快速文本分類器模型)與ALBERT模型對比。
對比實(shí)驗(yàn)中模型參數(shù)設(shè)置情況如下:
1) 基于Word2Vec模型訓(xùn)練生成詞向量,分別將得到的文本詞向量輸入TextCNN、BiLSTM和BiLSTM-ATT模型中實(shí)現(xiàn)微博文本情感分析;
2) 利用FastText模型訓(xùn)練生成詞向量,分別將得到的文本詞向量輸入TextCNN、BiLSTM和BiLSTM-ATT模型中實(shí)現(xiàn)微博文本情感分析;
3) 使用ALBERT預(yù)訓(xùn)練模型提取文本特征作為文本向量,將其分別輸入到BiLSTM模型和基于Attention機(jī)制的BiLSTM模型中實(shí)現(xiàn)情感二分類。
實(shí)驗(yàn)參數(shù)設(shè)置主要針對4個(gè)模型,分別為Word2Vec模型、FastText模型、ALBERT模型和BiLSTM-ATT模型。
其中,Word2vec詞向量模型的參數(shù)設(shè)置為:詞向量維度為100,最低詞頻為3,上下文窗口大小為5。FastText詞向量模型的參數(shù)設(shè)置與Word2vec詞向量模型參數(shù)設(shè)置保持一致。ALBERT預(yù)訓(xùn)練模型選用ALBERT_tiny模型,其詳細(xì)參數(shù)設(shè)置為:層數(shù)為4層,隱藏層大小為312,詞向量維度為128,參數(shù)量為4M。BiLSTM-ATT模型實(shí)驗(yàn)參數(shù)設(shè)置為:隱藏層為128,Droupout為0.5,激活函數(shù)為ReLu。
對比實(shí)驗(yàn)結(jié)果如表3所示。
表3 對比實(shí)驗(yàn)結(jié)果
由對比實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn):
1) 在基于Word2Vec和FastTtext詞向量上,TextCNN、BiLSTM和BiLSTM-ATT三個(gè)模型之間比較,TextCNN模型的效果略遜于其他2個(gè)模型;
2) 傳統(tǒng)詞向量Word2Vec和FastTtext模型得到的詞向量是靜態(tài)的,雖然在詞語相似度上能達(dá)到很好的效果,但在一詞多義的情況下效果并不好,所以基于Word2Vec和FastTtext的模型效果沒有ALBERT預(yù)訓(xùn)練動(dòng)態(tài)詞向量好,相較于Word2Vec和FastTtext的模型,由ALBERT模型生成的動(dòng)態(tài)詞向量的模型在數(shù)據(jù)集上達(dá)到的精確率均有提高;
3) 相比單獨(dú)的BiLSTM模型,融合BiLSTM和Attention模型精確率效果更佳,對比Word2Vec詞向量模型、FastTtext詞向量模型和ALBERT模型,BiLSTM-ATT模型精確率分別到達(dá)65.0%、80.5%、86.0%,召回率分別達(dá)到65.0%、78.5%、87.0%,F1值分別達(dá)到64.5%、79.0%、86.0%,而ALBERT-BiLSTM-ATT模型在數(shù)據(jù)集上達(dá)到的效果更佳,精確率為86.0%,召回率為87.0%,F1值為86.0%。
對比實(shí)驗(yàn)結(jié)果表明,將ALBERT-BiLSTM-ATT模型應(yīng)用在微博文本情感分析上是可行的,并且可以達(dá)到更高的精確率、召回率和F1值。
由于人類情感的復(fù)雜性,人們面對大量的微博文本,很難準(zhǔn)確且快速地識(shí)別出文本屬于積極情感還是消極情感。本文提出一種基于多模型融合的微博文本情感分析模型ALBERT-BiLSTM-ATT。該模型通過引入ALBERT模型層生成文本特征表示,解決傳統(tǒng)微博文本情感分析不能獲得一詞多義的關(guān)鍵信息,并通過融合BiLSTM和Attention的BiLSTM-ATT層對文本局部特征進(jìn)行提取。通過8組對比實(shí)驗(yàn)進(jìn)行微博文本情感分析實(shí)驗(yàn)驗(yàn)證,對比實(shí)驗(yàn)結(jié)果表明ALBERT-BiLSTM-ATT模型的微博文本情感分析質(zhì)量更高,其精確率達(dá)到了86.0%,召回率達(dá)到87.0%,F1值達(dá)到86.0%。
ALBERT-BiLSTM-ATT模型在微博情感分析實(shí)驗(yàn)中達(dá)到了好的效果,可以為相關(guān)的網(wǎng)絡(luò)輿情分析工作奠定較好的基礎(chǔ)。但相較于BERT模型,雖然在ALBERT模型中進(jìn)行了參數(shù)化等問題的改進(jìn),但其參數(shù)數(shù)量仍然很大,這將導(dǎo)致盡管其訓(xùn)練過程比BERT模型用時(shí)短、但卻比傳統(tǒng)機(jī)器學(xué)習(xí)模型用時(shí)長的問題。因此,在接下來的研究中將針對上述問題進(jìn)行改進(jìn),以期進(jìn)一步探索新的方法,并提出新的模型。