王麗亞,劉昌輝,蔡敦波,趙彤洲,王 夢(mèng)
武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢 430205
情感分析[1]是自然語(yǔ)言處理領(lǐng)域的一個(gè)重要研究方向,文本情感分析的主要目的是從原始文本中提取出說(shuō)話人的主觀情緒,包括其針對(duì)某個(gè)對(duì)象的立場(chǎng)是褒揚(yáng)還是貶損,其對(duì)某事件的態(tài)度是積極還是消極等等。
情感分析方法主要是基于有監(jiān)督學(xué)習(xí)、基于語(yǔ)言學(xué)和基于深度學(xué)習(xí)的三類(lèi)方法[2]。隨著深度學(xué)習(xí)在圖像處理和語(yǔ)音識(shí)別領(lǐng)域的成功應(yīng)用,便逐漸將其應(yīng)用到自然語(yǔ)言處理領(lǐng)域,其中情感分析就是一個(gè)很重要的研宄方向。Bengio 等[3]最早使用神經(jīng)網(wǎng)絡(luò)構(gòu)建語(yǔ)言模型。Mikolov 等[4-5]于2013 年提出了word2vec 技術(shù),推動(dòng)了詞向量的快速發(fā)展。Kim 等[6]對(duì)比了不同詞向量構(gòu)造方法,利用提前訓(xùn)練的詞向量作為輸入,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)實(shí)現(xiàn)句子級(jí)的文本分類(lèi)。Lee 等[7]利用基于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)和CNN 訓(xùn)練文本的向量,通過(guò)普通人工神經(jīng)網(wǎng)絡(luò)(ANN)實(shí)現(xiàn)文本分類(lèi),證明了添加文本序列信息可以提高分類(lèi)的準(zhǔn)確率。普通RNN 可以有效地利用近距離的語(yǔ)義信息[8-9],RNN 有多種變種循環(huán)神經(jīng)網(wǎng)絡(luò)模型,長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(long short-term memory,LSTM)[10-11],可以捕捉較遠(yuǎn)距離的兩個(gè)文本元素之間的相互關(guān)系,獲取更多文本序列信息。雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(bidirectional long short-term memory,BiLSTM)[12],由兩個(gè)LSTM 組合而成,一個(gè)前向傳播、一個(gè)后向傳播,可以有效地利用文本的上下文語(yǔ)義信息。Bahdanau 等[13]最早提出了注意力機(jī)制理論,并將其應(yīng)用到了機(jī)器翻譯領(lǐng)域。Mnih 等[14]在RNN 模型上使用了注意力機(jī)制來(lái)進(jìn)行圖像分類(lèi),使得注意力機(jī)制真正意義上流行了起來(lái)。類(lèi)似圖片,文本中重點(diǎn)信息也會(huì)出現(xiàn)分布不均的情況,可以利用注意力機(jī)制(Attention)通過(guò)對(duì)文本向量的語(yǔ)義編碼分配不同的注意力權(quán)重,以區(qū)分文本中信息的重要性大小,提高分類(lèi)的準(zhǔn)確率。
胡榮磊等[15]提出了LSTM 添加注意力機(jī)制的方法,證明了添加注意力機(jī)制較傳統(tǒng)的機(jī)器學(xué)習(xí)方法和單純的長(zhǎng)短期記憶網(wǎng)絡(luò)的方法有明顯的優(yōu)勢(shì)。Zhou 等[16]提出C-LSTM 模型,將CNN 與LSTM以鏈接的方式構(gòu)建網(wǎng)絡(luò)模型,增強(qiáng)了模型特征學(xué)習(xí)能力從而改進(jìn)了模型分類(lèi)效果。
但是單LSTM 只能學(xué)習(xí)前向特征,忽略了后向特征的學(xué)習(xí),不能很好的利用上下文語(yǔ)義特征,從而限制了文本分類(lèi)性能。本文采用CNN 基礎(chǔ)上添加BiLSTM,并證明了BiLSTM 的添加對(duì)模型的分類(lèi)效果起到正影響,而且彌補(bǔ)LSTM 的不足,再在此網(wǎng)絡(luò)基礎(chǔ)上添加注意力機(jī)制,在豐富特征信息的同時(shí)減少了噪聲干擾。通過(guò)實(shí)驗(yàn)證明了此網(wǎng)絡(luò)模型對(duì)提高文本分類(lèi)準(zhǔn)確率的有效性和高效性。
由于本文模型中CNN 和BiLSTM 是鏈?zhǔn)芥溄雨P(guān)系,存在鏈接次序影響的問(wèn)題,所以實(shí)驗(yàn)部分給出了CNN-BiLSTM 網(wǎng)絡(luò)聯(lián)合次序的有效性分析。
通過(guò)學(xué)習(xí)已有的神經(jīng)網(wǎng)絡(luò)模型,為了提高文本情感分析的準(zhǔn)確率,本文提出了CNN-BiLSTM 網(wǎng)絡(luò)引入注意力模型的文本情感分析方法。模型網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
其主要包括兩個(gè)部分:一是CNN-BiLSTM 網(wǎng)絡(luò)構(gòu)建,本文后面將進(jìn)行CNN 網(wǎng)絡(luò)與BiLSTM 網(wǎng)絡(luò)連接方式的有效性分析。二是引入注意力模型。實(shí)驗(yàn)主要流程為:首先獲取大規(guī)模語(yǔ)料訓(xùn)練而成的詞向量矩陣,生成詞索引,通過(guò)嵌入層,將其輸出作為CNN-BiLSTM 網(wǎng)絡(luò)的輸入,然后引入注意力模型,再添加全連接層,最后通過(guò)softmax 分類(lèi)器進(jìn)行情感分類(lèi),其中采用dropout技術(shù)防止過(guò)擬合。
圖1 模型的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Network structure diagram of model
利用 提取局部特征。CNN 是一種前饋神經(jīng)網(wǎng)絡(luò),其模型結(jié)構(gòu)主要包括輸入層、卷積層、池化層、全連接層和輸出層幾部分。
將嵌入層的輸出作為輸入,句子中每個(gè)詞的詞向量為xi,xi∈Rn×d,其中n 是詞數(shù),d 是向量維度,本文定為200 維。
卷積操作,主要完成特征提取的工作,通過(guò)設(shè)置好的濾波器來(lái)完成對(duì)輸入文本句子特征的提取:
其中,ω 是卷積核,g 是卷積核的尺寸,xi:i+g-1是i 到i+g-1 個(gè)詞組成的句子向量,b 是偏置項(xiàng),通過(guò)卷積層后,得到特征矩陣 J ,。
池化層,通過(guò)對(duì)卷積層之后得到的句子局部特征矩陣C 進(jìn)行下采樣,求得局部值的最優(yōu)解。這里采用MaxPooling 技術(shù),如式(3)所示:
由于BiLSTM 輸入必須是序列化結(jié)構(gòu),池化將中斷序列結(jié)構(gòu)J,所以需要添加全連接層,將池化層后的Mi向量連接成向量Q:
將新的連續(xù)高階窗口Q 作為BiLSTM 的輸入。
LSTM 是RNN 的一個(gè)變種,它存在一個(gè)貫穿始終的記憶狀態(tài)單元(Memory Units),該記憶單元遺忘、記憶、輸出,由通過(guò)上個(gè)時(shí)刻的隱藏狀態(tài)ht-1和當(dāng)前輸入xt計(jì)算出來(lái)的遺忘門(mén)ft、記憶門(mén)it、輸出門(mén)ot來(lái)控制,保留重要的信息,遺忘不重要的信息,消除了循環(huán)神經(jīng)網(wǎng)絡(luò)存在的梯度爆炸(Gradient Explosion)或梯度消失問(wèn)題。其原理圖如圖2所示。
計(jì)算遺忘門(mén)ft,根據(jù)ht-1和xt計(jì)算,如式(5)所示:
根據(jù)ht-1和xt計(jì)算,計(jì)算記憶門(mén)it:
圖2 長(zhǎng)短時(shí)記憶單元模型的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Network structure of LSTM model
根據(jù)ht-1和xt計(jì)算,計(jì)算臨時(shí)記憶狀態(tài)C~t:
計(jì)算當(dāng)前記憶狀態(tài)Ct,根據(jù)ft、it、C~t和上一時(shí)刻記憶Ct-1計(jì)算:
計(jì)算輸出門(mén)ot,根據(jù)ht-1和xt計(jì)算,如式(9)所示:
計(jì)算當(dāng)前時(shí)刻隱藏狀態(tài)ht,根據(jù)ot和Ct計(jì)算,如式(10)所示:
其 中Wf,Uf,Wi,Ui,Wc,Uc,Wo,Uo均 為 權(quán) 值矩陣;bf,bi,bc,bo均為偏置向量;tanh:激活函數(shù);logistic:激活函數(shù)。
BiLSTM 由正向LSTM 與反向LSTM 結(jié)合而成,若記t 時(shí)刻正向LSTM 輸出的隱藏狀態(tài)為,反向LSTM 輸出的隱藏狀態(tài)為,則BiLSTM 輸出的隱藏狀態(tài):
注意力模型是用來(lái)表示文本句子中的詞與輸出結(jié)果之間的相關(guān)性,該模型最先被應(yīng)用于機(jī)器翻譯的任務(wù)中。注意力模型通過(guò)對(duì)文本向量的語(yǔ)義編碼分配不同的注意力權(quán)重,以區(qū)分文本中信息的重要性大小,提高分類(lèi)的準(zhǔn)確率。本文使用前饋?zhàn)⒁饬δP汀?/p>
生成目標(biāo)注意力權(quán)重vt,ht是CNN-BiLSTM網(wǎng)絡(luò)輸出的隱藏狀態(tài):
注意力權(quán)重概率化,通過(guò)softmax 函數(shù)生成概率向量pt,如式(13)所示:
注意力權(quán)重配置,將生成的注意力權(quán)重配置給對(duì)應(yīng)的隱層狀態(tài)語(yǔ)義編碼ht,使模型生成的注意力權(quán)重發(fā)揮作用,at是ht的加權(quán)平均值,權(quán)值是pt,如式(14)所示:
實(shí)驗(yàn)針對(duì)帶有情感標(biāo)簽的電影評(píng)論和推特評(píng)論對(duì)提出的情感分析方法進(jìn)行有效性驗(yàn)證。其中,實(shí)驗(yàn)所用的嵌入矩陣是glove 已訓(xùn)練好的詞向量glove.6B.200d。
數(shù)據(jù)集來(lái)自IMDB 電影評(píng)論和Twitter 用戶(hù)評(píng)論,IMDB 電影評(píng)論情感類(lèi)別是類(lèi)似豆瓣網(wǎng)站的星級(jí)評(píng)分制度,最差1 分至最好10 分,本文將其分為2 類(lèi),即1~5 分歸為消極情感0,6~10 歸為積極情感1。Twitter 用戶(hù)評(píng)論情感標(biāo)簽直接為2 類(lèi),消極為0,積極為1。實(shí)驗(yàn)所用數(shù)據(jù)集的設(shè)置如表1 所示。
表1 實(shí)驗(yàn)數(shù)據(jù)設(shè)置Tab.1 Experimental settings 條
實(shí)驗(yàn)所用的嵌入矩陣是glove 已訓(xùn)練好的詞向量glove.6B.200d,詞向量維度設(shè)置為200,嵌入索引中找不到的單詞將全部為零。卷積神經(jīng)網(wǎng)絡(luò)的濾波器窗口大小均分別為3,4,5,激活函數(shù)選擇relu 函數(shù)。雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的隱藏狀態(tài)向量維度設(shè)置均為200,Dense 層,為2 分類(lèi),激活函數(shù)為softmax,Dropout 參數(shù)設(shè)置分別為0.3,0.2,0.25。模型的優(yōu)化器optimizer=‘a(chǎn)dam’,采用fit 函數(shù)進(jìn)行訓(xùn)練,其中訓(xùn)練批次長(zhǎng)度batch-size=32。
本文提出的方法是在CNN-BiLSTM 聯(lián)合網(wǎng)絡(luò)上引入注意力模型,所以在構(gòu)建聯(lián)合網(wǎng)絡(luò)時(shí)會(huì)有CNN、BiLSTM 網(wǎng)絡(luò)聯(lián)合次序的影響,這里針對(duì)實(shí)驗(yàn)數(shù)據(jù)集,設(shè)置對(duì)比實(shí)驗(yàn),進(jìn)行CNN-BiLSTM 聯(lián)合次序的有效性分析。
聯(lián)合次序?qū)Ρ葘?shí)驗(yàn)結(jié)果如表2 所示。對(duì)表2中實(shí)驗(yàn)結(jié)果進(jìn)行分析:在Twitter 數(shù)據(jù)集上,CNN-BiLSTM 的連接方式比BiLSTM-CNN 的連接方式,Acc 指標(biāo)高約1.01%,RMSE 指標(biāo)優(yōu)化了約0.32%。在IMDB 數(shù)據(jù)集上,前者比后者Acc 指標(biāo)高約0.18%,RMSE 指標(biāo)優(yōu)化了約1.20%。說(shuō)明了CNN-BiLSTM 的連接方式比BiLSTM-CNN 的連接方式,在引入注意力模型后,分類(lèi)效果上有所提高。
表2 聯(lián)合次序?qū)Ρ葘?shí)驗(yàn)結(jié)果Tab.2 comparison experimental results in different model-combining order
從驗(yàn)證集的準(zhǔn)確率(val_acc)上來(lái)看,Twitter的val_acc 變化如圖3 所示,本文模型val_acc 值均在BiLSTM-CNN-Attention 模型之上。IMDB 的val_acc 變化如圖4 所示,本文模型val_acc 本文模型多數(shù)高于對(duì)比模型,且波動(dòng)性平穩(wěn),說(shuō)明了CNN-BiLSTM 的連接方式在模型分類(lèi)效果上更具有優(yōu)勢(shì),更加穩(wěn)定。
圖3 Twitter訓(xùn)練時(shí)val_acc 的變化圖Fig.3 val_acc plots in Twitter training
圖4 IMDB 訓(xùn)練時(shí)val_acc 的變化圖Fig.4 val_acc plots in IMDB training
整體上,針對(duì)2 組數(shù)據(jù)集,訓(xùn)練中迭代次數(shù)均設(shè)置為10 次,且模型訓(xùn)練結(jié)果均取得較好的分類(lèi)效果,說(shuō)明了本文模型在短時(shí)間內(nèi)有很好的收斂性,即能高效地提高文本分類(lèi)準(zhǔn)確率。
再?gòu)臅r(shí)間代價(jià)上來(lái)看,2 組模型的時(shí)間代價(jià)如圖5~圖6 所示,橫坐標(biāo)是模型訓(xùn)練的迭代次數(shù),縱坐標(biāo)是模型訓(xùn)練時(shí)每次迭代所用時(shí)間,時(shí)間單位均為s。針對(duì)Twitter 數(shù)據(jù),BiLSTM-CNN-Attention模型的訓(xùn)練速度都在360 s 以上波動(dòng),本文模型的訓(xùn)練速度均在20 s 左右波動(dòng),總體對(duì)比實(shí)驗(yàn)?zāi)P鸵缺疚哪P图s慢1 倍。即在時(shí)間代價(jià)上,CNN-BiLSTM 的連接方式耗時(shí)少,有利于加快模型的訓(xùn)練速度。
圖5 Twitter的時(shí)間代價(jià)圖Fig.5 Epoch-time plots of Twitter
圖6 IMDB 的時(shí)間代價(jià)圖Fig.6 Epoch-time plots of IMDB
在IMDB 數(shù)據(jù)上,BiLSTM-CNN-Attention 模型的訓(xùn)練速度均超過(guò)1 800 s,而本文模型的訓(xùn)練速度均在800 s 附近波動(dòng),總體本文模型要比對(duì)比實(shí)驗(yàn)?zāi)P涂? 倍多。說(shuō)明了CNN-BiLSTM 的連接方式在訓(xùn)練速度上保持了高效性。
由于Twitter 數(shù)據(jù)集的最大文本長(zhǎng)度為40,且文本長(zhǎng)度多數(shù)分布在4 到26 之間,而IMDB 數(shù)據(jù)集的文本長(zhǎng)度集中于長(zhǎng)度為400 以?xún)?nèi),約是Twitter數(shù)據(jù)集單句評(píng)論文本的10 倍。可見(jiàn),在短文本中相對(duì)較長(zhǎng)的文本數(shù)據(jù)集上,CNN-BiLSTM-Attention 模型比BiLSTM-CNN-Attention 模型的總體訓(xùn)練速度更有明顯的優(yōu)勢(shì)。
綜上所述,針對(duì)本文實(shí)驗(yàn)所用數(shù)據(jù)集,CNN-BiLSTM 的連接方式在文本分類(lèi)上更具有高效性和有效性,所以本文選擇在CNN-BiLSTM 的連接方式上引入注意力模型。
實(shí)驗(yàn)針對(duì)數(shù)據(jù)集IMDB、Twitter 進(jìn)行情感分析,并設(shè)置了以下多組對(duì)比試驗(yàn),包括SVM 與深度學(xué)習(xí)方法的比較,單一網(wǎng)絡(luò)與CNN-BiLSTM 聯(lián)合網(wǎng)絡(luò)的比較,及與引入注意力模型的網(wǎng)絡(luò)對(duì)比。網(wǎng)絡(luò)輸入均是利用word2vec 訓(xùn)練的詞向量。
SVM[17]:采用傳統(tǒng)機(jī)器學(xué)習(xí)算法SVM 進(jìn)行情感分析;
BiLSTM[18]:?jiǎn)我坏腂iLSTM 網(wǎng)絡(luò)
CNN[19]:?jiǎn)我坏腃NN 網(wǎng)絡(luò)。
CNN-BiLSTM:先添加一個(gè)CNN 網(wǎng)絡(luò),再添加一個(gè)BiLSTM 網(wǎng)絡(luò)。
CNN-BiLSTM-Attention:先 添 加 一 個(gè)CNN 網(wǎng)絡(luò),再添加一個(gè)BiLSTM 網(wǎng)絡(luò),最后引入Attention機(jī)制。
表3 對(duì)比實(shí)驗(yàn)結(jié)果Tab.3 Comparison experimental results
多組對(duì)比實(shí)驗(yàn)結(jié)果如表3 所示,從模型評(píng)價(jià)的結(jié)果上來(lái)看,深度學(xué)習(xí)模型結(jié)果明顯優(yōu)于傳統(tǒng)SVM 方法。在Twitter 數(shù)據(jù)集上,CNN-BiLSTM 的聯(lián)合網(wǎng)絡(luò)比單BiLSTM 網(wǎng)絡(luò),Acc 指標(biāo)高約2.03%,RMSE 指標(biāo)優(yōu)化了約0.58%。CNN-BiLSTM 的聯(lián)合網(wǎng)絡(luò)比單CNN 網(wǎng)絡(luò),Acc 指標(biāo)高約1.19%,在RMSE上優(yōu)化了約2.76%。在IMDB 數(shù)據(jù)集上,聯(lián)合網(wǎng)絡(luò)比單BiLSTM 網(wǎng)絡(luò),Acc 指標(biāo)高約3.64%,RMSE 指標(biāo)優(yōu)化了約8.55%。聯(lián)合網(wǎng)絡(luò)比單CNN 網(wǎng)絡(luò),Acc指標(biāo)高約1.99%,在RMSE 上優(yōu)化了約2.28%。綜上,CNN-BiLSTM 的聯(lián)合網(wǎng)絡(luò)比單模型的效果要好,這是由于CNN 在提取局部特征上更有優(yōu)勢(shì),利用CNN 可以很好的提取文本中局部重要信息,而B(niǎo)iLSTM 網(wǎng)絡(luò)不但能捕捉上文長(zhǎng)時(shí)間隔的特征,也能很好的利用下文特征,從而利用文本的語(yǔ)序和語(yǔ)法信息,而文本語(yǔ)序不同,表達(dá)的含義就會(huì)相差甚遠(yuǎn),從而影響文本情感分析的準(zhǔn)確度,CNN-BiLSTM 的聯(lián)合網(wǎng)絡(luò)綜合了二者的優(yōu)點(diǎn)。
在Twitter 數(shù)據(jù)集上,CNN-BiLSTM 網(wǎng)絡(luò)引入注意力模型比CNN-BiLSTM 的聯(lián)合網(wǎng)絡(luò),Acc 指標(biāo)高約3.63%,RMSE 指標(biāo)優(yōu)化了約1.19%。在IMDB 數(shù)據(jù)集上,前者比后者,Acc 指標(biāo)高約2.41%,RMSE指標(biāo)優(yōu)化了約3.15%。這是由于注意力模型通過(guò)對(duì)輸入的向量編碼,分配不同的注意力權(quán)重,區(qū)分重要性大小,以獲取重要的局部特征。即在提取文本特征時(shí),加強(qiáng)了有關(guān)情感的語(yǔ)義特征權(quán)重,同時(shí)弱化了情感不相關(guān)的語(yǔ)義特征權(quán)重。結(jié)果表明,基于CNN-BiLSTM 的聯(lián)合網(wǎng)絡(luò),添加注意力模型,可以提高分類(lèi)的準(zhǔn)確率。
本文提出了一種CNN-BiLSTM 網(wǎng)絡(luò)引入注意力模型的文本情感分析方法。通過(guò)利用BiLSTM學(xué)習(xí)CNN 池化后連接而成的特征,解決了單CNN缺乏利用文本上下文信息的問(wèn)題,同時(shí)避免了簡(jiǎn)單RNN 帶來(lái)的梯度爆炸或梯度消失,最后引入注意力模型篩選特征,降低了噪聲干擾,從而提高文本情感分類(lèi)的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果證明了CNN-BiLSTM 網(wǎng)絡(luò)引入注意力模型的方法的有效性和CNN-BiLSTM 網(wǎng)絡(luò)聯(lián)合次序的高效性。但聯(lián)合網(wǎng)絡(luò)中CNN 網(wǎng)絡(luò)的深度不夠,今后研究如何利用深度更深的CNN 網(wǎng)絡(luò)來(lái)提高分類(lèi)準(zhǔn)確率,是下一步工作的目標(biāo)。