王 儒,王嘉梅,王偉全,符 飛
(云南民族大學(xué) 電氣信息工程學(xué)院,昆明 650504)
(云南民族大學(xué) 云南省高校少數(shù)民族語(yǔ)言文字信息化處理工程研究中心,昆明 650504)
據(jù)第43 次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[1],中國(guó)網(wǎng)民規(guī)模達(dá)8.29 億,2018年網(wǎng)頁(yè)長(zhǎng)度19 061 579 332 918 字節(jié)數(shù),相比2017年增長(zhǎng)11.4%,對(duì)規(guī)模越發(fā)龐大的網(wǎng)絡(luò)文本內(nèi)容進(jìn)行有效的挖掘處理,對(duì)促進(jìn)網(wǎng)絡(luò)的發(fā)展和網(wǎng)絡(luò)環(huán)境的凈化有著重要意義.隨著網(wǎng)絡(luò)的發(fā)展,形如微博、郵件、短信、彈幕、新聞評(píng)論、微信、聊天記錄的短文本內(nèi)容逐漸增多,網(wǎng)絡(luò)成為人們表達(dá)觀點(diǎn)與抒發(fā)情感的重要平臺(tái),與傳統(tǒng)通過(guò)書(shū)信報(bào)刊形式表達(dá)觀點(diǎn)有所不同,上述形式的短文本有以下幾個(gè)特點(diǎn):
1)文本內(nèi)容長(zhǎng)度一般都較短.
2)內(nèi)容形式不局限于純文本,也會(huì)結(jié)合表情圖像.
3)持有觀點(diǎn)的群體和觀點(diǎn)的內(nèi)容具有多樣性.
4)表達(dá)的觀點(diǎn)或內(nèi)容具有一定的傾向性和重復(fù)性.
5)一般都缺少上下文信息.
本文以NLPCC2013 任務(wù)二微博數(shù)據(jù)集為研究對(duì)象,探究微博短文本在不同神經(jīng)網(wǎng)絡(luò)模型中的情感細(xì)粒度分類(lèi)結(jié)果,論文其余部分是這樣組織的,第1 節(jié)介紹了情感細(xì)粒度分析,第2 節(jié)介紹詞向量及論文實(shí)驗(yàn)所用到的幾個(gè)不同模型及結(jié)構(gòu),第3 節(jié)介紹實(shí)驗(yàn)所用數(shù)據(jù)、環(huán)境、參數(shù)及評(píng)價(jià)標(biāo)準(zhǔn),第4 節(jié)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析與評(píng)價(jià),最后對(duì)未來(lái)的工作進(jìn)行了總結(jié)和展望.
情感細(xì)粒度分析是情感分析的分支,從文本顆粒度層次上來(lái)說(shuō),情感分析可以分為篇章級(jí)、句子級(jí)、屬性級(jí)3 個(gè)層次[2],按能否獲取觀點(diǎn)評(píng)價(jià)對(duì)象的不同可分為粗粒度情感分析(篇章級(jí)、句子級(jí))與細(xì)粒度情感分析(屬性級(jí)),篇章級(jí)和句子級(jí)的情感分析只能得到整篇文檔或整條句子的情感傾向,無(wú)法確切得知觀點(diǎn)評(píng)價(jià)對(duì)象的喜好,屬性級(jí)的情感分析基于評(píng)價(jià)對(duì)象及其屬性上的觀點(diǎn)信息,可以得到觀點(diǎn)評(píng)價(jià)對(duì)象對(duì)某一事物的具體情感.傳統(tǒng)的情感分析方法往往是將文本劃分為積極和消極的二分類(lèi),或加入中性的三分類(lèi),隨著社交網(wǎng)絡(luò)規(guī)模的擴(kuò)大,簡(jiǎn)單的二分類(lèi)或三分類(lèi)無(wú)法囊括豐富的文本情感,如“我早上很難過(guò),一個(gè)人郁郁寡歡的,小王可能察覺(jué)到了我的異樣,跑來(lái)帶我出去逛街玩了好久,有人關(guān)心的感覺(jué)真好啊!”.這句話(huà)前半部分表達(dá)了今天心情的頹喪,后半部分表達(dá)了有人關(guān)心心情因此得到緩解而愉悅的轉(zhuǎn)變,這句話(huà)無(wú)法用簡(jiǎn)單的二分類(lèi)或三分類(lèi)進(jìn)行囊括,也因此細(xì)粒度情感分析在實(shí)際應(yīng)用中有很強(qiáng)的需求[3,4].與其他文本相比,微博文本具有篇幅較短(一般在140 字以?xún)?nèi)),噪聲大,上下文的語(yǔ)義信息稀疏,符號(hào)化(表情、圖像)和口語(yǔ)化(縮寫(xiě))嚴(yán)重等特點(diǎn)[5,6],個(gè)性化的表達(dá)非常適合進(jìn)行細(xì)粒度情感分析的研究.
張?jiān)魄锏萚7]利用情感詞典的方法在大連理工大學(xué)情感詞匯本體DUTIR[8]的7 大類(lèi)情感詞匯基礎(chǔ)上增加了表示“疑”這一類(lèi)情感的詞匯,共52 個(gè)詞,根據(jù)情感強(qiáng)弱不同分為4 個(gè)等級(jí),并在自行構(gòu)造的藥物微博評(píng)論數(shù)據(jù)集上使用PMI 方法進(jìn)行了“樂(lè)、好、怒、哀、懼、惡、驚、疑”8 種情感的細(xì)粒度分析,這些評(píng)價(jià)結(jié)果基于當(dāng)前情感類(lèi)別,沒(méi)有給出整體的宏平均分析結(jié)果.
劉麗[9]利用條件隨機(jī)場(chǎng)(CRF)結(jié)合語(yǔ)法樹(shù)剪枝的方法對(duì)產(chǎn)品評(píng)論進(jìn)行了細(xì)粒度情感分析,借助Map-Reduce 中并行化協(xié)同訓(xùn)練的方法對(duì)語(yǔ)料進(jìn)行了半自動(dòng)標(biāo)注,并進(jìn)行了可視化表示,在識(shí)別情感要素和情感評(píng)價(jià)單元兩個(gè)領(lǐng)域均取得了89%左右的綜合準(zhǔn)確率.
李陽(yáng)輝等[10]利用深度學(xué)習(xí)中降噪自編碼器的方法在多個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),對(duì)文本進(jìn)行了句子級(jí)的情緒二分類(lèi)(消極、積極),沒(méi)有更進(jìn)一步對(duì)文本的情感細(xì)粒度進(jìn)行分析.
張謙等[11]利用深度學(xué)習(xí)中詞向量模型結(jié)合傳統(tǒng)機(jī)器學(xué)習(xí)中TF-IDF 模型進(jìn)行詞匯加權(quán)對(duì)15 種微博主題文本進(jìn)行了主題分類(lèi),證明了合并后的模型結(jié)果比單一的詞向量加權(quán)模型和TF-IDF 模型分類(lèi)結(jié)果更好.
還有許多工作[12–15]結(jié)合深度學(xué)習(xí)的知識(shí)對(duì)文本進(jìn)行情感分析以后取得了很好的效果,這里不一一列舉.
自然文本輸入計(jì)算機(jī)以后需要進(jìn)行文本-數(shù)值的轉(zhuǎn)化,傳統(tǒng)方法是通過(guò)向量空間模型(Vector Space Model,VSM)[16]進(jìn)行文本-數(shù)值之間的轉(zhuǎn)換將文本轉(zhuǎn)換成向量以空間上的相似度表示文本間的相似度,通過(guò)計(jì)算空間相似度來(lái)表示文本相似度計(jì)算簡(jiǎn)單方便,但存在文本稀疏、一詞多義、易忽略文本上下文信息等問(wèn)題難以解決.機(jī)器學(xué)習(xí)中傳統(tǒng)的向量空間模型如TFIDF 模型、One-Hot 向量,都是通過(guò)將文本中的詞頻信息轉(zhuǎn)化為向量衡量該詞語(yǔ)所占的權(quán)重.
Word2Vec[17,18]自2013年提出以來(lái)迅速取代向量空間模型成為自然語(yǔ)言處理領(lǐng)域新的基礎(chǔ),與VSM 相比,Word2Vec 是一種分布式的神經(jīng)概率語(yǔ)言模型[19](圖1),Word2Vec 層數(shù)并不深,是一種淺而雙層的神經(jīng)網(wǎng)絡(luò),詞向量的每一維都具有一定的語(yǔ)義和語(yǔ)法特征,能夠捕捉更多有關(guān)上下文的信息,同VSM 一樣,詞向量也很難解決一詞多義的問(wèn)題,這是由于訓(xùn)練出的詞向量矩陣是靜態(tài)固定不變的.詞向量模型有兩種,CBOW 模型與Skip-gram 模型.其中CBOW 模型利用當(dāng)前詞上下文的若干個(gè)詞語(yǔ)預(yù)測(cè)當(dāng)前詞的概率,如圖1通過(guò)當(dāng)前詞前后2 個(gè)詞預(yù)測(cè)當(dāng)前詞語(yǔ),而Skip-gram 模型則相反,通過(guò)當(dāng)前詞的概率預(yù)測(cè)上下文的若干個(gè)詞語(yǔ).
圖1 神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型
圖1中(wt?n?2,···,wt?n+2)可看做按時(shí)間序列排序的詞語(yǔ)集,通過(guò)神經(jīng)網(wǎng)絡(luò)結(jié)合上下文信息(context)計(jì)算語(yǔ)言模型中的參數(shù)來(lái)預(yù)測(cè)當(dāng)前詞,依據(jù)窗口大小為2 的上下文預(yù)測(cè)當(dāng)前詞,最后由Softmax 層輸出預(yù)測(cè)的當(dāng)前詞.原理和2-gram 語(yǔ)言模型相似.
CNN (Convolutional Neural Network)也稱(chēng)卷積神經(jīng)網(wǎng)絡(luò),1962年生物學(xué)家Hubel 和Wiesel[20]發(fā)現(xiàn)貓的視覺(jué)神經(jīng)細(xì)胞中存在著一種被稱(chēng)為感受野的細(xì)胞結(jié)構(gòu),這種細(xì)胞結(jié)構(gòu)能作用于視覺(jué)輸入空間,對(duì)視覺(jué)形成的圖像局部特征的提取能力很強(qiáng),1980年,Fukushima[21]根據(jù)上述結(jié)構(gòu)提出了神經(jīng)感知機(jī),被認(rèn)為是卷積神經(jīng)網(wǎng)絡(luò)的雛形,到1998年LeCun[22]提出LeNet-5,宣告了現(xiàn)代的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)正式出現(xiàn).卷積神經(jīng)網(wǎng)絡(luò)由輸入層、卷積層、池化層、全連接層、輸出層等5 部分構(gòu)成,典型的卷積神經(jīng)網(wǎng)絡(luò)LeNet-5 結(jié)構(gòu)如圖2.
CNN 的卷積原理可用圖3表示.
圖2 LeNet-5[22]
圖3 卷積核滑動(dòng)原理
假定輸入是一個(gè)5×5 的矩陣圖3(a),通過(guò)3×3窗口大小的卷積核滑動(dòng)分別提取特征圖如圖3(b),圖3(c)為卷積后得到的特征圖.此時(shí)得到的矩陣很好計(jì)算,但如果是一幅長(zhǎng)寬為256 位的圖片或一條長(zhǎng)度為200 的句子此時(shí)得到的特征圖仍然十分臃腫,需要通過(guò)池化層進(jìn)一步降維,常用的池化方法有最大值池化和平均池化兩種.Nal Kalchbrenner 等[23]提出了k-Pooling 方法,將所有特征值得分在Top-K的值及這些特征值原始詞語(yǔ)的先后順序保留,這種方法對(duì)一條前半句與后半句表達(dá)情感相反或有所區(qū)別的句子效果很好.以上簡(jiǎn)單的介紹了CNN 工作原理,更多內(nèi)容也可閱讀文獻(xiàn)[24,25].
TextCNN[26]是CNN 的一個(gè)變種,由Kim Y 在2014年提出,是卷積神經(jīng)網(wǎng)絡(luò)在自然語(yǔ)言處理領(lǐng)域的首次應(yīng)用,在當(dāng)時(shí)取得了state-of-the-art 的效果,結(jié)構(gòu)如圖4.TextCNN 工作原理與CNN 相差不大,通過(guò)卷積核滑動(dòng)提取文本中的特征,但圖像是二維數(shù)據(jù)(長(zhǎng)、寬),文本是一維數(shù)據(jù),需要通過(guò)構(gòu)造不同的Filter(卷積核)的窗口大小形成維度上的差異完成文本上的二維表示,常用的卷積核窗口大小為3、4、5,這與Ngram 語(yǔ)言模型在某些方面不謀而合,N-gram 語(yǔ)言模型通過(guò)計(jì)算當(dāng)前詞前后N個(gè)詞語(yǔ)的概率得到當(dāng)前詞語(yǔ)與上下文之間的關(guān)系.Zhang Y[27]測(cè)試了不同參數(shù)設(shè)置如詞向量、激活函數(shù)、Feature Map 大小、Pooling 的方法等對(duì)Text-CNN 模型分類(lèi)效果的影響及最佳參數(shù).
圖4 TextCNN[26]
Text-CNN 在中文文本分類(lèi)(詞級(jí)別)中工作原理如圖5.
圖5 Text-CNN 中文詞級(jí)別分類(lèi)原理
從圖5可以看出TextCNN 模型要先經(jīng)過(guò)中文分詞,再按卷積神經(jīng)網(wǎng)絡(luò)的原理對(duì)文本轉(zhuǎn)化的數(shù)值進(jìn)行處理,卷積神經(jīng)網(wǎng)絡(luò)相比循環(huán)神經(jīng)網(wǎng)絡(luò)更多關(guān)注局部的信息,因而中文處理領(lǐng)域影響較大的停用詞處理對(duì)卷積神經(jīng)網(wǎng)絡(luò)而言就非必須,分詞時(shí)可根據(jù)需要決定是否去除停用詞.
RNN 也稱(chēng)循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)或遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network),本文中RNN 指循環(huán)神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)既有前饋通路,又有反饋通路,可以將上一時(shí)刻的信息傳入下一時(shí)刻,使模型捕捉到序列數(shù)據(jù)中有關(guān)上下文的信息,故而常用于處理如語(yǔ)音、文字、視頻圖像等形式的時(shí)間序列數(shù)據(jù).典型的RNN 如圖6.
圖6 RNN 結(jié)構(gòu)圖
RNN 公式,如式(1)及式(2):
式中,xt為輸入當(dāng)前時(shí)間步的輸入信息,yt為當(dāng)前時(shí)間步信息經(jīng)隱藏層ht后得到的輸出信息,同時(shí)也是下一時(shí)間步的輸入信息,st是隱藏層的值,U是輸入層到隱藏層的權(quán)重矩陣,V是隱藏層到輸出層的權(quán)重矩陣,W則是隱藏層上一次的值作為這一次的輸入的權(quán)重.RNN 訓(xùn)練時(shí)的梯度變化由于模型的時(shí)序性存在不能簡(jiǎn)單的通過(guò)BP(反向傳播)算法進(jìn)行,需加入基于時(shí)間的計(jì)算過(guò)程,也就是BPTT 算法.
RNN 可以捕捉文本的上下文信息,但當(dāng)模型時(shí)間步過(guò)長(zhǎng)時(shí),過(guò)去時(shí)間步的歷史信息不停累積容易使模型出現(xiàn)梯度爆炸或消失的情況,LSTM[28]和GRU[29]均是在此基礎(chǔ)上進(jìn)行的改進(jìn).RNN 有很多變種結(jié)構(gòu),Jozefowizc R 等[30]測(cè)試過(guò)一萬(wàn)多種RNN 及其變種結(jié)構(gòu)的效果.
LSTM (Long and Short Term Memory)的主要結(jié)構(gòu)由輸入門(mén)it(input gate)、遺忘門(mén)ft(forget gate)、輸出門(mén)ot(output gate)、以及細(xì)胞態(tài)(memory cell)組成,為了避免出現(xiàn)梯度爆炸或消失的情況,LSTM 通過(guò)遺忘門(mén)先選擇性的遺忘掉上一時(shí)間步的部分歷史信息,再通過(guò)細(xì)胞態(tài)對(duì)當(dāng)前時(shí)間步的模型狀態(tài)進(jìn)行更新.典型的LSTM 如圖7.
圖7 LSTM 結(jié)構(gòu)圖[27]
LSTM 公式如式(3)~式(8):
式中,W和b分別表示相應(yīng)狀態(tài)下的權(quán)重系數(shù)矩陣和偏置項(xiàng),σ 和t anh表示Sigmoid 和雙曲正切激活函數(shù),LSTM 在訓(xùn)練時(shí)先按式(3)~式(8)計(jì)算當(dāng)前時(shí)間步各個(gè)狀態(tài)值,再通過(guò)BPTT 算法反向計(jì)算網(wǎng)絡(luò)的整體誤差,通過(guò)誤差對(duì)模型梯度進(jìn)行優(yōu)化并更新網(wǎng)絡(luò)的權(quán)重.
GRU (Gated Recurrent Unit)在LSTM 的基礎(chǔ)上進(jìn)一步簡(jiǎn)化了模型結(jié)構(gòu),將LSTM 的輸入門(mén)it、遺忘門(mén)ft、輸出門(mén)ot更改為更新門(mén)zt(update gate)與重置門(mén)rt(reset gate),并將細(xì)胞態(tài)與隱層狀態(tài)ht進(jìn)行了合并為.GRU 結(jié)構(gòu)如圖8.
GRU 公式如式(9)~式(12):
式中,W表示相應(yīng)狀態(tài)下的權(quán)重矩陣,ht表示隱藏層狀態(tài)信息,σ 和t anh表示Sigmoid 和雙曲正切激活函數(shù),比較GRU 與LSTM 的結(jié)構(gòu)會(huì)發(fā)現(xiàn),GRU 的輸入輸出結(jié)構(gòu)與LSTM 相似,區(qū)別在于GRU 根據(jù)式(12)使用zt即可完成對(duì)輸入信息的遺忘與選擇,使用參數(shù)更少,結(jié)構(gòu)更加簡(jiǎn)單.
圖8 GRU 結(jié)構(gòu)圖[28]
在類(lèi)時(shí)間序列數(shù)據(jù)的處理中,只有前饋輸入還不夠,還需要有反饋通路以利用上一時(shí)間步的信息,雙向(Bi-directional)結(jié)構(gòu)很好的解決了這個(gè)問(wèn)題.缺點(diǎn)是相比單層結(jié)構(gòu),雙向結(jié)構(gòu)需要更多的計(jì)算資源,程序運(yùn)行時(shí)間也更長(zhǎng).
雙向結(jié)構(gòu)如圖9所示.
圖9 雙向結(jié)構(gòu)
LSTM 神經(jīng)網(wǎng)絡(luò)可以捕捉序列中有關(guān)上下文的信息,CNN 神經(jīng)網(wǎng)絡(luò)可以獲取全文的局部特征,Ghosh S[31]結(jié)合兩個(gè)模型提出了結(jié)合上下文信息的混合神經(jīng)網(wǎng)絡(luò)模型CLSTM(也稱(chēng)時(shí)空網(wǎng)絡(luò))在接續(xù)語(yǔ)句預(yù)測(cè)上相比當(dāng)時(shí)其他模型提高了20%,Zhou CT[32]等將這一模型應(yīng)用到文本分類(lèi)、情感分析問(wèn)題上也取得了不錯(cuò)的效果.孫曉等[33]將LSTM 與CNN 的輸出結(jié)果進(jìn)行直接拼接,在諷刺語(yǔ)識(shí)別數(shù)據(jù)集上進(jìn)行了測(cè)試,效果比詞袋模型或單一RNN、CNN 模型要好.本文在CNN 和RNN 的組合模型與拼接模型的基礎(chǔ)上進(jìn)行了改進(jìn),加入了雙向結(jié)構(gòu)以利用上下文信息.
C_BiLSTM 用雙向LSTM 連接CNN 中的卷積層與池化層,通過(guò)CNN 卷積層提取序列數(shù)據(jù)中心的重要特征,BiLSTM 層對(duì)提取后的特征進(jìn)行處理得到序列數(shù)據(jù)中有關(guān)上下文的信息,模型如圖10.
圖10 C_BiLSTM 模型示意圖
CNN-BiLSTM 模型將CNN、BiLSTM 兩個(gè)神經(jīng)網(wǎng)絡(luò)模型的輸出結(jié)果經(jīng)Keras 的Concatenate 層進(jìn)行簡(jiǎn)單拼接,最后經(jīng)Softmax 進(jìn)行分類(lèi),模型如圖11.
圖11 CNN-BiLSTM 模型示意圖
本文所用數(shù)據(jù)為NLPCC2013 任務(wù)二微博數(shù)據(jù)集,數(shù)據(jù)已經(jīng)標(biāo)注.如圖12,共8 類(lèi)情感標(biāo)簽none,sadness,like,anger,happiness,disgust,fear,surprise 其中各類(lèi)情感標(biāo)簽數(shù)目分別為6753,1144,2120,640,1476,1394,139,334 共14 000 條,包含4000 條訓(xùn)練集與10 000 條測(cè)試集,在實(shí)驗(yàn)過(guò)程中我們將兩個(gè)數(shù)據(jù)集合并成一個(gè)數(shù)據(jù)集,借助Python 的機(jī)器學(xué)習(xí)包SKlearn 中的數(shù)據(jù)處理函數(shù)Train_Test_Split 按訓(xùn)練集與測(cè)試集8:2 的比例進(jìn)行重新劃分.
圖12 微博情感標(biāo)簽分布圖
本文實(shí)驗(yàn)環(huán)境配置見(jiàn)表1.
表1 實(shí)驗(yàn)環(huán)境配置
詞向量是深度學(xué)習(xí)用于自然語(yǔ)言處理的關(guān)鍵一環(huán),論文采用了兩種詞向量的訓(xùn)練方式,一種是通過(guò)Keras 中Embedding 層的動(dòng)態(tài)訓(xùn)練生成的詞向量,一種是預(yù)訓(xùn)練詞向量模型.
關(guān)于預(yù)訓(xùn)練詞向量,原始數(shù)據(jù)中包含5 萬(wàn)條原始微博語(yǔ)料,但這部分語(yǔ)料規(guī)模較小,訓(xùn)練出的詞向量規(guī)模也較小,本文選用了北京師范大學(xué)中文信息處理研究所與中國(guó)人民大學(xué) DBIIR 實(shí)驗(yàn)室合作的工作[34],這份工作的內(nèi)容包括一百多種中文領(lǐng)域的詞向量,選擇其中的微博詞向量531 MB (557 675 674 字節(jié),300維)作為本文所用預(yù)訓(xùn)練詞向量.從這份詞向量中隨機(jī)抽取了部分詞語(yǔ),如圖13,可以看到不同詞語(yǔ)間的語(yǔ)義相關(guān)性.
神經(jīng)網(wǎng)絡(luò)模型中參數(shù)對(duì)模型最終的結(jié)果意義極大,表2為論文所用模型參數(shù),分別為輸入長(zhǎng)度、層數(shù)、詞向量維度、神經(jīng)元個(gè)數(shù)、卷積核、dropout、optimizer、epoch,為了便于比較論文部分模型設(shè)置了相同的參數(shù).表2中dropout 一行括號(hào)內(nèi)參數(shù)為循環(huán)時(shí)上一時(shí)間步到當(dāng)前時(shí)間步循環(huán)dropout 的比率,在統(tǒng)計(jì)層數(shù)時(shí),去掉了模型的輸入層與輸出層.
圖13 微博詞向量可視化
表2 神經(jīng)網(wǎng)絡(luò)參數(shù)
在進(jìn)行實(shí)驗(yàn)結(jié)果分析之前,需要明確判別模型性能的標(biāo)準(zhǔn),本文采用兩種評(píng)價(jià)指標(biāo)進(jìn)行評(píng)價(jià).一種是機(jī)器學(xué)習(xí)中常用的準(zhǔn)確率,F1 值,一種是混淆矩陣,準(zhǔn)確率和F1 值可以得到整個(gè)模型的整體分類(lèi)效果,但不能得到某一情感類(lèi)別文本的細(xì)粒度分類(lèi)效果,混淆矩陣可以比較文本預(yù)測(cè)類(lèi)別與文本真實(shí)類(lèi)別的差異看出某一模型具體的細(xì)粒度分類(lèi)效果.
準(zhǔn)確率的定義是以關(guān)注的類(lèi)為正類(lèi),其他類(lèi)為負(fù)類(lèi),分類(lèi)器在測(cè)試數(shù)據(jù)集上的預(yù)測(cè)或正確或不正確,4 種情況出現(xiàn)的總數(shù)分別記作:
TP:將正類(lèi)預(yù)測(cè)為正類(lèi)數(shù).
FN:將正類(lèi)預(yù)測(cè)為負(fù)類(lèi)數(shù).
FP:將負(fù)類(lèi)預(yù)測(cè)為正類(lèi)數(shù).
TN:將負(fù)類(lèi)預(yù)測(cè)為負(fù)類(lèi)數(shù)
準(zhǔn)確率的定義為:
F1 值的定義為:
混淆矩陣的定義是矩陣的每一列代表文本的預(yù)測(cè)情感標(biāo)簽,每一列的總數(shù)表示預(yù)測(cè)為該類(lèi)別情感標(biāo)簽的文本的數(shù)目.每一行代表數(shù)據(jù)的真實(shí)歸屬情感標(biāo)簽,每一行的數(shù)據(jù)總數(shù)表示該類(lèi)別情感標(biāo)簽的文本實(shí)際的數(shù)目.每一列中的數(shù)值表示此實(shí)際情感標(biāo)簽文本被預(yù)測(cè)為該類(lèi)情感標(biāo)簽的數(shù)目.
由于dropout 機(jī)制的存在,每次訓(xùn)練結(jié)果會(huì)出現(xiàn)一定的偏差,本文比較了8 種模型在10 次訓(xùn)練中整體準(zhǔn)確率效果最好的一次結(jié)果,還比較了加入詞向量?jī)?yōu)化后的模型訓(xùn)練10 次訓(xùn)練中整體準(zhǔn)確率最好的一次結(jié)果,如表3,取小數(shù)點(diǎn)后4 位.
通過(guò)表3可以看出,在最好結(jié)果的對(duì)比上,CNN模型比RNN 模型整體準(zhǔn)確率更好,加入雙向結(jié)構(gòu)以后LSTM、GRU 整體準(zhǔn)確率變低,CNN-BiLSTM 模型的拼接模型整體準(zhǔn)確率比使用雙向結(jié)構(gòu)的RNN 模型更好,C_BiLSTM 模型整體準(zhǔn)確率最低,整體準(zhǔn)確率最佳的LSTM 模型53.71%與最低的BiGRU 模型整體準(zhǔn)確率50.36%相差3.35%.同加入詞向量以后的準(zhǔn)確率作比較發(fā)現(xiàn)CNN 和LSTM 模型整體準(zhǔn)確率分別下降4.89%、0.85%,其余6 個(gè)模型的最佳整體準(zhǔn)確率保持不變或有所提高,加入詞向量以后最佳整體準(zhǔn)確率也由LSTM 模型的53.71%提高到CNN-BiLSTM 模型的55.07%,說(shuō)明加入詞向量對(duì)提升整體準(zhǔn)確率有一定效果,值得注意的是加入詞向量以后除TextCNN 模型與C_BiLSTM 模型,其余模型的F1 值均有所下降,說(shuō)明模型準(zhǔn)確率有提高但分類(lèi)性能有所下降,詞向量覆蓋掉了原始文本的部分語(yǔ)義,本文通過(guò)將混淆矩陣進(jìn)一步分析模型的細(xì)粒度分類(lèi)效果.
表3 不同模型準(zhǔn)確率及F 值(%)
圖14中,圖14(a)表示模型未加入預(yù)訓(xùn)練詞向量模型的混淆矩陣,圖14(b)表示加入預(yù)訓(xùn)練詞向量模型的混淆矩陣.由混淆矩陣的表現(xiàn)可以看出,在不加入詞向量的情況下,對(duì)happiness,like,none,sadness 等情感類(lèi)別文本預(yù)測(cè)效果較好.Anger,disgust 等情感類(lèi)別文本預(yù)測(cè)效果一般.Fear 和surprise 情感標(biāo)簽文本預(yù)測(cè)效果極差,甚至出現(xiàn)類(lèi)別缺失的情況,為此查閱了原始的微博文本,發(fā)現(xiàn)部分句子標(biāo)簽為fear 的微博文本很難表征強(qiáng)烈的fear 情感,如“和總部來(lái)的領(lǐng)導(dǎo)們?cè)谥榻鲁浅燥?完后她們想去沙面逛逛,我正好開(kāi)了車(chē)所以當(dāng)然由我送去.然后,我就開(kāi)始不停問(wèn)同事沙面怎么走,然后同事說(shuō)先往2 沙島方向走,然后我開(kāi)始問(wèn)2 沙島怎么走,再然后很巧的我的GPS 就死機(jī)了一直搜不到衛(wèi)星信號(hào)[衰]你們說(shuō),領(lǐng)導(dǎo)會(huì)不會(huì)覺(jué)得我是故意的?![淚]”.“去微博廣場(chǎng)看了十幾頁(yè),全這句話(huà):我喜歡周韻湯唯全智賢.嘛意思啊? 2 億微博用戶(hù)不會(huì)全體中毒吧?真可怕!!這樣宣傳比買(mǎi)CCTV 的8 點(diǎn)廣告好值啊!!!”.相比強(qiáng)烈的fear 情感,這兩句話(huà)更像是在吐槽個(gè)人的想法并抒發(fā)個(gè)人的情緒,第二句中“好值啊”和前半部分表達(dá)的情感有區(qū)別,句子的整體情感也因此產(chǎn)生變化,也一定程度影響模型預(yù)測(cè)的結(jié)果.
圖14 混淆矩陣
結(jié)合混淆矩陣的結(jié)果,加入詞向量以后模型的整體準(zhǔn)確率有所提高,但具體到某一情感類(lèi)別,特別是情感標(biāo)簽數(shù)較少的類(lèi)別,模型的預(yù)測(cè)結(jié)果不甚理想,出現(xiàn)了在預(yù)測(cè)時(shí)情感類(lèi)別缺失的狀況,這種情況以數(shù)據(jù)量較小的情感標(biāo)簽為主.與未加入詞向量時(shí)的結(jié)果相比,情感類(lèi)別缺失更多,說(shuō)明詞向量覆蓋了部分情感詞匯的文本信息,不能很好的表征微博文本的細(xì)粒度情感,可以嘗試構(gòu)建更大規(guī)模的基于微博文本的詞向量,同時(shí),中文自然語(yǔ)言處理流程中停用詞的去除,也對(duì)口語(yǔ)化、符號(hào)化、圖形化嚴(yán)重的微博文本產(chǎn)生了一些影響,可以嘗試構(gòu)建基于微博文本的情感詞匯庫(kù)或微博分詞系統(tǒng).
與歐陽(yáng)純萍等[35]基于多策略融合的細(xì)粒度情感分析方法相比,基于神經(jīng)網(wǎng)絡(luò)模型的方法最佳整體準(zhǔn)確率高了大約25%,需要注意的是歐陽(yáng)純萍等的工作所用數(shù)據(jù)集剔除了情感標(biāo)簽為None 的文本.與傳統(tǒng)的基于機(jī)器學(xué)習(xí)方法的文本細(xì)粒度情感分類(lèi)的效果相比,基于神經(jīng)網(wǎng)絡(luò)模型的微博文本細(xì)粒度分類(lèi)仍大有可為.
論文結(jié)合深度學(xué)習(xí)方法對(duì)微博文本進(jìn)行了細(xì)粒度情感分析,但對(duì)文本情感的探究較少,試驗(yàn)了深度學(xué)習(xí)中幾種模型在情感細(xì)分類(lèi)中的效果,下一步除了構(gòu)造新的模型,還應(yīng)當(dāng)結(jié)合一定的情感知識(shí);分詞時(shí)簡(jiǎn)單地用結(jié)巴分詞進(jìn)行了分詞,而微博文本新詞、縮略詞、表情符號(hào)較多,這種分詞不甚準(zhǔn)確,影響文本情感的表征,也在一定程度上影響了情感細(xì)分類(lèi)結(jié)果,下一步可以考慮構(gòu)建微博的情感詞典;同時(shí),不同情感標(biāo)簽的數(shù)目差距較大,情感標(biāo)簽數(shù)目最多的None 與最少的fear 比例近乎50:1,對(duì)分類(lèi)結(jié)果也有極大的影響;模型對(duì)文本的上下文信息利用較少,可考慮使用Elmo、Bert 等基于上下文信息的預(yù)訓(xùn)練語(yǔ)言模型,或加入Attention 機(jī)制進(jìn)行優(yōu)化.與微博文本領(lǐng)域主題分類(lèi)的相關(guān)工作相比,微博文本的情感細(xì)粒度分類(lèi)任務(wù)仍任重而道遠(yuǎn).