(上饒師范學(xué)院 數(shù)學(xué)與計算機科學(xué)學(xué)院,江西 上饒 334001)
近年來,隨著博客、微信、維基等社交網(wǎng)絡(luò)的不斷增長,基于社交網(wǎng)絡(luò)等媒介的情感分析[1]正成為工業(yè)界與學(xué)術(shù)界的研究熱點。情感分析也稱觀點挖掘[2-3],屬于自然語言處理與計算語言學(xué)的范疇,其主要目標(biāo)是將文本進行分類即正面情感或負(fù)面情感,有時還可劃分為中性情感[4]。對于情感分析,已經(jīng)涌現(xiàn)出大量相關(guān)情感分類方法,如PD Turney[5]與Taboada[6]等人分別先后于2002年、2011年提出基于字典的切分類方法。Pang與Lee[7-8]把機器學(xué)習(xí)的傳統(tǒng)算法應(yīng)用到情感分析中,并利 用 詞 袋 模 型[2]對 文 本 進 行 情 感 分析。近年來,隨著人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)研究的不斷進展,如Kim于2014年提出CNN(Convolutional Neural Network,卷積神經(jīng)網(wǎng)絡(luò))模型[9],利用詞向量對文本進行分類,并取得了不錯的效果。Mikolov[10]等人在2010年提出通過RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))來進行建模,此模型可以充分地利用上下文信息構(gòu)建語言模型,效果比較顯著。Socher[11]等人通過改進的遞歸神經(jīng)網(wǎng)絡(luò)模型(Recursive Neural Network)來獲取句子語義特征,提高了情感分類的準(zhǔn)確率。
在傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)中,在梯度反向傳播階段,狀態(tài)轉(zhuǎn)移矩陣權(quán)重的大小將會對學(xué)習(xí)過程產(chǎn)生強烈影響。具體說來,如果狀態(tài)轉(zhuǎn)移矩陣中的權(quán)重較小,這將導(dǎo)致梯度信號變得太小以致于學(xué)習(xí)非常緩慢甚至停止從而帶來梯度消失問題。反之,如果矩陣中的權(quán)重較大,將導(dǎo)致梯度信號過大使得學(xué)習(xí)偏離而造成所謂的梯度爆炸問題[12]。
本研究在RNN循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,建立LSTM深度神經(jīng)網(wǎng)絡(luò)模型,對文本情感進行分析,通過在公開數(shù)據(jù)集上的相關(guān)實驗,證明LSTM模型情感分析方法的有效性。
為了解決RNN模型中的上述問題,這里采用LSTM(Long Short-Term Memory,長短記憶網(wǎng)絡(luò))模型[13],其是一種時間遞歸的深度神經(jīng)網(wǎng)絡(luò)。LSTM引入一種稱之為記憶單元 (memory cell)的新型結(jié)構(gòu),具體如圖1所示,記憶單元主要由輸入門、自循環(huán)連接的神經(jīng)元、遺忘門和輸出門四個部分組成。
圖1 LSTM記憶單元示意圖
為了理解LSTM網(wǎng)絡(luò)模型的工作原理,這里通過一系列算法方程進行說明,假設(shè)每個時間步t,記憶單元層將進行更新,進一步假設(shè)如下:
(1)xt是記憶單元層在時間t的輸入。
(2)Wi,Wf,Wc,Wo,Ui,Uf,Uc,Uo與Vo是權(quán)重矩陣。
(3)bi,bf,bc,bo是偏差向量。
具體算法流程如下:
第1步:在每一個時間步t,將計算it。具體將輸入門輸入信息與權(quán)值相乘,再加上偏置量,然后將記憶單元狀態(tài)從Ct-1更新到Ct,具體方程如下:
it=σ(Wixt+Uiht-1+bi)
(1)
(2)
ft=σ(Wfxt+Ufht-1+bf)
(3)
(4)
第3步:在上述更新后記憶單元狀態(tài)后,就可以不斷計算輸出門的值,具體方程如下。
ot=σ(Woxt+Uoht-1+VoCt+bo)
(5)
ht=ot* tanh(Ct)
(6)
為了比較LSTM與RNN深度神經(jīng)網(wǎng)絡(luò)在情感分析方面的性能,這里設(shè)計了對比實驗,實驗數(shù)據(jù)來自Kaggle 的情感分類比賽UMICH SI650[14],分別用LSTM與RNN網(wǎng)絡(luò)模型進行訓(xùn)練學(xué)習(xí)與預(yù)測,以分析對比這兩個模型的優(yōu)劣。
本研究實驗硬件環(huán)境為中高性能PC;軟件環(huán)境主要基于Keras與Tensorflow的深度學(xué)習(xí)平臺,具體配置如表1所示。
表1 實驗環(huán)境具體配置
本研究采用公開本情感分類數(shù)據(jù)集UMICH SI650,UMICH SI650數(shù)據(jù)集中的數(shù)據(jù)是從相關(guān)博客中抽取,每一行構(gòu)成一個句子。本實驗的目標(biāo)通過構(gòu)建模型進行訓(xùn)練,然后進行相應(yīng)測試,將測試集中每一個句子進行情感分析分類即“positive(正面)”和“negative(負(fù)面)”。UMICH SI650訓(xùn)練數(shù)據(jù)中有7 086個句子,已經(jīng)分別用“positive(正面)”和“negative(負(fù)面)”標(biāo)注,這里將其中80%數(shù)據(jù)作為訓(xùn)練集(共5 668條),20%數(shù)據(jù)作為測試集(共1 418條)。
這里選用基于Python的深度學(xué)習(xí)庫Keras,因為Keras 提供現(xiàn)成的 LSTM 層構(gòu)造。模型經(jīng)過多次調(diào)優(yōu),具體模型超參數(shù)如下。
(1)優(yōu)化器選擇
鑒于Adam優(yōu)化器能夠自動調(diào)整學(xué)習(xí)速率,收斂速度更快,因而一般在復(fù)雜網(wǎng)絡(luò)中優(yōu)化性能更好,這里選擇Adam優(yōu)化器。
(2)Epoch數(shù)量的選擇
如果epoch數(shù)量太少,網(wǎng)絡(luò)就沒有足夠的時間訓(xùn)練去尋找合適的參數(shù),從而造成欠擬合;而epoch數(shù)量太多,則有可能導(dǎo)致網(wǎng)絡(luò)過擬合。通過多次實驗后,經(jīng)過了 10 個epoch 后,在測試集上的精度已經(jīng)趨向收斂,因此,這里選擇epoch為10。
(3)batch_size選擇
在實驗中,采用逐步增大batch_size方案,最后選擇模型達到收斂,并且訓(xùn)練時間最為合適的batch_size,因此,這里選擇batch_size為20。
LSTM網(wǎng)絡(luò)模型先以上述數(shù)據(jù)集的詞為單位進行分詞,并統(tǒng)計詞頻,然后將訓(xùn)練集中的句子描述為“詞-詞向量(embedding)”矩陣,再輸入到LSTM模型中進行訓(xùn)練,最后將模型在測試數(shù)據(jù)中進行情感分類預(yù)測。具體流程如圖2所示。
圖2 LSTM網(wǎng)絡(luò)模型的情感分析流程
通過上述模型構(gòu)建與超參數(shù)調(diào)優(yōu)后,此模型在UMICH SI650數(shù)據(jù)集上情感分析分類實驗,最終預(yù)測準(zhǔn)確率為99.0%,具體如圖3所示。
圖3 LSTM網(wǎng)絡(luò)模型情感分析預(yù)測精度
為了進一步對比分析本研究LSTM模型的精度,這里再利用RNN模型在同一數(shù)據(jù)集即UMICH SI650數(shù)據(jù)集上也進行情感分析分類實驗,最終預(yù)測準(zhǔn)確率為98.8%,且模型訓(xùn)練時間比LSTM網(wǎng)絡(luò)更長,具體如圖4所示。
圖4 RNN網(wǎng)絡(luò)模型情感分析預(yù)測精度
經(jīng)上述實驗驗證分析,LSTM深度神經(jīng)網(wǎng)絡(luò)比RNN網(wǎng)絡(luò)模型情感分析分類預(yù)測準(zhǔn)確率更高,且訓(xùn)練速度更快。證明基于LSTM深度神經(jīng)網(wǎng)絡(luò)的情感分析方法能更準(zhǔn)確地完成情感分析任務(wù)。
基于LSTM深度神經(jīng)網(wǎng)絡(luò)的情感分析方法在單語言文本(如英文或中文)處理上有較好性能,但隨著互聯(lián)網(wǎng)上的信息資源逐漸呈現(xiàn)出多語言化的特點,如何利用LSTM深度神經(jīng)網(wǎng)絡(luò)相關(guān)模型解決跨語言的情感分析,這是下一步工作的研究重點。