趙天銳
(戰(zhàn)略支援部隊(duì)信息工程大學(xué) 洛陽(yáng)校區(qū),河南 洛陽(yáng)471000)
情感分析本質(zhì)上屬于文本分類(lèi)任務(wù),是以文本中包含的情感傾向?yàn)闃?biāo)準(zhǔn),對(duì)文本進(jìn)行分類(lèi)。隨著計(jì)算機(jī)和互聯(lián)網(wǎng)的不斷發(fā)展,對(duì)海量文本信息進(jìn)行處理、分析后得出信息中的情感分布成為可能。對(duì)社交媒體、新聞評(píng)論等進(jìn)行情感分析后得到的結(jié)論,也可以進(jìn)一步應(yīng)用在輿情分析、觀點(diǎn)挖掘等領(lǐng)域當(dāng)中。
傳統(tǒng)情感分析方法分為基于情感詞典的方法和基于機(jī)器學(xué)習(xí)的方法,兩種方法各有所長(zhǎng)。而隨著深度學(xué)習(xí)技術(shù)的持續(xù)進(jìn)步,提出了將深度學(xué)習(xí)和詞向量相結(jié)合,引入情感分析領(lǐng)域的研究方法。目前在自然語(yǔ)言處理領(lǐng)域,詞向量是具有代表性的語(yǔ)義分布式表示方式,其中具有代表性的是Word2Vec[1]和FastText[2]。但是,目前大部分相關(guān)研究都是基于英文、中文等通用語(yǔ)。而對(duì)韓語(yǔ)而言,無(wú)論是韓國(guó)國(guó)內(nèi)學(xué)者還是國(guó)際學(xué)者,對(duì)韓語(yǔ)情感分析的研究成果較少。因此,本文利用網(wǎng)絡(luò)爬蟲(chóng),爬取韓語(yǔ)影評(píng)語(yǔ)料形成語(yǔ)料庫(kù),使用FastText方法訓(xùn)練詞向量,而后使用多個(gè)深度學(xué)習(xí)模型進(jìn)行對(duì)比實(shí)驗(yàn),尋找適合韓語(yǔ)的情感分析模型。進(jìn)而提出融合卷積神經(jīng)網(wǎng)絡(luò)和雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),并加入Self-Attention機(jī)制的韓語(yǔ)情感分析模型,并在自建的韓語(yǔ)數(shù)據(jù)集上證明了該模型的有效性。
情感分析最早是由Pang等[3]于2002年提出的概念。近來(lái),深度學(xué)習(xí)因在自然語(yǔ)言處理任務(wù)中逐漸顯露出優(yōu)越的性能[4],受到越來(lái)越多的關(guān)注。由于基于深度學(xué)習(xí)的方法可以使模型從數(shù)據(jù)中自行學(xué)習(xí)語(yǔ)言特征,該方法與傳統(tǒng)機(jī)器學(xué)習(xí)算法相比通常能取得更好的效果。由于文本的數(shù)據(jù)結(jié)構(gòu)較為稀疏且長(zhǎng)度較大,為了能實(shí)現(xiàn)對(duì)文本的處理,需要較好的文本特征提取方式,而其中影響力最大的就是詞嵌入(Word Embedding)。Milokov等提出的Word2Vec是詞嵌入的代表性方法,該方法可以利用上下文信息得出各單詞之間的相關(guān)性,最終以高維向量的形式將這種相關(guān)性展現(xiàn)出來(lái)。因?yàn)樵~嵌入的出現(xiàn),之前被認(rèn)為缺乏實(shí)用性的神經(jīng)網(wǎng)絡(luò)算法再次受到關(guān)注,并且這種算法也被應(yīng)用于情感分析任務(wù),收到了較好的效果。文獻(xiàn)[5]中提出了可以捕捉文本序列信息的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。而針對(duì)RNN學(xué)習(xí)長(zhǎng)期依賴?yán)щy的問(wèn)題,學(xué)界相繼提出了長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)和雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-LSTM)。這些模型通過(guò)在隱藏層增加3種“門(mén)”結(jié)構(gòu),控制神經(jīng)元的狀態(tài),也提高了情感分析的準(zhǔn)確度。此外,在圖像處理方面展現(xiàn)出優(yōu)越性能的卷積神經(jīng)網(wǎng)絡(luò)(CNN)也被用來(lái)解決情感分類(lèi)任務(wù)[6]。在Attention注意力機(jī)制提出后,Bahdanau等首先將其應(yīng)用到機(jī)器翻譯領(lǐng)域。實(shí)驗(yàn)結(jié)果證明效果高于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型。于是,很多專家學(xué)者將其應(yīng)用在文本分類(lèi)任務(wù)中,也收到了較好的驗(yàn)證效果。尤其是引入Attention機(jī)制的BiLSTM模型,可以達(dá)到很高的準(zhǔn)確率。
上述研究方法大多已應(yīng)用于通用語(yǔ)的情感分析,韓國(guó)國(guó)內(nèi)和國(guó)際學(xué)者以韓語(yǔ)文本為研究對(duì)象也進(jìn)行了一定的探索。文獻(xiàn)[7]中對(duì)韓語(yǔ)文本進(jìn)行分詞,訓(xùn)練詞向量,而后運(yùn)用CNN進(jìn)行文本分類(lèi);文獻(xiàn)[8]則在進(jìn)行詞嵌入后使用RNN進(jìn)行分類(lèi)。此外,結(jié)合韓語(yǔ)本身的語(yǔ)言特征,文獻(xiàn)[9]完成了以音節(jié)為單位,對(duì)文本進(jìn)行預(yù)處理的研究;文獻(xiàn)[10]則以音素為單位,研究文本的預(yù)處理方案;文獻(xiàn)[11]中是先通過(guò)比較試驗(yàn),選出了單詞、音節(jié)、音素中最適合進(jìn)行韓語(yǔ)文本預(yù)處理的單位,而后提出了雙向堆疊的Bi-LSTM模型,在電影評(píng)論數(shù)據(jù)集中達(dá)到約88.95%的準(zhǔn)確率。而Lee[12]以購(gòu)物評(píng)論為對(duì)象進(jìn)行分析,結(jié)合不同用戶群體評(píng)論中的關(guān)鍵字特征,提高了神經(jīng)網(wǎng)絡(luò)模型的效率。
2.1.1 文本預(yù)處理
2.1.2 文本的向量化表示
文本向量化是指將文本的分詞結(jié)果用詞向量進(jìn)行表示。本文采用的向量化表示方法是Facebook提出的一種高效的淺層網(wǎng)絡(luò)——FastText。FastText和Word2Vec中的CBOW原理相似,整個(gè)模型有輸入層、隱藏層和輸出層。兩個(gè)模型的輸入都是用向量表示的單詞,隱藏層都是多個(gè)詞向量的疊加平均,輸出都是特定的Target。FastText和CBOW區(qū)別在于:
(1)前者輸入的是多個(gè)單詞及其n-gram特征,而后者輸入的是目標(biāo)單詞的上下文;
(2)前者輸入的特征經(jīng)過(guò)嵌入層,后者輸入的特征經(jīng)過(guò)獨(dú)熱編碼;
(3)前者輸出的是對(duì)應(yīng)文檔類(lèi)型的標(biāo)簽,而后者輸出的是目標(biāo)詞匯。FastText利用h-softmax的分類(lèi)功能,通過(guò)對(duì)分類(lèi)樹(shù)所有葉子節(jié)點(diǎn)的遍歷,尋找概率值最大的標(biāo)簽。本文采用Python語(yǔ)言編寫(xiě)Gensim庫(kù)中的FastText模型,對(duì)構(gòu)建的語(yǔ)料庫(kù)中文本進(jìn)行10 000次迭代后,得到由該模型訓(xùn)練的詞向量。
借助FastText輸出的詞向量,可以更清楚地看到單詞間語(yǔ)義的親疏關(guān)系。衡量詞義遠(yuǎn)近關(guān)系的標(biāo)準(zhǔn)是余弦相似度,余弦相似度越大則單詞間的聯(lián)系越緊密。在影評(píng)語(yǔ)料中與“”關(guān)聯(lián)度最高的10個(gè)詞見(jiàn)表1。

