摘要:情感分析的商業(yè)價值在于可以通過文字分析可提早得知用戶對公司或產(chǎn)品的觀感,以調(diào)整銷售策略的方向。為了實現(xiàn)對電影數(shù)據(jù)的情感分析,本文基于Keras框架設(shè)計并建立了多層感知器模型(Multi-Layer Perceptron,MLP)、遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RNN)和長短時記憶(Long Short Term Memory,LSTM)三種深度學(xué)習(xí)模型并進(jìn)行訓(xùn)練評估和預(yù)測,通過對lMDb數(shù)據(jù)集的影評文字進(jìn)行分析,最終可以較好地預(yù)測出影評文字褒貶的情感傾向。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);Keras框架;網(wǎng)絡(luò)電影數(shù)據(jù)集lMDb;情感分析
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)34-0014-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
情感分析是近年來自然語言處理和文本挖掘領(lǐng)域的熱門話題,尤其以文本形式的互聯(lián)網(wǎng)信息的情感分析已經(jīng)引起了學(xué)術(shù)界的廣泛關(guān)注[1]。情感分析(sentiment analysis)[2]c3]又稱評論挖掘或意見挖掘(opinion mining),是使用自然語言處理、文字分析等方法找出人們對某些話題或產(chǎn)品的觀點(diǎn)、態(tài)度、喜好或評價,經(jīng)過自動判別可以挖掘出用戶的情感傾向分布。情感分析的商業(yè)價值在于,可提早得知顧客對公司或產(chǎn)品的觀感,進(jìn)而調(diào)整銷售策略的方向,最大程度提高營銷成功率贏得競爭優(yōu)勢。
近年來,隨著深度學(xué)習(xí)的快速發(fā)展已經(jīng)在多個應(yīng)用領(lǐng)域得到了廣泛的應(yīng)用[4],尤其在利用神經(jīng)網(wǎng)絡(luò)進(jìn)行語言模型建立、文本特征學(xué)習(xí)和文本情感分析方面得到了重大進(jìn)展[4],已經(jīng)成為自然語言處理領(lǐng)域研究的熱點(diǎn)之一。
本文主要采用Keras框架建立神經(jīng)網(wǎng)絡(luò)模型來實現(xiàn)電影數(shù)據(jù)的情感分析。Kerasc5]是一個開放源碼的高級深度學(xué)習(xí)程序庫,是由python編寫而成的高級神經(jīng)網(wǎng)絡(luò)API,能夠更加高效快捷的建立深度學(xué)習(xí)模型并進(jìn)行訓(xùn)練評估和預(yù)測。通過Keras框架設(shè)計并建立了基于tensorflow的神經(jīng)網(wǎng)絡(luò)模型,并用建立的神經(jīng)網(wǎng)絡(luò)模型來實現(xiàn)對電影數(shù)據(jù)IMDb的情感分析。
1 模型介紹
1.1 多層感知機(jī)原理
多層感知機(jī)[7](Multi_Layer Perceptron,MLP)通常也稱為人工神經(jīng)網(wǎng)絡(luò),是一種誤差反向傳播的多層前饋神經(jīng)網(wǎng)絡(luò)算法,主要用來解決多類別非線性數(shù)據(jù)分類問題。通過對樣本進(jìn)行訓(xùn)練,MLP能夠使自身網(wǎng)絡(luò)學(xué)習(xí)目標(biāo)模型輸入與輸出之間的映射能力,并具有較好的泛化能力。
多層感知機(jī)層與層之間是全連接的,包括輸入層、隱藏層和輸出層。圖1為一個最常用的三層MLP模型,只含有一個隱藏層也稱為單隱層網(wǎng)絡(luò)。
MLP算法的核心是依據(jù)梯度下降法,計算輸出層誤差并通過反向傳播來不斷調(diào)整輸入層和隱含層,隱含層和輸出層之間的權(quán)值和閾值,使網(wǎng)絡(luò)的均方根誤差收斂到最小。
1.2 RNN模型原理
遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network)是具有樹狀階層結(jié)構(gòu)且網(wǎng)絡(luò)節(jié)點(diǎn)按其連接順序?qū)斎胄畔⑦M(jìn)行遞歸的人工神經(jīng)網(wǎng)絡(luò),已經(jīng)廣泛地應(yīng)用于語音識別和手寫字體識別等領(lǐng)域。RNN模式的原理是將神經(jīng)元的輸出再傳回神經(jīng)元的輸入,這樣循環(huán)的設(shè)計使神經(jīng)網(wǎng)絡(luò)具備保存信息的能力,以時間點(diǎn)展開RNN網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2共有三個時間點(diǎn),在t時間點(diǎn)處,X是t時間點(diǎn)的輸入;0.是t時間點(diǎn)的輸出;(U,V,W)都是神經(jīng)網(wǎng)絡(luò)的參數(shù),W參數(shù)是t—1時間點(diǎn)的輸出,但是作為t時間點(diǎn)的輸入。St是隱藏狀態(tài),代表著神經(jīng)網(wǎng)絡(luò)的“記憶”,是經(jīng)過當(dāng)前時間點(diǎn)的輸入Xt,再加上前一個時間點(diǎn)的狀態(tài)St-1,和U、W的參數(shù)共同評估的結(jié)果,其公式為:其中,函數(shù)是非線性函數(shù)。
RNN的關(guān)鍵點(diǎn)之一就是隱含層每個時刻的輸出都依賴于以往時刻的信息,但當(dāng)時間間隔不斷增大時,RNN在訓(xùn)練時會存在長期依賴的問題,這是由于RNN模型在訓(xùn)練時會遇到梯度消失或爆炸的問題,從而導(dǎo)致RNN難以保存較長時間的記憶[6]。
1.3 LSTM模型原理
長短期記憶(Long Short Term Memory,LSTM)是一種時間遞歸神經(jīng)網(wǎng)絡(luò),已廣泛地應(yīng)用在語音識別、圖像識別、數(shù)據(jù)分析等領(lǐng)域。LSTM是由深度學(xué)習(xí)專家Hochreiter&Schmidhuber (1997)[6]提出,專門設(shè)計用來解決RNN的長期依賴問題,能夠?qū)θ我忾L度的序列進(jìn)行建模從而具有學(xué)習(xí)遠(yuǎn)距離信息的能力,因此LSTM模型能夠更好地應(yīng)用于文本情感分析。LSTM模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3中,Xt為輸入向量;Yt輸出向量;Ct:cell是LSTM的記憶細(xì)胞狀態(tài);LSTM神經(jīng)網(wǎng)絡(luò)包含“三種門”機(jī)制,分別為“輸入門”(It:InputGate)、“遺忘門”(Ft:Forget Gate)和“輸入門”(It:Input-Gate),LSTM利用這種“門”機(jī)制來控制記憶細(xì)胞的狀態(tài),刪減或增加其中的信息從而使LSTM擁有長期記憶的功能。
2 實驗
2.1 實驗環(huán)境、數(shù)據(jù)集和評估指標(biāo)
本文實驗的環(huán)境為Windows1064bit的操作系統(tǒng),主要參數(shù)CPU:InterICorel i5-5200U CPU@ 2.20GHZ 2.20。內(nèi)存為8GB,編程語言是python3.7.3。深度學(xué)習(xí)框架Keras。
本文實驗采用了網(wǎng)絡(luò)電影數(shù)據(jù)庫( Internet Movie Database,IMDb),IMDb[6]是一個與電影相關(guān)的在線數(shù)據(jù)庫,始于1990年并于1998年起成為亞馬遜旗下的網(wǎng)站,至今共收錄了400多萬部電影作品數(shù)據(jù)。IMDb數(shù)據(jù)集共有50000項“影評文字”,其中訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)各占50%,每一項“影評文字”都被標(biāo)記為“正面評價(pos)”或“負(fù)面評價(neg)”。
在機(jī)器學(xué)習(xí)、自然語言處理中評估是一個重要的環(huán)節(jié),本文評估模型主要是通過分析訓(xùn)練的準(zhǔn)確率、測試集準(zhǔn)確率和運(yùn)行效率來評價模型。
2.2基于Keras框架的程序設(shè)計流程圖
用Keras建立模型一般包括數(shù)據(jù)預(yù)處理、建立模型、訓(xùn)練模型評估模型準(zhǔn)確率和進(jìn)行預(yù)測和使用模型這幾個階段。Keras自然語言處理IMDb影評文字的設(shè)計流程如圖4所示。
圖4是程序設(shè)計總流程圖,首先是對IMDb影評文字進(jìn)行預(yù)處理,讀取IMDb數(shù)據(jù)集;然后建立token(2000個字的字典),并使用已經(jīng)建立的token將“影評文字”轉(zhuǎn)換為“數(shù)字列表”;由于每一條“影評文字”的字?jǐn)?shù)不一致需要進(jìn)行截長補(bǔ)短的處理,將“數(shù)字列表”的長度設(shè)置為100。經(jīng)過數(shù)據(jù)預(yù)處理可以產(chǎn)生訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。第二步是加入Embedding層可以將“數(shù)字列表”轉(zhuǎn)換為“向量列表”,為了避免過度擬合加入了Dropout算法的比率D。第三步是建立深度學(xué)習(xí)模型,模型的主要參數(shù)為:詞向量的維度設(shè)為32,MPL模型“平坦層”(200個神經(jīng)元)和“隱藏層”(256個神經(jīng)元),RNN模型中神經(jīng)元unit為16,LSTM建立了32個神經(jīng)元。經(jīng)過對模型進(jìn)行訓(xùn)練和預(yù)測,可以看到以0(負(fù)面)或1(正面)作為輸出預(yù)測結(jié)果。
2 實驗結(jié)果分析
綜上研究論述后,共執(zhí)行10個訓(xùn)練周期,通過對比“Acc訓(xùn)練集準(zhǔn)確率”和“vaLacc驗證集準(zhǔn)確率”來分析模型的準(zhǔn)確率。神經(jīng)網(wǎng)絡(luò)模型由于參數(shù)數(shù)量較多在訓(xùn)練時很容易產(chǎn)生過擬合現(xiàn)象,為了更好地解決過度擬合問題,模型引入擬合參數(shù)Drop-out,圖5為Dropout=0.2時的運(yùn)行結(jié)果。
從圖5可以看出,經(jīng)過10個訓(xùn)練周期之后,訓(xùn)練和驗證的準(zhǔn)確率都越來越高。在模型訓(xùn)練后期,“訓(xùn)練的準(zhǔn)確率(acc)”和“驗證的準(zhǔn)確率(val_acc)”之間差距變小,過度擬合程度已經(jīng)減輕。誤差越來越小,準(zhǔn)確率越來越高。運(yùn)行結(jié)果顯示MPL的驗證準(zhǔn)確率約為0.83,RNN約為0.84,LSTM約為0.86。
通過圖6可以看出,經(jīng)過10個訓(xùn)練周期,三種模型中運(yùn)行時間最快的是MPL,RNN和LSTM次之。結(jié)合圖5可知,在Dropout=0.2時,LSTM驗證準(zhǔn)確率最高但運(yùn)行時間較長,RNN準(zhǔn)確率和運(yùn)行效率居中,MPL驗證準(zhǔn)確率相對較低但運(yùn)行效率最高。
為了更好地觀察過度擬合參數(shù)對模型的影響,可以通過調(diào)節(jié)擬合參數(shù)來分析其對模型準(zhǔn)確率的影響。實驗結(jié)果如圖7所示。
從圖7可以得到,當(dāng)過擬合參數(shù)在0.1-0.5之間變化時,三種算法的驗證準(zhǔn)確率在0.83-0.86之間變化。其中MPL算法在Dropout=0.2時驗證精度最低,此時VaLacc= (0.83),在Dropout=0.4時,具有最高驗證精度vaLacc=(0.86);RNN算法在Dropout=0.1時驗證精度最低,此時val_acc= (0.83),在Dropout=0.3時,驗證精度最高為0.85;LSTM算法在Dropout=0.2時驗證精度最低,此時val_acc=(0.85),在Dropout=0.5時,驗證精度最高為0.86。
因此選擇不同的過擬合參數(shù)對模型的驗證準(zhǔn)確率(val_acc)有較大的影響。在實際的應(yīng)用當(dāng)中,應(yīng)根據(jù)具體情況選取合適的過擬合參數(shù),增強(qiáng)網(wǎng)絡(luò)的泛化能力。
4 結(jié)論
本文主要對IMDb數(shù)據(jù)集使用詞嵌入(Word Embedding)自然語言處理的方法進(jìn)行預(yù)處理,基于Keras框架設(shè)計并建立了MLP、RNN和LSTM三種深度學(xué)習(xí)模型,通過對模型進(jìn)行訓(xùn)練、預(yù)測,最終可以預(yù)測出影評文字是正面的還是負(fù)面的。
實驗結(jié)果表明使用MPL模型準(zhǔn)確率較低但運(yùn)行時間最短;使用RNN模型準(zhǔn)確率高于MPL但運(yùn)行時間相對較長;由于LSTM模型解決了RNN模型中的長期依賴問題驗證準(zhǔn)確率最高可以達(dá)到86%,但消耗時間最長。隨著GPU的快速發(fā)展可大大縮短深度學(xué)習(xí)模型的訓(xùn)練時間,使LSTM等神經(jīng)網(wǎng)絡(luò)模型得到更加廣泛的應(yīng)用。
參考文獻(xiàn):
[1]楊立公,朱儉,湯世平.文本情感分析綜述[J].計算機(jī)應(yīng)用,2013,33(6):1574-1578.
[2]梁軍,柴玉梅,原慧斌,等.基于極性轉(zhuǎn)移和LSTM遞歸網(wǎng)絡(luò)的情感分析[J].中文信息學(xué)報,2015,29(5):152-159.
[3]王文凱,王黎明,柴玉梅.基于卷積神經(jīng)網(wǎng)絡(luò)和Tree-LSTM的微博情感分析[J].計算機(jī)應(yīng)用研究,2019,36(5):1371-1375.
[4]張紫瓊,葉強(qiáng),李一軍.互聯(lián)網(wǎng)商品評論情感分析研究綜述[J].管理科學(xué)學(xué)報,2010,13(6):84-96.
[5]劉毅銘.深度學(xué)習(xí)研究與應(yīng)用綜述[J].綠色科技,2019(11):281-283.
[6]林大貴.TensorFlow+Keras深度學(xué)習(xí)人工智能實踐應(yīng)用[M].清華大學(xué)出版社,2018,162-200.
[7]何平,劉紫燕.基于改進(jìn)多層感知機(jī)的手寫數(shù)字識別[J].通信技術(shù),2018,51(9):2075-2080.
【通聯(lián)編輯:唐一東】
收稿日期:2019-08-15
作者簡介:方碧云(1994-),女,河南平頂山人,碩士,主要研究方向為信號與信息處理。