趙賽仙 張?jiān)? 周順江 覃勇 孫大旭 龔維印
關(guān)鍵詞:CBiLSTM;影評(píng);情感分析
近年來(lái),隨著多媒體技術(shù)的飛速發(fā)展和智能設(shè)備的普及,每天都會(huì)產(chǎn)生源源不斷的互聯(lián)網(wǎng)數(shù)據(jù),很多用戶會(huì)在社交平臺(tái)上發(fā)布大量的影視作品評(píng)論[1-2]。比如購(gòu)物評(píng)價(jià)、QQ音樂(lè)、短視頻評(píng)論等。許多帶有用戶情感的文本將作為研究用戶情感、立場(chǎng)和觀點(diǎn)的依據(jù)?,F(xiàn)在很多用戶一邊觀看一邊進(jìn)行綜合評(píng)分,一些用戶在影視下方發(fā)出的評(píng)論常常被忽略,這種現(xiàn)象達(dá)不到一個(gè)很好的參考價(jià)值。影視投資人不僅要知道用戶評(píng)價(jià)的情感走向,還應(yīng)當(dāng)將用戶的情感變化和諸多影響用戶評(píng)價(jià)的因素考慮到其中[3]。
情感分析旨在對(duì)帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納、推理的過(guò)程,其常應(yīng)用于消費(fèi)決策、輿情分析、電子商務(wù)等領(lǐng)域,具有較高的商業(yè)應(yīng)用價(jià)值[4]。本文由情感分類算法為切入點(diǎn)介紹了當(dāng)前流行的情感分析方法,進(jìn)而提出了基于CsBiLSTM的情感分類方法。采用情感分析方法,可以通過(guò)主觀描述來(lái)自動(dòng)判斷自然語(yǔ)言文本的積極和消極的情緒傾向,并得出相應(yīng)的結(jié)論。
1 相關(guān)工作
1.1 數(shù)據(jù)預(yù)處理
首先通過(guò)爬蟲(chóng)技術(shù)獲取實(shí)驗(yàn)數(shù)據(jù);然后獲取數(shù)據(jù)中的星級(jí)和具體的評(píng)論內(nèi)容,將三星級(jí)的內(nèi)容去除,將一、二星級(jí)標(biāo)注為-1,四、五星級(jí)標(biāo)注為1作為實(shí)驗(yàn)數(shù)據(jù)的標(biāo)簽;最后利用正則表達(dá)式去除評(píng)論中存在的西文字體,再采用Jieba分詞工具進(jìn)行分詞處理。
1.2 詞嵌入向量
文本信息無(wú)法直接輸入進(jìn)行特征提取,需要將文本轉(zhuǎn)換為具體的向量進(jìn)行表示,從而方便計(jì)算機(jī)的處理[5]。早期使用的one-hot編碼方式中,詞與詞之間相互獨(dú)立,忽略了詞與詞之間的邏輯性以及無(wú)法區(qū)分詞的相似性。為了較好地克服傳統(tǒng)詞向量存的不足,本文使用分布式進(jìn)行連續(xù)性表示,將文本中的詞從高維空間映射到低維空間。本文詞向量使用Word2Vec訓(xùn)練詞向量。
開(kāi)源詞向量工具包Word2Vec于2013被Google推出[6]。Mikolov團(tuán)隊(duì)因神經(jīng)網(wǎng)絡(luò)模型采用兩個(gè)非線性變換,網(wǎng)絡(luò)參數(shù)較多,訓(xùn)練速度延遲且不利用于大語(yǔ)料的特點(diǎn)而簡(jiǎn)化了它,并實(shí)現(xiàn)了Word2Vec詞向量模型。它具有簡(jiǎn)易、卓效的優(yōu)點(diǎn),從而十分適用于從龐大及巨型語(yǔ)料中獲取高精度的詞向量表示。Word2Vec 主要包含CBOW 和Skip-gram 組成[7],具體如圖1所示。
CBOW模型用一個(gè)隱層預(yù)測(cè)中心詞t,即通過(guò)中心詞附近的n 個(gè)詞預(yù)測(cè)中心詞t的概率。如“我”“很”“喜歡”“這部”“電影”,就是通過(guò)周圍詞“我”“很”“這部”“電影”預(yù)測(cè)中心詞“喜歡”;Skip-gram模型用一個(gè)隱含層預(yù)測(cè)周圍詞,即通過(guò)中心詞t預(yù)測(cè)周圍n 個(gè)詞的概率,如“這部”“電影”“演員”“演技”“不行”,就是通過(guò)中心詞“演員”預(yù)測(cè)周圍詞“這部”“電影”“演技”“不行”。本文使用Skip-gram模型訓(xùn)練維度為50的詞向量。
2 模型介紹
本文的實(shí)驗(yàn)?zāi)P桶ㄝ斎雽?、嵌入層、卷積神經(jīng)網(wǎng)絡(luò)、雙向長(zhǎng)短期記憶網(wǎng)絡(luò)、K-最近鄰,具體的模型如圖2所示。
2.1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)主要用于圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理等領(lǐng)域[8]。Kim于2014年首次將卷積神經(jīng)網(wǎng)絡(luò)用于自然語(yǔ)言處理[9]。卷積神經(jīng)網(wǎng)絡(luò)(Convolu?tional Neural Network,CNN) 是具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),主要包括卷積計(jì)算,其網(wǎng)絡(luò)模型基本結(jié)構(gòu)有輸入層、卷積層、池化層、全連接層和輸出層[10]。CNN模型的架構(gòu)圖如圖3所示。
輸入層:在圖像處理領(lǐng)域,為0~255之間具體的像素。在本文中將句子或者文本表示成向量矩陣。
卷積層:通過(guò)局部連接和權(quán)值共享完成卷積運(yùn)算。在深度神經(jīng)網(wǎng)絡(luò)中,卷積層中每個(gè)單元都有一個(gè)獨(dú)立的權(quán)值,因此需要對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行控制以實(shí)現(xiàn)最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)。本文通過(guò)不同尺寸的卷積核進(jìn)行卷積,提取輸入數(shù)據(jù)中深層次的特征。
池化層:主要對(duì)卷積層輸出的結(jié)果進(jìn)一步提取特征,在保留最大特征的同時(shí),降低特征的維度。
全連接層:主要根據(jù)概率值對(duì)所提取的特征進(jìn)行分類,然后輸出最終的情感分析結(jié)果。
2.2 LSTM 和BiLSTM
LSTM 是循環(huán)神經(jīng)網(wǎng)絡(luò)的變形。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN) 對(duì)具有序列特性的數(shù)據(jù)非常有效,能夠挖掘數(shù)據(jù)中的時(shí)序信息以及語(yǔ)義信息,能夠利用之前的信息影響后面信息的輸出,但是RNN 存在無(wú)法記憶長(zhǎng)距離的信息、梯度消失等問(wèn)題[11]。為解決以上問(wèn)題,在RNN基礎(chǔ)上添加了“門控裝置”,即輸入門、遺忘門和輸出門,形成LSTM。
為進(jìn)一步充分利用上下文的內(nèi)容,將具有正向序列學(xué)習(xí)特征的LSTM模型進(jìn)行變形,通過(guò)正反向序列提取上下文信息,綜合考慮上下文內(nèi)容,得到雙向長(zhǎng)短期記憶網(wǎng)絡(luò)模型BiLSTM,由此判斷每個(gè)樣本評(píng)論的情感傾向[12],具體如圖4所示。
BiLSTM模型具體的學(xué)習(xí)流程如下:
1) xt - 1,xt,xt + 1 是輸入的具體的詞,經(jīng)過(guò)詞嵌入將輸入的詞轉(zhuǎn)換為固定維度的詞向量。
2) 輸入的詞經(jīng)過(guò)詞嵌入后轉(zhuǎn)換為固定維度的詞向量,然后輸入BiLSTM模型,經(jīng)過(guò)正向傳播和反向傳播訓(xùn)練得到詞向量,將正向傳播獲取的特征和反向傳播獲取的特征進(jìn)行融合,有效地提取數(shù)據(jù)的特征。
3) 將獲取的數(shù)據(jù)特征通過(guò)分類器進(jìn)行預(yù)測(cè)分類,判斷影評(píng)數(shù)據(jù)的情感傾向,即該影評(píng)的情感是積極還是消極。
3 實(shí)驗(yàn)方案和結(jié)果
3.1 實(shí)驗(yàn)數(shù)據(jù)
本文通過(guò)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)獲取豆瓣網(wǎng)站共計(jì)50部電影影評(píng)作為實(shí)驗(yàn)數(shù)據(jù),經(jīng)過(guò)處理共獲取影評(píng)數(shù)據(jù)共3萬(wàn)條,其中訓(xùn)練數(shù)據(jù)2.4萬(wàn)條,測(cè)試數(shù)據(jù)0.6萬(wàn)條。按照星級(jí)將實(shí)驗(yàn)數(shù)據(jù)歸為積極和消極兩類,積極類用1表示,消極類用-1表示。
3.2 評(píng)價(jià)指標(biāo)
本實(shí)驗(yàn)評(píng)價(jià)分類結(jié)果的好壞用準(zhǔn)確率(Accu?racy) 、精確率、召回率和F1 作為指標(biāo)。Positive表示積極評(píng)論,Negative表示消極評(píng)論,影評(píng)分析混淆矩陣如表1所示。
其中,準(zhǔn)確率表示影評(píng)分析中被分對(duì)的樣本與所有樣本的數(shù)的比;精確率表示影評(píng)分析中被識(shí)別為積極類的樣本中,確實(shí)為積極類別的比例;召回率表示在所有積極類別樣本中,被正確識(shí)別為積極類別的比例;F1表示通過(guò)精確率和召回率對(duì)影評(píng)的綜合分析。
3.3 實(shí)驗(yàn)設(shè)置
本實(shí)驗(yàn)在Windows10上,使用Python編程語(yǔ)言,基于Anaconda環(huán)境,利用深度學(xué)習(xí)框架TensorFlow2.0完成整個(gè)實(shí)驗(yàn)代買的編寫。通過(guò)Word2Vec中skipgram訓(xùn)練維度為50的詞向量進(jìn)行詞嵌入。在CsBiL?STM中,具體的實(shí)驗(yàn)參數(shù)設(shè)置如下:首先使用卷積層中使用32個(gè)卷積核,尺寸大小為2,3,4的窗口進(jìn)行卷積;其次使用窗口大小為3,移動(dòng)步長(zhǎng)為1的最大池化方式進(jìn)行池化;再其次將多尺寸卷積核獲取的特征進(jìn)行融合;最后將融合的特征使用雙向LSTM進(jìn)一步提取影評(píng)數(shù)據(jù)特征。
3.4 實(shí)驗(yàn)結(jié)果及分析
為了證明本實(shí)驗(yàn)?zāi)P偷挠行?,將CsBiLSTM模型與CNN、LSTM、BiLSTM進(jìn)行對(duì)比實(shí)驗(yàn),輸出層使用sigmoid進(jìn)行分析,通過(guò)準(zhǔn)確率進(jìn)行評(píng)價(jià),實(shí)驗(yàn)結(jié)果如表2所示。
通過(guò)CsBiLSTM模型提取影評(píng)數(shù)據(jù)特征,輸出層使用K-最近鄰算法進(jìn)行影評(píng)分析,為保證實(shí)驗(yàn)結(jié)果的有效性,將實(shí)驗(yàn)數(shù)據(jù)進(jìn)行5折交叉驗(yàn)證,同時(shí)通過(guò)網(wǎng)格搜索尋找最佳參數(shù),并與CNN、LSTM、BiLSTM進(jìn)行對(duì)比,最后通過(guò)準(zhǔn)確率、精確率、召回率和F1 進(jìn)行評(píng)價(jià),實(shí)驗(yàn)結(jié)果如表3所示。
從表2和表3可以分析得出,CsBiLSTM融合模型在特征提取方面優(yōu)于單一的CNN、LSTM、BiLSTM。輸出層使用sigmoid和K-最近鄰進(jìn)行情感分析,其K-最近鄰整體優(yōu)于sigmoid。同時(shí)也能得到BiLSTM能夠充分利用前向和后向的特征進(jìn)行分類,充分體現(xiàn)出其網(wǎng)絡(luò)在時(shí)序信息方面具有的獨(dú)特性。
4 結(jié)束語(yǔ)
融合多尺寸CNN 和BiLSTM 得到的模型CsBiL?STM模型用于中文影評(píng)分析優(yōu)于單一的網(wǎng)絡(luò)模型,如CNN、LSTM、BiLSTM;同時(shí)也能夠解決CNN無(wú)法充分利用上下文信息的問(wèn)題。但是在實(shí)驗(yàn)的過(guò)程中,也體現(xiàn)出實(shí)驗(yàn)存在的問(wèn)題:第一,模型訓(xùn)練時(shí)間長(zhǎng)。盡管單一模型在準(zhǔn)確率上低于CsBiLSTM,但是在消耗的時(shí)間上優(yōu)于CsBiLSTM;第二,數(shù)據(jù)量偏少。實(shí)驗(yàn)過(guò)程中使用的數(shù)據(jù)量少,模型訓(xùn)練過(guò)程中存在學(xué)習(xí)不夠充分。在今后的工作中,除了解決以上兩個(gè)問(wèn)題外,還需進(jìn)一步加強(qiáng)算法模型優(yōu)化以及數(shù)據(jù)預(yù)處理的研究。