表1 詞向量語(yǔ)義相似度Tab.1 Word Vector Semantic Similarity
卷積神經(jīng)網(wǎng)絡(luò)最初應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域中的圖像分類(lèi)、目標(biāo)檢測(cè)、圖像語(yǔ)義分割等任務(wù),是一種包含卷積計(jì)算的前饋神經(jīng)網(wǎng)絡(luò)。后經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),其用于文本分類(lèi)中也可以得到較好的效果。經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、卷積層、池化層、全連接層和輸出層。其中,卷積層對(duì)輸入的特征進(jìn)行特征提取;池化層對(duì)提取過(guò)后的特征進(jìn)行下采樣以減少運(yùn)算量,提高運(yùn)行效率,得到局部最優(yōu)值;池化層后是全連接層和輸出層;為了防止出現(xiàn)過(guò)擬合,還要加入Dropout操作,最終通過(guò)分類(lèi)器進(jìn)行分類(lèi)。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 CNN結(jié)構(gòu)圖Fig.1 CNN Structure
本文中將CNN的卷積核大小設(shè)置為(3、4、5),每個(gè)大小相同的卷積核的通道數(shù)設(shè)置為2。這樣CNN可以分別提取詞匯在原句中的3-gram、4-gram和5-gram特征。
1997年Hochreiter等針對(duì)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的梯度消失和梯度爆炸等問(wèn)題,首次提出了長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM)。與原來(lái)的RNN相比,LSTM加入了“門(mén)”結(jié)構(gòu)來(lái)控制信息的傳遞,較好地解決了文本的長(zhǎng)距離依賴問(wèn)題。LSTM主要包含輸入門(mén)(it)、遺忘門(mén)(ft)、輸出門(mén)(Ot)與一個(gè)記憶單元(Ct).具體結(jié)構(gòu)如圖2所示。

