王根生,黃學(xué)堅(jiān),閔 潞
1(江西財(cái)經(jīng)大學(xué) 計(jì)算機(jī)實(shí)踐教學(xué)中心,南昌 330013) 2(江西財(cái)經(jīng)大學(xué) 國(guó)際經(jīng)貿(mào)學(xué)院,南昌 330013) 3(江西財(cái)經(jīng)大學(xué) 人文學(xué)院,南昌 330013)E-mail:wgs74@126.com
隨著互聯(lián)網(wǎng)平臺(tái)的快速發(fā)展和普及,越來(lái)越多網(wǎng)民通過(guò)網(wǎng)上發(fā)表自己的觀點(diǎn)和評(píng)論.如何快速準(zhǔn)確的對(duì)這些信息進(jìn)行情感分類(lèi)是網(wǎng)絡(luò)輿情監(jiān)控的一個(gè)重要環(huán)節(jié)[1,2].目前文本情感分類(lèi)主要分為基于語(yǔ)義理解的算法、基于人工特征工程的機(jī)器學(xué)習(xí)算法、基于深度學(xué)習(xí)的算法和混合型算法[3].
基于語(yǔ)義理解的文本情感分類(lèi)算法通過(guò)情感詞典和情感句式模板對(duì)文本進(jìn)行情感判斷[4].如Recchia通過(guò)點(diǎn)互信息(point mutual information,PMI)度量詞語(yǔ)和情感詞典中褒貶詞的相似度,并通過(guò)這個(gè)相似度來(lái)計(jì)算詞語(yǔ)的情感度,再通過(guò)對(duì)文本所有詞語(yǔ)的情感度進(jìn)行累加判斷文本情感[5];Bin通過(guò)HowNet語(yǔ)義字典計(jì)算詞語(yǔ)情感度,并對(duì)副詞、連詞和句子結(jié)構(gòu)進(jìn)行分析,構(gòu)建文本情感分類(lèi)算法[6];Agarwal針對(duì)情感表達(dá)的多詞特征,使用非結(jié)構(gòu)化的文本情感詞進(jìn)行情感表示,并通過(guò)語(yǔ)義取向的方法對(duì)多詞特征進(jìn)行覆蓋,從而實(shí)現(xiàn)更精準(zhǔn)的文本情感分類(lèi)[7];王日宏通過(guò)加入情感義原從新定義情感相似度的計(jì)算,側(cè)重情感詞、否定詞、副詞的組合分析,提出否定詞和程度詞綜合處理模塊,并結(jié)合連詞為劃分標(biāo)準(zhǔn)的語(yǔ)句情感傾向分類(lèi)[8];史偉通過(guò)情感空間模型,將在線(xiàn)評(píng)論情感細(xì)分為情緒表達(dá)和特征評(píng)價(jià)兩方面,構(gòu)建句子到文檔層的情感計(jì)算方法[9];馮時(shí)提出一種基于句法依存分析技術(shù)的算法(sentiment orientation analysis based on syntactic dependency,SOAD)對(duì)博文搜索結(jié)果進(jìn)行情感傾向性分析[10].
基于人工特征工程的機(jī)器學(xué)習(xí)算法通過(guò)對(duì)已標(biāo)注情感類(lèi)別的訓(xùn)練樣本進(jìn)行人工特征選取,再使用機(jī)器學(xué)習(xí)算法進(jìn)行訓(xùn)練,得出分類(lèi)模型[11].這類(lèi)機(jī)器學(xué)習(xí)算法主要有樸素貝葉斯(na?ve bayesian,NB)、K-近鄰(k-nearest neighbor,KNN)、支持向量機(jī)(support vector machine,SVM)等[12].如Nivet通過(guò)貪心法進(jìn)行情感特征搜索,再使用多項(xiàng)式樸素貝葉斯算法進(jìn)行訓(xùn)練,得出情感分類(lèi)模型[13];Kalaivani使用信息增益(information gain,IG)進(jìn)行特征選擇,再通過(guò)KNN算法對(duì)文本的情感類(lèi)別進(jìn)行判斷[14];Yang提出一種基于改進(jìn)一對(duì)一(one vs one,OVO)策略和SVM組合的多類(lèi)別情感分類(lèi)算法,使用多個(gè)SVM分類(lèi)器構(gòu)成置信度得分矩陣,使用改進(jìn)的OVO策略確定文本的情感類(lèi)別[15];冀俊忠通過(guò)特征選擇對(duì)情感詞典中的詞賦予不同權(quán)重,分析詞語(yǔ)情感極性和文檔情感的相關(guān)性,將情感詞語(yǔ)義權(quán)重特征融合到樸素貝葉斯算法中,實(shí)現(xiàn)文本情感分類(lèi)[16];唐曉波通過(guò)計(jì)算情感詞的數(shù)量和情感度大小,提出貶義量和褒義量的概念,作為K-近鄰算法的特征向量,進(jìn)行文本情感分類(lèi)[17];肖正利用潛在語(yǔ)義分析(latent semantic analysis,LSA)方法建立“詞-文檔”的語(yǔ)義距離向量空間模型,然后使用SVM算法進(jìn)行情感分類(lèi)[18].
基于深度學(xué)習(xí)的算法是目前比較流行的文本情感分類(lèi)算法[19],主要分為兩個(gè)部分,一部分是通過(guò)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型學(xué)習(xí)低維詞嵌入(word embedding)向量,第二部分是通過(guò)深度神經(jīng)網(wǎng)絡(luò)對(duì)詞嵌入數(shù)據(jù)進(jìn)行建模,實(shí)現(xiàn)文本情感特征深層學(xué)習(xí).如Xiao通過(guò)多層RBM(Restricted Boltzmann Machine)構(gòu)建DNN(Deep Neural Network)網(wǎng)絡(luò)結(jié)構(gòu),以獲得更好的高層特征表示,實(shí)現(xiàn)微博的情感分類(lèi)[20];Tao提出一種分而治之的方法,首先通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)模型把句子分成不同類(lèi)型,然后利用一維卷積神經(jīng)網(wǎng)絡(luò)對(duì)每種類(lèi)型的句子做情感分類(lèi)[21];Minlie通過(guò)標(biāo)簽學(xué)習(xí)函數(shù)得到詞語(yǔ)的詞性標(biāo)簽,把這些詞性標(biāo)簽編碼到神經(jīng)網(wǎng)絡(luò)中增強(qiáng)句子和短語(yǔ)的表達(dá),并通過(guò)正面(POS)標(biāo)簽控制樹(shù)形LSTM網(wǎng)絡(luò)的門(mén),得到情感分類(lèi)模型[22];張海濤通過(guò)Word2vec訓(xùn)練得到詞嵌入向量,再使用卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)對(duì)微博情感特征進(jìn)行局部到全局的學(xué)習(xí),得到情感分類(lèi)模型[23];羅帆使用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)對(duì)詞語(yǔ)和句子序列建模,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)識(shí)別跨語(yǔ)句的情感信息,構(gòu)成多層H-RNN-CNN網(wǎng)絡(luò)的文本情感分類(lèi)模型[24];孫曉提出一種基于多維擴(kuò)展特征與深度學(xué)習(xí)的微博短文本情感分析模型,針對(duì)微博短文的特征稀疏,引入社交關(guān)系網(wǎng)絡(luò)進(jìn)行特征擴(kuò)展,通過(guò)疊加多層玻爾茲曼機(jī)(RBM)構(gòu)建深度信念網(wǎng)絡(luò)(DBN),實(shí)現(xiàn)情感分類(lèi)[25];
混合型算法主要有基于語(yǔ)義理解獲得文本情感特征,再結(jié)合機(jī)器學(xué)習(xí)算法或者深度學(xué)習(xí)算法進(jìn)行情感分類(lèi);通過(guò)深度學(xué)習(xí)獲得低維詞嵌入向量再結(jié)合機(jī)器學(xué)習(xí)算法進(jìn)行情感分類(lèi);通過(guò)構(gòu)建多分類(lèi)器進(jìn)行分類(lèi).如Zhang利用Word2evc進(jìn)行詞嵌入的學(xué)習(xí),然后采用主成分分析方法(principal component analysis,PCA)對(duì)高維度向量進(jìn)行降低維度處理,形成特征向量,最后利用SVMperf對(duì)評(píng)論文本進(jìn)行訓(xùn)練和分類(lèi)[26];Catal基于樸素貝葉斯和支持向量機(jī)構(gòu)建多情感分類(lèi)器系統(tǒng)(MCS),利用投票的形式?jīng)Q定最終文本的情感類(lèi)別[27];Wu通過(guò)融合情感詞典和詞語(yǔ)間的特定領(lǐng)域關(guān)系,構(gòu)建多源領(lǐng)域的情感分類(lèi)模型[28];徐健鋒在使用信息增益對(duì)高維樣本降維的基礎(chǔ)上,將語(yǔ)義理解和機(jī)器學(xué)習(xí)相融合,設(shè)計(jì)一種混合語(yǔ)義理解的機(jī)器學(xué)習(xí)中文情感分類(lèi)算法[29];王汝嬌結(jié)合Tiwtter自身語(yǔ)言特征、情感字典資源設(shè)計(jì)原料特征和詞典特征,利用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)情感極性判斷[30];朱軍提出一種詞嵌入+支持向量機(jī)+情感詞典+樸素貝葉斯的集成學(xué)習(xí)情感分類(lèi)模型[31].
通過(guò)研究分析發(fā)現(xiàn),基于語(yǔ)義理解的文本情感分類(lèi)算法相對(duì)簡(jiǎn)單,對(duì)復(fù)雜多變的文本情感模型不易發(fā)現(xiàn),很難建立完善的情感詞典和句式搭配模板,導(dǎo)致算法具有很強(qiáng)的局限性;基于人工特征工程的機(jī)器學(xué)習(xí)文本情感分類(lèi)算法的效果很大程度上取決于人工特征工程,傳統(tǒng)人工特征工程存在語(yǔ)義丟失、矩陣稀疏、維度爆炸等問(wèn)題,且該類(lèi)算法是基于淺層的分類(lèi)模型,對(duì)深層次的特征難以捕獲,所以算法的泛化能力不強(qiáng);基于深度學(xué)習(xí)的文本情感分類(lèi)算法通過(guò)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型可以實(shí)現(xiàn)更好的文本表示,可以捕獲文本的深層特征,所以相比較前兩種算法能獲得更好的分類(lèi)效果.但大部分深度學(xué)習(xí)算法追求數(shù)據(jù)驅(qū)動(dòng),忽略了自然語(yǔ)言中關(guān)于情感、權(quán)重的先驗(yàn)知識(shí),導(dǎo)致算法需要大量的訓(xùn)練樣本才能獲得較好的效果.基于以上分析,本文提出基于詞嵌入特征、詞情感特征、詞權(quán)重特征三者融合的門(mén)控循環(huán)單元(Gated Recurrent Unit,GRU)神經(jīng)網(wǎng)絡(luò)文本情感分類(lèi)模型(TMMG).
為了讓計(jì)算機(jī)能夠處理文本,需要把詞語(yǔ)進(jìn)行數(shù)字化表示.最常見(jiàn)的思路是把詞語(yǔ)轉(zhuǎn)化成一個(gè)向量,如one-hot編碼,但one-hot編碼向量維度高、矩陣稀疏、語(yǔ)義缺失[32].針對(duì)這些問(wèn)題,Bengio提出一種神經(jīng)概率語(yǔ)言模型[33],把詞語(yǔ)映射到一個(gè)低維的向量空間,詞向量間的距離可以反映詞語(yǔ)的語(yǔ)義關(guān)系.Word2evc[34]是目前實(shí)現(xiàn)詞嵌入的主流框架.
Word2vec利用神經(jīng)網(wǎng)絡(luò)從大規(guī)模文本庫(kù)中學(xué)習(xí)詞嵌入向量,其包括Skip-Gram和CBOW兩種算法模型.Skip-Gram算法通過(guò)輸入詞wt來(lái)預(yù)測(cè)其上下文Swt=(wt-k,…,wt-1,wt+1,…,wt+k),其中k為wt上下文窗口大小.CBOW模型則是根據(jù)上下文Swt去預(yù)測(cè)wt.Skip-Gram和CBOW訓(xùn)練目標(biāo)優(yōu)化函數(shù)分別如公式(1)和公式(2)所示:
(1)
(2)
其中C為文本庫(kù)中所有的詞語(yǔ).Word2vec訓(xùn)練得到的模型是為了得到訓(xùn)練后神經(jīng)網(wǎng)絡(luò)中隱藏層的參數(shù)矩陣,這些隱藏層參數(shù)是Word2vec學(xué)習(xí)的詞嵌入向量.
門(mén)控循環(huán)單元(GRU)神經(jīng)網(wǎng)絡(luò)[35]是長(zhǎng)短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)[36]的變體.LSTM克服了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[37]在處理遠(yuǎn)距離依賴(lài)時(shí)的梯度消失或梯度爆炸問(wèn)題,可以很好的保持時(shí)序數(shù)據(jù)中長(zhǎng)短距離的依賴(lài)關(guān)系.GRU在保持了LSTM優(yōu)勢(shì)的同時(shí)網(wǎng)絡(luò)結(jié)構(gòu)也更簡(jiǎn)單,相比于LSTM輸入門(mén)(input gate)、輸出門(mén)(output gate)、遺忘門(mén)(forget gate)的三門(mén)結(jié)構(gòu),GRU只有更新門(mén)(update gate)和重置門(mén)(reset gate),GRU單元網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
圖1 GRU單元結(jié)構(gòu)Fig.1 GRU structure
GRU網(wǎng)絡(luò)向前傳播計(jì)算如公式(3)至公式(7)所示:
rt=σ(Wr·[ht-1,xt])
(3)
zt=σ(Wz·[ht-1,xt])
(4)
(5)
(6)
yt=σ(Wo·ht)
(7)
基于深度學(xué)習(xí)的文本情感分類(lèi)算法,一般直接把基于詞嵌入向量的文本表示作為神經(jīng)網(wǎng)絡(luò)的輸入,這種方式免去人工特征工程的繁瑣,減少了人為的干預(yù),實(shí)現(xiàn)了端到端的自動(dòng)化,但該類(lèi)算法忽略了人們對(duì)文本情感的先驗(yàn)認(rèn)識(shí),如詞語(yǔ)的詞性、情感色彩、權(quán)重等先驗(yàn)知識(shí),導(dǎo)致算法需要大量的訓(xùn)練數(shù)據(jù).所以本文在已有的詞嵌入向量特征基礎(chǔ)上,融入詞語(yǔ)情感特性和權(quán)重特征,形成多元特征融合的文本表示——多元特征融合向量文本表示算法,該算法模型如圖2所示.
3.1.1 詞嵌入向量特征
為了獲得文本預(yù)處理后的詞嵌入向量,需要建立詞嵌入向量庫(kù),通過(guò)Word2vec框架構(gòu)建詞嵌入向量庫(kù)是目前主流方式,并且已經(jīng)有相關(guān)研究團(tuán)隊(duì)公布了開(kāi)源詞嵌入向量庫(kù),如北京師范大學(xué)和人民大學(xué)的自然語(yǔ)義處理研究小組研發(fā)的基于全網(wǎng)超大規(guī)模文本開(kāi)源詞嵌入向量庫(kù)CWV[38].這種開(kāi)源庫(kù)覆蓋范圍廣,向量間距離反應(yīng)的語(yǔ)義關(guān)系符合全局環(huán)境,向量維度也較固定.由于本文研究的文本對(duì)象是具有感情色彩的電影評(píng)論,具有情感特征和行業(yè)特征,不具有全局性和普遍性,所以本文提出基于Word2vec獨(dú)立訓(xùn)練詞嵌入向量庫(kù):訓(xùn)練時(shí),神經(jīng)網(wǎng)絡(luò)隱藏層神經(jīng)元個(gè)數(shù)設(shè)為100-300之間,隱藏層神經(jīng)元的個(gè)數(shù)即為詞嵌入向量的維數(shù);得到詞嵌入向量庫(kù)后,對(duì)文本d進(jìn)行分詞和去停用詞處理,得到文本的詞序列W=[w1,…,wn],n為文本中詞語(yǔ)的總個(gè)數(shù);根據(jù)Word2vec訓(xùn)練得到的詞嵌入向量庫(kù)把詞序列W替換成詞嵌入向量矩陣,V(W)=[Vw1,…,Vwn],其中,Vwi為詞wi的詞嵌入向量,其表示如公式(8)所示:
Vwi=[v1,v2,…,vk]
(8)
其中k為詞嵌入向量的維度.
圖2 多元特征融合向量文本表示算法Fig.2 Multi feature fusion vector text representation algorithm
3.1.2 情感向量特征
①構(gòu)建情感要素字典
根據(jù)自然語(yǔ)言文本情感表達(dá)特點(diǎn),建立情感要素字典,該字典包括六種情感要素:正面情感詞、負(fù)面情感詞、程度詞、主張?jiān)~、否定詞、轉(zhuǎn)折詞.六種情感要素說(shuō)明如下:
a)正面和負(fù)面情感詞是體現(xiàn)文本情感的主要因素;
b)程度詞增強(qiáng)或減弱情感詞的情感度;
c)主張?jiān)~后面表達(dá)的情感很大程度上決定了整個(gè)文本的情感色彩;
d)否定詞反轉(zhuǎn)情感詞的情感傾向;
e)轉(zhuǎn)折詞連接前后相反的兩個(gè)情感表達(dá).
本文結(jié)合最新的知網(wǎng)情感分析詞語(yǔ)集(HowNet),構(gòu)建了常見(jiàn)情感要素字典,如表1所示.
②情感向量特征表示
情感特征向量根據(jù)六種情感要素,建立六維特征表示,如公式(9)所示:
E(wi)=[e1,e2,e3,e4,e5,e6]
(9)
E(wi)為詞語(yǔ)wi的情感特性向量,向量六個(gè)維度從左到右分別對(duì)應(yīng)正面情感詞、負(fù)面情感詞、程度詞、主張?jiān)~、否定詞、轉(zhuǎn)折詞.把詞語(yǔ)wi和情感要素字典一一匹配,匹配規(guī)則如下:
a)主張?jiān)~、否定詞、轉(zhuǎn)折詞不存在度量,如果匹配成功時(shí)把對(duì)應(yīng)的情感特征向量位置設(shè)為1,不匹配則設(shè)為0;
b)程度詞級(jí)別分為極其、很、較、稍、欠5個(gè)級(jí)別,分別用1、2、3、4、5表示,和某個(gè)級(jí)別的程度詞匹配時(shí)填入對(duì)應(yīng)級(jí)別;
c)情感詞使用情感度進(jìn)行表示,本文提出使用情感詞嵌入向量和所有情感種子詞嵌入向量的平均余弦相似度來(lái)衡量,情感種子為情感表達(dá)明顯的詞,具體計(jì)算如公式(10)所示:
(10)
表1 情感要素字典Table 1 Emotion factor dictionary
Dwi為情感詞wi的情感度,m為情感種子詞數(shù)量,本文從正負(fù)情感詞中各挑選100情感種子詞,Vwn和Vwi分別代表情感種子詞wn和情感詞wi的詞嵌入向量,符號(hào)(·)代表兩個(gè)向量的點(diǎn)乘,‖Vwn‖*‖Vwi‖代表兩個(gè)向量的模長(zhǎng)相乘.
3.1.3 權(quán)重特征
本文使用TF-IDF算法計(jì)算詞語(yǔ)權(quán)重,TF-IDF由詞頻(term frequency,TF)和逆向文檔頻率(inverse document frequency,IDF)組合而成,TF的計(jì)算如公式(11)所示:
(11)
tfi,j代表詞語(yǔ)wi在文檔dj中的詞頻,ni,j為wi在文檔dj中出現(xiàn)的次數(shù),k為文檔dj中不同詞語(yǔ)的個(gè)數(shù),分母為文檔dj中所有詞語(yǔ)出現(xiàn)次數(shù)總和.IDF計(jì)算如公式(12)所示:
(12)
idfi代表詞語(yǔ)wi在文本庫(kù)d中的逆向文檔頻率,nd為文本庫(kù)d中文檔的總個(gè)數(shù),df(d,wi)為文檔庫(kù)d中包含詞語(yǔ)wi的文檔個(gè)數(shù),加1是為了防止df(d,wi)為零的情況.最后TF-IDF歸一化后的計(jì)算如公式(13)所示:
(13)
通過(guò)公式可以看出,詞語(yǔ)Wi的權(quán)重和它在文檔dj中出現(xiàn)的頻率成正比,和在整個(gè)文本庫(kù)d中包含詞語(yǔ)Wi的文檔數(shù)成反比.
3.1.4 多元特征融合向量文本特征表示算法
在圖2多元特征融合向量文本特征表示算法模型中,首先按照公式(8)計(jì)算詞嵌入向量特征,按照公式(9)計(jì)算情感向量特征,按照公式(13)計(jì)算權(quán)重特征;然后把情感向量和詞嵌入向量進(jìn)行拼接,組成一個(gè)新的向量,新向量的前半段為情感向量,后半段為詞嵌入向量;最后把權(quán)重和拼接向量相乘,形成多元特征融合的文本特征表示,計(jì)算如公式(14)所示:
M(wi)=tf_idf*[E(wi),Vwi]
(14)
3.2.1 TMMG模型構(gòu)建
根據(jù)公式(14)多元特征融合向量文本表示算法,將文本表示為融合特征序列,如公式(15)所示:
d=[M(w1),M(w2),…,M(wi-1),M(wi)]
(15)
M(w1)為文本中第1個(gè)詞的融合特征,,M(w2)為第2個(gè),依次類(lèi)推,再把這些序列化數(shù)據(jù)依次作為GRU神經(jīng)網(wǎng)絡(luò)單元的輸入,構(gòu)成TMMG模型,如圖3所示.
圖3 TMMG模型Fig.3 TMMG model
3.2.2 TMMG模型訓(xùn)練分析
TMMG模型訓(xùn)練過(guò)程如圖4所示.
①GRU神經(jīng)網(wǎng)絡(luò)正向傳播
②GRU神經(jīng)網(wǎng)絡(luò)誤差反向傳播
GRU神經(jīng)網(wǎng)絡(luò)反向傳播中的損失函數(shù)L是用來(lái)指導(dǎo)反向傳播參數(shù)調(diào)節(jié),在t時(shí)刻單元的損失函數(shù)L(t)計(jì)算如公式(16)所示:
(16)
根據(jù)公式(16),則整個(gè)GRU神經(jīng)網(wǎng)絡(luò)序列的損失函數(shù)L如公式(17):
(17)
Wr=Wrx+Wrh
(18)
Wz=Wzx+Wzh
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
δt=δh,t·zt·σ′
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
4.1.1 原始數(shù)據(jù)
實(shí)驗(yàn)環(huán)境基于TensorFlow和Python3.6;實(shí)驗(yàn)數(shù)據(jù)來(lái)源于豆瓣影評(píng),使用Python數(shù)據(jù)爬蟲(chóng),共爬取了404972條影評(píng)數(shù)據(jù),其中1026條為缺失數(shù)據(jù),最后保留403946條數(shù)據(jù),包含8872部電影.
4.1.2 數(shù)據(jù)預(yù)處理
為了取樣均衡,每部電影最多選取200條數(shù)據(jù),每條完整的影評(píng)數(shù)據(jù)包含評(píng)論內(nèi)容和星級(jí)評(píng)分,星級(jí)評(píng)分等級(jí)(rating)為1-5星,采用粗粒度情感表示:正面情感、負(fù)面情感和中性情感:
①星級(jí)評(píng)分大于等于4星的標(biāo)注為正面情感文本;
②星級(jí)評(píng)分小于等于2星的標(biāo)注為負(fù)面情感文本;
③星級(jí)評(píng)分為3的標(biāo)注為中性情感.
由于,本文只對(duì)文本情感進(jìn)行正面和負(fù)面的二元分類(lèi),所以中性情感評(píng)論不考慮;同時(shí)刪除分詞結(jié)果大于150個(gè)詞的評(píng)價(jià)文本,最后得出的實(shí)驗(yàn)數(shù)據(jù)如表2所示.
表2 實(shí)驗(yàn)數(shù)據(jù)Table 2 Experimental data
其中每個(gè)類(lèi)別隨機(jī)選擇90%做為訓(xùn)練樣本,10%為測(cè)試樣本.在進(jìn)行實(shí)驗(yàn)之前還需要得到詞嵌入向量庫(kù),本文使用google開(kāi)源的Word2vec框架和CBOW模型對(duì)所有實(shí)驗(yàn)樣本進(jìn)行訓(xùn)練.為了對(duì)比不同詞嵌入向量維度下的模型效果,分別選取了50、100、150、200四個(gè)維度進(jìn)行詞嵌入向量生成.針對(duì)文本中出現(xiàn)的一些非詞語(yǔ)(表情、符號(hào))也當(dāng)成詞語(yǔ)放入Word2vec模型中訓(xùn)練,得出其詞嵌入特征,因?yàn)檫@些表情和符號(hào)也是情感表達(dá)的重要因素;考慮到豆瓣影評(píng)中的表情符號(hào)并不是來(lái)自一套固定的表情工具包,而是由用戶(hù)的輸入法產(chǎn)生的,其形式如︿ ′ 、╭(╯^╰)╮、⊙▽⊙等,情感難于區(qū)分和計(jì)算,所以忽略其情感特征E(w),使用零向量代替.
4.2.1 TMMG模型算法
算法1.TMMG模型算法
Step 1.Selecttrainingset//分別選取4.1節(jié)中數(shù)據(jù)的90%作為訓(xùn)練樣本,10%作為測(cè)試樣本;樣本表示為(xi,yi),xi為第i個(gè)樣本,yi為樣本xi的情感標(biāo)簽,正面情感標(biāo)記為1,負(fù)面者標(biāo)記為0.
Step 2.Preprocessingtext//使用jieba工具庫(kù)進(jìn)行分詞,對(duì)文中高頻出現(xiàn)的連詞、代詞、介詞進(jìn)行刪除.
Step 3.Getwordembedding//根據(jù)Word2vec訓(xùn)練得到詞嵌入向量庫(kù),依次替換文本預(yù)處理后的詞.
Step 4.Calculationemotionalfeaturevector//根據(jù)情感要素字典依依匹配,如果是主張?jiān)~、否定詞、轉(zhuǎn)折詞中的一類(lèi),則直接情感特征向量的相應(yīng)維度填1;如果是程度詞則根據(jù)程度級(jí)別在對(duì)應(yīng)維度填入對(duì)應(yīng)值;如果是情感詞,則根據(jù)公式(10)計(jì)算其情感度,填入對(duì)應(yīng)維度;所有其他維度都填0.
Step 5.Calculationwordweight//使用歸一化后的tf_idf計(jì)算詞權(quán)重,具體計(jì)算見(jiàn)公式(13).
Step 6.Featurefusion//根據(jù)公式(14),把詞嵌入向量、情感特征向量、詞權(quán)重進(jìn)行融合,得到多元融合特征.
Step 7.Textrepresentaion//根據(jù)融合特征,將文本表示為融合特征序列d=[M(w1),M(w2),…,M(wi-1),M(wi)].
Step 8.Train//把文本特征序列從后向前依次輸入GRU神經(jīng)單元,即最后一個(gè)融合特征放入最后一個(gè)GRU單元,倒數(shù)第二個(gè)融合特征放入倒數(shù)第二個(gè)GRU單元,依次類(lèi)推;最后剩余的GRU單元使用零向量填充.
Step 9.Test//在得到訓(xùn)練結(jié)果后使用測(cè)試數(shù)據(jù)集進(jìn)行測(cè)試,最后放入訓(xùn)練后的模型進(jìn)行測(cè)試,其中測(cè)試數(shù)據(jù)集也需要經(jīng)過(guò)步驟2-7處理.
4.2.2 超參數(shù)
在訓(xùn)練TMMG模型時(shí)不同的超參數(shù)也會(huì)影響到實(shí)驗(yàn)結(jié)果,但不同超參數(shù)的實(shí)驗(yàn)對(duì)比不是本文的主要研究?jī)?nèi)容,通過(guò)查閱相關(guān)資料和驗(yàn)證測(cè)試,本實(shí)驗(yàn)主要超參數(shù)采用情況如表3所示.
表3 TMMG模型超參數(shù)Table 3 TMMG model super parameter
4.2.3 實(shí)驗(yàn)結(jié)果
本實(shí)驗(yàn)選取Word2vec訓(xùn)練得到的4套詞嵌入向量庫(kù)(維度分別為50、100、150、200)和開(kāi)源詞嵌入向量庫(kù)CWV[38](其維度為300)進(jìn)行對(duì)比,算法的分類(lèi)性能分別從精準(zhǔn)率(precision)、召回率(recall)、F1-Measure三個(gè)指標(biāo)進(jìn)行評(píng)價(jià),測(cè)試結(jié)果如表4所示.
實(shí)驗(yàn)顯示:①TMMG模型在詞嵌入向量維度為100時(shí)性能最好,精準(zhǔn)率、召回率、F1-Measure分別達(dá)到了94.2%,94.1%,94.1%;②TMMG模型分類(lèi)性能在利用自己訓(xùn)練的詞嵌入向量庫(kù)上進(jìn)行實(shí)驗(yàn),其性能優(yōu)于CWV詞嵌入向量庫(kù),這是由于CWV使用了面向全網(wǎng)各個(gè)領(lǐng)域的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到的詞嵌入向量更符合全局環(huán)境,并且它不能完全覆蓋本實(shí)驗(yàn)所有的詞和表情符號(hào);③所有實(shí)驗(yàn)數(shù)據(jù)訓(xùn)練的詞嵌入向量不僅能夠能覆蓋所有的詞和表情符號(hào),并且得到的詞嵌入向量相對(duì)全局詞嵌入向量更貼切該局部問(wèn)題領(lǐng)域.
表4 TMMG模型測(cè)試結(jié)果Table 4 TMMG model test results
在以下對(duì)比試驗(yàn)過(guò)程中,TMMG都使用自己訓(xùn)練維度為100的詞嵌入向量庫(kù).
4.3.1 與傳統(tǒng)機(jī)器學(xué)習(xí)算法對(duì)比
為了對(duì)比TMMG和基于傳統(tǒng)機(jī)器學(xué)習(xí)文本情感分類(lèi)算法的性能,分別選取樸素貝葉斯(NB)、K-近鄰(KNN)、支持向量機(jī)(SVM)三類(lèi)傳統(tǒng)的機(jī)器學(xué)習(xí)文本情感分類(lèi)算法進(jìn)行對(duì)比,使用相同的樣本數(shù)據(jù)進(jìn)行訓(xùn)練與測(cè)試,三種算法具體流程分別如算法Ⅱ、Ⅲ、Ⅳ描述所示.
算法2.基于NB的文本情感分類(lèi)算法
Step 1.Selecttrainingset//來(lái)源于事先標(biāo)注情感標(biāo)簽的文本.
Step 2.PreprocessingText//分詞處理,排除停用詞.
Step 3.Featureselection//根據(jù)預(yù)處理結(jié)果使用卡方檢測(cè)(chi-square test,CHI)進(jìn)行特征選擇.
Step 4.Textrepresentation//使用詞袋模型(bag-of-words,BOW)對(duì)文本進(jìn)行表示.
Step 5.Trainingclassifier//選用伯努利模型進(jìn)行訓(xùn)練,得出由先驗(yàn)概率和似然函數(shù)構(gòu)成的分類(lèi)器.
Step 6.Testclassifier/選擇測(cè)試集測(cè)試分類(lèi)器性能的相關(guān)指標(biāo).
算法3.基于KNN的文本情感分類(lèi)算法
Step 1.Selecttrainingset//來(lái)源于事先標(biāo)注情感標(biāo)簽的文本.
Step 2.PreprocessingText//分詞處理,排除停用詞.
Step 3.Featureselection//根據(jù)預(yù)處理結(jié)果使用卡方檢測(cè)(chi-square test,CHI)進(jìn)行特征選擇
Step 4.Weightcalculation//使用TF-IDF進(jìn)行特征權(quán)重計(jì)算
Step 5.Textrepresentation//使用向量空間模型進(jìn)行文本表示.
Step 6.SelectKneighborsamples//依次計(jì)算測(cè)試樣本和每個(gè)訓(xùn)練樣本間的距離,并選取距離最小的k個(gè)臨近樣本,具體k值的選取使用交叉驗(yàn)證方式確定.
Step 7.classification//使用k個(gè)臨近樣本中出現(xiàn)頻率最高的類(lèi)別作為測(cè)試樣本分類(lèi)預(yù)測(cè).
算法4.基于SVM的文本情感分類(lèi)算法
Step 1.Selecttrainingset//來(lái)源于事先標(biāo)注情感標(biāo)簽的文本.
Step 2.PreprocessingText//分詞處理,排除停用詞.
Step 3.Featureselection//根據(jù)預(yù)處理結(jié)果使用卡方檢測(cè)(chi-square test,CHI)進(jìn)行特征選擇
Step 4.Weightcalculation//使用TF-IDF進(jìn)行特征權(quán)重計(jì)算
Step 5.Textrepresentation//使用向量空間模型進(jìn)行文本表示.
Step 6.Trainingclassifier//利用LIBSVM對(duì)樣本進(jìn)行訓(xùn)練,訓(xùn)練時(shí)選用RBF核函數(shù).
Step 7.Testclassifier//選擇測(cè)試集測(cè)試分類(lèi)器性能的相關(guān)指標(biāo).
算法間的性能對(duì)比使用F1-Measure進(jìn)行衡量,對(duì)比實(shí)驗(yàn)結(jié)果如圖5所示.
圖5 與傳統(tǒng)機(jī)器學(xué)習(xí)算法性對(duì)比Fig.5 Comparison with traditional machine learning algorithms
通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)NB、KNN、SVM三個(gè)算法的平均F1-Measure值分別為81.2%、82.3%、83.4%,文本算法的F1-Measure值為94.1%,明顯優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)文本情感分類(lèi)算法.
4.3.2 與其他深度學(xué)習(xí)算法對(duì)比
為了進(jìn)一步驗(yàn)證TMMG模型,分別選取基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、長(zhǎng)短記憶網(wǎng)絡(luò)(LSTM)、門(mén)控循環(huán)單元神經(jīng)網(wǎng)絡(luò)(GRU)的深度學(xué)習(xí)文本情感分類(lèi)算法進(jìn)行對(duì)比.
為了減少實(shí)驗(yàn)對(duì)比過(guò)程中不同超參數(shù)帶來(lái)的影響,所以盡量保持它們的一致,其超參數(shù)具體如表5所示.
依據(jù)表5超參數(shù),使用相同的樣本數(shù)據(jù)進(jìn)行訓(xùn)練與測(cè)試,算法的分類(lèi)性能分別從精準(zhǔn)率(precision)、召回率(recall)、F1-Measure三個(gè)指標(biāo)進(jìn)行評(píng)價(jià).最后得出測(cè)試結(jié)果如表6所示.
表5 TMMG、CNN、RNN、LSTM、GRU 5種算法的超參數(shù)Table 5 Super parameters of five algorithms of TMMG,CNN,RNN,LSTM and GRU
表6 TMMG、CNN、RNN、LSTM、GRU 5種算法的測(cè)試結(jié)果Table 6 Test results of five algorithms of TMMG,CNN,RNN,LSTM and GRU
通過(guò)對(duì)比實(shí)驗(yàn)發(fā)現(xiàn),深度學(xué)習(xí)算法都能保持較高的分類(lèi)準(zhǔn)確性,CNN、RNN、LSTM、GRU四種不添加任何情感和權(quán)重特征的算法性能相差不大,TMMG性能只是略高于其他幾類(lèi)算法.為了探究在不同訓(xùn)練數(shù)據(jù)集大小的情況下算法的性能差異,再分別選取訓(xùn)練數(shù)據(jù)集從初始1萬(wàn)依次遞增到32萬(wàn),每次以2倍遞增,共6次實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)對(duì)比結(jié)果如圖6所示.
通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)在訓(xùn)練數(shù)據(jù)集比較小的情況下TMMG的性能明顯優(yōu)于其他算法,而隨著訓(xùn)練數(shù)據(jù)增加這種優(yōu)勢(shì)也慢慢減少.這種情況是因?yàn)樵谟?xùn)練數(shù)據(jù)量比較小的情況下,算法純粹靠數(shù)據(jù)驅(qū)動(dòng)進(jìn)行模型訓(xùn)練很難真正學(xué)到數(shù)據(jù)背后隱藏的知識(shí),而通過(guò)引入情感和權(quán)重的先驗(yàn)知識(shí),一定程度上可以彌補(bǔ)數(shù)據(jù)量不足而產(chǎn)生的欠學(xué)習(xí)問(wèn)題;當(dāng)數(shù)據(jù)量達(dá)到一定規(guī)模后,深度學(xué)習(xí)算法依靠其強(qiáng)大的學(xué)習(xí)能力,不加入任何先驗(yàn)知識(shí)也能很好的學(xué)習(xí)到數(shù)據(jù)背后的隱藏知識(shí).
圖6 不同訓(xùn)練數(shù)據(jù)集下的實(shí)驗(yàn)對(duì)比Fig.6 Experimental comparison of different number training datasets
4.3.3 不同特征組合下的GRU對(duì)比
為了對(duì)比詞嵌入特征(Word2vec)、詞情感特征(Emotion)、詞權(quán)重特征(TF-IDF)3個(gè)特征不同組合下GRU的實(shí)驗(yàn)效果,進(jìn)行6組不同特征組合實(shí)驗(yàn)(Word2vec、Emotion、Word2vec+Emotion、Word2vec+TF-IDF,Emotion+TF-IDF、Word2vec+Emotion+TF-IDF),實(shí)驗(yàn)結(jié)果如表7所示.
通過(guò)對(duì)比發(fā)現(xiàn),在單個(gè)特征中,Word2vec比Emotion效果好;兩兩組合比單個(gè)特征效果好,其中Word2vec+Emotion組合比Word2vec+TF-IDF和Emotion+TF-IDF的效果好;Word2vec+Emotion+TF-IDF三者組合為最優(yōu).其中,Word2vec+Emotion+TF-IDF這種組合模式就是本文提出的TMMG算法模型.
表7 不同特征組合下的GRU對(duì)比Table 7 GRU comparison under different feature combinations
隨著互聯(lián)網(wǎng)和自媒體的快速發(fā)展,越來(lái)越多的民眾通過(guò)網(wǎng)絡(luò)來(lái)發(fā)表觀點(diǎn),如何對(duì)這些網(wǎng)絡(luò)文本進(jìn)行情感自動(dòng)分類(lèi)是網(wǎng)絡(luò)預(yù)警監(jiān)測(cè)的一個(gè)重要環(huán)節(jié).基于語(yǔ)義理解的文本情感分類(lèi)算法,由于文本表達(dá)的多樣性,很難建立完善的情感詞典和句式搭配模板,導(dǎo)致算法具有很強(qiáng)的局限性;基于人工特征工程的淺層機(jī)器學(xué)習(xí)文本情感分類(lèi)算法存在語(yǔ)義丟失、矩陣稀疏,維度爆炸等問(wèn)題,并且對(duì)深層次的特征難以捕獲,所以算法的泛化能力不強(qiáng).近年來(lái)隨著數(shù)據(jù)量的增加和計(jì)算性能的快速提升,基于深層神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法憑借其強(qiáng)大的學(xué)習(xí)能力,在自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)、圖像處理等領(lǐng)域快速發(fā)展;而大部分學(xué)者提出的基于深度學(xué)習(xí)文本情感分類(lèi)算法追求數(shù)據(jù)驅(qū)動(dòng),忽略了自然語(yǔ)言中關(guān)于情感、權(quán)重的先驗(yàn)知識(shí),導(dǎo)致算法只能在大規(guī)模數(shù)據(jù)集的情況下才能獲得較好的性能.所以,本文提出基于詞嵌入特征、詞情感特征、詞權(quán)重特征融合的門(mén)控循環(huán)單元(GRU)神經(jīng)網(wǎng)絡(luò)文本情感分類(lèi)模型TMMG,實(shí)驗(yàn)結(jié)果表明:TMMG模型性能遠(yuǎn)高于傳統(tǒng)機(jī)器學(xué)習(xí)算法,相比于其他深度學(xué)習(xí)算法也具有一定優(yōu)勢(shì),并且在訓(xùn)練數(shù)據(jù)不足的情況下這種優(yōu)勢(shì)更加明顯;但TMMG模型在計(jì)算詞情感特征和詞權(quán)重特征時(shí)需要花費(fèi)不少時(shí)間,其訓(xùn)練時(shí)間也遠(yuǎn)高于傳統(tǒng)機(jī)器學(xué)習(xí)算法,如何在分類(lèi)性能和訓(xùn)練耗時(shí)上獲得一個(gè)較好的平衡是值得繼續(xù)研究的方向.