圖2 LSTM內(nèi)部結(jié)構(gòu)圖Fig.2 LSTM Structure
最初提出的LSTM模型在處理自然語(yǔ)言時(shí),只考慮了上文的語(yǔ)義信息而忽略了下文信息,為了彌補(bǔ)這個(gè)缺陷,可以使用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bi-LSTM)模型。Bi-LSTM通過(guò)構(gòu)建對(duì)齊的雙層LSTM模型,同時(shí)進(jìn)行自前向后和自后向前傳播模型。Bi-LSTM模型包含了輸入層、前向傳遞層、后向傳遞層和輸出層。本文使用的Bi-LSTM結(jié)構(gòu)如圖3所示:

圖3 Bi-LSTM模型結(jié)構(gòu)Fig.3 Bi-LSTM Structure
為充分考慮文本的上下文信息,準(zhǔn)確提取文本的特征,將預(yù)處理過(guò)的每條短文本表示為向量形式后,作為Bi-LSTM網(wǎng)絡(luò)的輸入。假設(shè):輸入內(nèi)容X={x1,x2,…,xt},X是每條短文本中所有單詞向量組成的句向量,每個(gè)xi(i=1,2,…,t)是單個(gè)詞向量。前向傳遞層和后向傳遞層分別用于學(xué)習(xí)上下文的文本信息,同時(shí)連接到輸出層。Wi1、Wi2分別為輸入門(mén)到前向單元和后向單元的權(quán)值矩陣,Wf1、Wf2分別為前向和后向傳遞層隱含單元遺忘門(mén)的權(quán)值矩陣。Wo1、Wo2分別為前向和后向傳遞層到輸出門(mén)的權(quán)值矩陣。本文中的Bi-LSTM接受詞向量作為輸入,最終輸出值由前向傳遞層和后向傳遞層共同學(xué)習(xí)到的語(yǔ)義信息組成。如將這句話輸入到模型當(dāng)中,分詞后得到,而后3個(gè)單詞的詞向量會(huì)輸入網(wǎng)絡(luò),前向傳遞層會(huì)得到3個(gè)向量{hf0,hf1,hf2},后向傳遞層也會(huì)得到3個(gè)向量{hb0,hb1,hb2}。將前后傳遞層的最后一項(xiàng)輸出進(jìn)行拼接,可以得到[hf2,hb2],將該向量作為輸入接入全連接層,可以進(jìn)行文本情感分類(lèi)。
注意力機(jī)制的出現(xiàn)最早是為解決計(jì)算機(jī)視覺(jué)領(lǐng)域的問(wèn)題,Google Mind在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,添加了注意力機(jī)制處理圖像分類(lèi)任務(wù)。隨后Bahdanau等[13]將Attention機(jī)制引入自然語(yǔ)言處理領(lǐng)域,實(shí)現(xiàn)了在機(jī)器翻譯任務(wù)中翻譯和對(duì)齊同時(shí)進(jìn)行。2017年,Google機(jī)器翻譯團(tuán)隊(duì)大量使用了自注意力(Self-Attention)機(jī)制,并在不同的自然語(yǔ)言處理任務(wù)上進(jìn)行實(shí)驗(yàn),取得了良好的效果。自注意力機(jī)制的基本結(jié)構(gòu)如圖4所示。

圖4 Self-Attention基本結(jié)構(gòu)Fig.4 Self-Attention Structure
Google團(tuán)隊(duì)在發(fā)布的論文中提出放縮點(diǎn)積Attention機(jī)制(scaled dot-Product attention),其實(shí)質(zhì)是在原本使用點(diǎn)積進(jìn)行相似度計(jì)算的Attention基礎(chǔ)上,除以一個(gè)標(biāo)準(zhǔn)尺度起到調(diào)節(jié)作用。這可以防止Q和K的點(diǎn)積結(jié)果過(guò)大,然后通過(guò)softmax操作將注意力得分歸一化為概率分布。注意力機(jī)制的得分計(jì)算如式(1):

本文采用融入自注意力機(jī)制的Bi-LSTM+CNN模型,作為韓國(guó)語(yǔ)情感分析模型。模型整體架構(gòu)如圖5所示。

圖5 融入自注意力機(jī)制的Bi-LSTM+CNN模型結(jié)構(gòu)Fig.5 ATT-Bi-LSTM+CNN Structure
本文建構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,利用Bi-LSTM和CNN分別對(duì)輸入的詞向量進(jìn)行特征提取并進(jìn)行組合,而后通過(guò)詞語(yǔ)關(guān)聯(lián)度的注意力機(jī)制對(duì)組合后的特征進(jìn)行進(jìn)一步的優(yōu)化,將優(yōu)化后的特征作為全連接層的輸入,以完成情感分類(lèi)任務(wù)。該模型的優(yōu)勢(shì)在于將Bi-LSTM和CNN的優(yōu)勢(shì)進(jìn)行有機(jī)結(jié)合:前者關(guān)注與文本語(yǔ)境相關(guān)的特征,后者關(guān)注局部特征,從而對(duì)文本信息的捕捉更加全面。這種網(wǎng)絡(luò)對(duì)傳統(tǒng)單一神經(jīng)網(wǎng)絡(luò)存在的問(wèn)題,如:忽略詞匯上下文語(yǔ)義信息,梯度消失和梯度離散等能起到一定的緩解作用。注意力機(jī)制的引入讓神經(jīng)網(wǎng)絡(luò)在進(jìn)行分類(lèi)時(shí),能給予情感關(guān)鍵詞更高的權(quán)重,有助于情感分類(lèi)。
本文在預(yù)處理過(guò)的文本上使用FastText模型訓(xùn)練詞向量,而后將所得詞向量輸入Bi-LSTM+CNN模型,進(jìn)行迭代訓(xùn)練后輸出預(yù)測(cè)的情感標(biāo)簽。實(shí)驗(yàn)環(huán)境見(jiàn)表2。

表2 實(shí)驗(yàn)環(huán)境Tab.2 Lab Environment

表3 實(shí)驗(yàn)數(shù)據(jù)樣例Tab.3 Sample Experimental Data
本文采用準(zhǔn)確率(Precision)、召回率(Recall)和F1-score3種通用的國(guó)際標(biāo)準(zhǔn),對(duì)各種實(shí)驗(yàn)?zāi)P瓦M(jìn)行評(píng)估。其中,準(zhǔn)確率指被正確分類(lèi)的樣本占總體樣本的比例;召回率是被正確分類(lèi)的樣本占此類(lèi)樣本的比例;F1-score是當(dāng)a=1時(shí)的準(zhǔn)確率和召回率的調(diào)和均值。3種評(píng)價(jià)標(biāo)準(zhǔn)的計(jì)算公式見(jiàn)表4。公式中各項(xiàng)數(shù)據(jù)的含義見(jiàn)表5。

表4 實(shí)驗(yàn)評(píng)價(jià)標(biāo)準(zhǔn)計(jì)算公式Tab.4 Experimental Evaluation Standard Calculation

表5 混淆矩陣Tab.5 Confusion Matrix
實(shí)驗(yàn)參數(shù)的設(shè)置要經(jīng)過(guò)多輪實(shí)驗(yàn)調(diào)整才能得到良好的效果。在本文進(jìn)行的實(shí)驗(yàn)中,首先要在數(shù)據(jù)集上使用FastText訓(xùn)練詞向量,然后利用訓(xùn)練的詞向量進(jìn)行情感分類(lèi)。經(jīng)過(guò)多次對(duì)比實(shí)驗(yàn),結(jié)合數(shù)據(jù)集的實(shí)際狀況,最終設(shè)置的FastText模型參數(shù)見(jiàn)表6;在得到詞向量后要利用其進(jìn)行情感分類(lèi),本文提出了融入自注意力機(jī)制的Bi-LSTM+CNN模型,最終設(shè)置的模型參數(shù)分別見(jiàn)表7和表8。

表6 FastText模型參數(shù)設(shè)置Tab.6 FastText Model Parameters

表7 CNN參數(shù)設(shè)置Tab.7 CNN Model Parameters

表8 Bi-LSTM參數(shù)設(shè)置Tab.8 Bi-LSTM Model Parameters
為證明模型的有效性,在自建數(shù)據(jù)集上將經(jīng)典的情感分類(lèi)算法和本文提出的融入自注意力機(jī)制的Bi-LSTM+CNN模型進(jìn)行對(duì)比實(shí)驗(yàn)。為控制變量,實(shí)驗(yàn)采用的詞向量皆為在數(shù)據(jù)集中通過(guò)FastText模型訓(xùn)練得到的詞向量。
(1)CNN模型:CNN模型注重局部特征,在自建韓國(guó)語(yǔ)文本數(shù)據(jù)集上取得的效果較差;
(2)LSTM模型:LSTM與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)相比,加入了“門(mén)”機(jī)制,可以部分解決梯度爆炸和梯度離散問(wèn)題;
(3)Bi-LSTM模型:Bi-LSTM模型可以提取文本上下文相關(guān)的全局特征,相較于單向的LSTM模型分類(lèi)效果有所提升;
(4)ATT-CNN模型:應(yīng)用注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)可以縮短訓(xùn)練時(shí)間,同時(shí)通過(guò)注意力機(jī)制彌補(bǔ)了捕捉信息的不足;
(5)ATT-Bi-LSTM模型:在Bi-LSTM模型中加入了Self-Attention機(jī)制。先利用Bi-LSTM網(wǎng)絡(luò)提取文本序列的信息,而后借助Self-Attention機(jī)制對(duì)關(guān)鍵詞給予更多權(quán)重;
(6)ATT-Bi-LSTM+CNN模型:本文提出的模型,先使用Bi-LSTM和CNN網(wǎng)絡(luò)分別提取文本的上下文和局部特征,而后經(jīng)過(guò)Self-Attention優(yōu)化進(jìn)行情感分析的算法。
本文算法與其它算法在自建數(shù)據(jù)集上的表現(xiàn)見(jiàn)表9。

表9 不同模型評(píng)價(jià)標(biāo)準(zhǔn)對(duì)比Tab.9 Comparison of Different Models
通過(guò)表(9)的數(shù)據(jù),可以得到如下結(jié)論:
(1)通過(guò)對(duì)比LSTM和Bi-LSTM的數(shù)據(jù),雙向模型更好地考慮上下文的信息,在自建數(shù)據(jù)集上的表現(xiàn)較單向模型更優(yōu);
(2)分別對(duì)比CNN與ATT-CNN、Bi-LSTM和ATT-Bi-LSTM的數(shù)據(jù)可知,在原有的模型中增加注意力機(jī)制,可以有效地實(shí)現(xiàn)對(duì)文本中重點(diǎn)信息的關(guān)注,從而提升模型的表現(xiàn)。CNN加入注意力機(jī)制后準(zhǔn)確率、召回率和F1-score的值分別提升了2.08%、1.64%和0.0186;Bi-LSTM則分別提升了1.09%、0.77%和0.008 8。
(3)通過(guò)對(duì)比ATT-CNN、ATT-Bi-LSTM和ATT-Bi-LSTM+CNN的效果可知,相比于單一的CNN和Bi-LSTM,兩者提取特征的組合更能在上下文語(yǔ)境信息和局部特征兩方面取得平衡。本文提出的模型在數(shù)據(jù)集上取得了較好的效果,準(zhǔn)確率、召回率和F1-score均高于其它模型,證明了本文提出算法的有效性。
本文提出了融入自注意力機(jī)制的Bi-LSTM+CNN韓國(guó)語(yǔ)短文本情感分析模型,使用FastText模型訓(xùn)練詞向量。綜合利用CNN和Bi-LSTM關(guān)注局部特征和提取上下文語(yǔ)境信息的優(yōu)勢(shì)。為證明模型有效性,本文設(shè)計(jì)了對(duì)比實(shí)驗(yàn),結(jié)果顯示本文提出的模型在自建數(shù)據(jù)集中取得了優(yōu)于其他算法的效果,證明了模型的有效性。
然而本文在處理文本時(shí),只考慮了上下文信息,并未充分利用韓國(guó)語(yǔ)的詞性、音素等語(yǔ)言學(xué)特征,因此未來(lái)可以考慮在分類(lèi)時(shí)加入此類(lèi)特征,觀察其對(duì)分類(lèi)結(jié)果的影響。