李 輝,鄭媛媛,任鵬舉
LI Hui,ZHENG Yuan-yuan,REN Peng-ju
(河南理工大學(xué) 物理與電子信息學(xué)院,焦作 454000)
近年來(lái),隨著互聯(lián)網(wǎng)產(chǎn)業(yè)的快速發(fā)展,出現(xiàn)了眾多新興媒體,這些新媒體不斷地沖擊和改變著人們的生活方式。各種電商平臺(tái)的崛起,使得足不出戶(hù)的網(wǎng)絡(luò)購(gòu)物變得簡(jiǎn)單也流行,這種情況產(chǎn)生了大量帶有人們情感色彩的評(píng)論文本,對(duì)這些帶有感情色彩的文本進(jìn)行情感分析,是對(duì)電商平臺(tái)或者消費(fèi)者群體都有益的工作。
情感分析,也稱(chēng)意見(jiàn)挖掘[1]。作為自然語(yǔ)言處理重要的一個(gè)分支,主要任務(wù)是完成帶有感情色彩的文本的分類(lèi)工作。文本情感分析主要包括文本分類(lèi),信息提取和文本生成技術(shù)[2]。目前,有很多使用基于機(jī)器學(xué)習(xí)的情感分析技術(shù)進(jìn)行文本分析,取得了不錯(cuò)的效果[3,4]。但是,機(jī)器學(xué)習(xí)算法需要大量人工選擇的數(shù)據(jù)特征,隨著社會(huì)發(fā)展,出現(xiàn)大量新興詞匯和文本,人工設(shè)計(jì)的特征不能夠全面囊括多樣性的文本特征。因此,在有限的文本數(shù)量和計(jì)算條件的情況下,機(jī)器學(xué)習(xí)對(duì)于復(fù)雜問(wèn)題的處理以及復(fù)雜功能的實(shí)現(xiàn)上會(huì)受到一定程度的限制。
為了克服傳統(tǒng)機(jī)器學(xué)習(xí)算法的缺陷,很多工作開(kāi)始利用深度學(xué)習(xí)算法來(lái)處理NLP任務(wù),深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一部分,是使用具有多個(gè)處理層的復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)對(duì)數(shù)據(jù)所蘊(yùn)含的特征信息進(jìn)行抽象表達(dá)的算法。近年來(lái),深度學(xué)習(xí)算法在計(jì)算機(jī)視覺(jué)[5]和語(yǔ)音識(shí)別方向[6]取得了較好的成績(jī)。卷積神經(jīng)網(wǎng)絡(luò)CNN和循環(huán)神經(jīng)網(wǎng)絡(luò)RNN是現(xiàn)在文本情感分析中較多使用的網(wǎng)絡(luò)模型。CNN網(wǎng)絡(luò)在設(shè)計(jì)上的特點(diǎn)是通過(guò)融合學(xué)習(xí)的局部特征,最終實(shí)現(xiàn)全局特征的提取,此方法使得模型對(duì)局部特征較為敏感[7]。另一個(gè)被廣泛使用的神經(jīng)網(wǎng)絡(luò)RNN,通常被用來(lái)學(xué)習(xí)序列特征信息。RNN能夠通過(guò)一種鏈?zhǔn)缴窠?jīng)網(wǎng)絡(luò)來(lái)對(duì)歷史信息進(jìn)行儲(chǔ)存和傳播,即在每個(gè)時(shí)間點(diǎn),網(wǎng)絡(luò)隱藏層的輸入不僅取決于當(dāng)前時(shí)刻的輸入,還有上一時(shí)刻隱藏層的輸出。但是,隨著時(shí)間點(diǎn)的增加,標(biāo)準(zhǔn)RNN就無(wú)法學(xué)習(xí)到句子的長(zhǎng)期依賴(lài)關(guān)系,還會(huì)出現(xiàn)梯度爆炸或梯度消失的問(wèn)題。為了解決這一現(xiàn)象,LSTM網(wǎng)絡(luò)被引入,其通過(guò)刻意的“門(mén)”設(shè)計(jì)來(lái)避免長(zhǎng)期依賴(lài)問(wèn)題,取得了很好的效果[8]。Cho K等人[9]在2014年對(duì)LSTM作出重大改進(jìn),提出GRU網(wǎng)絡(luò)模型,其降低了LSTM的復(fù)雜度,減少了計(jì)算量,是非常流行的變體。
文本情感分析任務(wù)中,利用CNN和RNN的主要研究有文獻(xiàn)[10]首次將CNN應(yīng)用于短文本情感分析,證明了其在情感分類(lèi)任務(wù)中的可行性,但是其只使用了英文的數(shù)據(jù)集。文獻(xiàn)[11]使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)中文文本進(jìn)行分析,從字級(jí)別詞向量和詞級(jí)別詞向量?jī)蓚€(gè)方面進(jìn)行特征提取。文獻(xiàn)[12]使用RNN對(duì)中文的微博語(yǔ)料進(jìn)行情感分析,訓(xùn)練帶有詞語(yǔ)信息和句子信息向量特征,最終證明計(jì)算句子向量的方式可以幫助學(xué)習(xí)句子的深層結(jié)構(gòu)。文獻(xiàn)[13]使用LSTM網(wǎng)絡(luò)來(lái)捕捉文本的序列特征及上下文的依賴(lài)關(guān)系,緩解梯度爆炸或梯度消失現(xiàn)象,性能優(yōu)于標(biāo)準(zhǔn)RNN,證明了其在自然語(yǔ)言處理領(lǐng)域的適用性。文獻(xiàn)[14]在CNN網(wǎng)絡(luò)后引入LSTM,在英文數(shù)據(jù)集上使用模型,得到了不錯(cuò)的分類(lèi)效果。文獻(xiàn)[15]取消傳統(tǒng)CNN池化層,將CNN學(xué)習(xí)到的文本特征直接作為L(zhǎng)STM網(wǎng)絡(luò)的輸入,從而更大限度的學(xué)習(xí)文本序列特征。
值得注意的是,在文本中,每個(gè)詞或者句子對(duì)整個(gè)文本的情感極性有著不同的決定作用,而傳統(tǒng)的CNN和RNN是基于整個(gè)文本進(jìn)行無(wú)差別的特征提取,無(wú)法對(duì)文本重要的信息進(jìn)行識(shí)別。因此引入注意力機(jī)制(Attention Mechanism)來(lái)解決自然語(yǔ)言處理問(wèn)題。注意力機(jī)制的原理是對(duì)于重要的部分分配較多的注意力,該模型最初在計(jì)算機(jī)視覺(jué)領(lǐng)域有很好的應(yīng)用。文獻(xiàn)[16]首次將注意力機(jī)制引入NLP領(lǐng)域的機(jī)器翻譯任務(wù)中,其本質(zhì)上是一種自動(dòng)加權(quán),將想要聯(lián)系的兩個(gè)不同的模塊通過(guò)加權(quán)的形式進(jìn)行聯(lián)系。文獻(xiàn)[17]將注意力模型與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,并提出了三種不同位置的結(jié)合的方式。Venugopalan將LSTM與注意力模型結(jié)合,在語(yǔ)音處理任務(wù)上取得了不錯(cuò)的效果。文獻(xiàn)[18]提出一種分層注意網(wǎng)絡(luò)來(lái)對(duì)篇章級(jí)的文本進(jìn)行分類(lèi),其中注意力機(jī)制用于給不同的句子賦予不同的權(quán)重。注意力機(jī)制還可以在其他任務(wù)中發(fā)揮重要作用,如句子理解,選擇回答等。
為了克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)單一,提取特征不充分的缺點(diǎn),本文提出一種基于注意力機(jī)制的混合神經(jīng)網(wǎng)絡(luò)模型,主要工作如下:
1)使用GRU代替?zhèn)鹘y(tǒng)CNN的池化層,將CNN的局部特征提取能力和GRU的序列信息學(xué)習(xí)能力結(jié)合在一起,并引入注意力機(jī)制,學(xué)習(xí)文本重要特征,抑制無(wú)關(guān)信息對(duì)分類(lèi)結(jié)果的干擾。
2)在中文數(shù)據(jù)集上對(duì)所提模型進(jìn)行實(shí)驗(yàn)驗(yàn)證與評(píng)估,并與一般神經(jīng)網(wǎng)絡(luò)設(shè)置實(shí)驗(yàn)對(duì)比,證明使用GRU和引入注意力機(jī)制確實(shí)能夠提升分類(lèi)效果。
如圖1所示,本文所提的CNNGRU-Attention混合文本情感分析模型,在對(duì)文本進(jìn)行向量化表示后,使用CNN進(jìn)行卷積操作,提取文本局部特征,將其作為GRU的輸入,來(lái)學(xué)習(xí)更深層次的文本詞語(yǔ)之間的關(guān)系,然后利用Attention層來(lái)學(xué)習(xí)重要的文本信息,對(duì)文本特征進(jìn)行高度抽象化的表示之后,輸入分類(lèi)層進(jìn)行分類(lèi)。
與圖像不同,文本本身并不具有豐富的高維向量表示,其本身不能直接作為輸入數(shù)據(jù)來(lái)進(jìn)行分析,因此文本情感分析的一部分重要工作就是訓(xùn)練詞向量,將文本的信息轉(zhuǎn)換為計(jì)算機(jī)能夠識(shí)別的特征,才能夠?qū)ζ渲刑N(yùn)含的語(yǔ)義信息進(jìn)行學(xué)習(xí)。
使用神經(jīng)網(wǎng)絡(luò)訓(xùn)練詞向量的方法由Bengio[19]提出,主要思想是將詞分布式地映射在一個(gè)較低維度的空間,該方法的訓(xùn)練目的就是由已知的ωt-n+1,…,ωt-1共n-1個(gè)詞,推測(cè)第n個(gè)詞ωt?,F(xiàn)在,很多詞向量訓(xùn)練工作都使用Word2vec詞向量訓(xùn)練工具,該模型由Mikolov[20]所提出,通過(guò)固定大小的窗口來(lái)預(yù)測(cè)目標(biāo)詞,窗口越大,所提取的上下文信息越完善,但是會(huì)耗費(fèi)較多的時(shí)間。
在本文實(shí)驗(yàn)中,使用Gensim庫(kù)中的Word2vec模型實(shí)現(xiàn)詞向量訓(xùn)練,將生成的詞向量按照句子順序拼接后得到的詞向量矩陣作為模型的輸入特征。
圖1 本文模型結(jié)構(gòu)示意圖
卷積的過(guò)程就是一個(gè)一維的濾波器劃過(guò)由詞向量組成的矩陣,在不同的位置檢測(cè)特征。若xiRd為一個(gè)句子中第i個(gè)單詞所對(duì)應(yīng)的的詞向量,xRl×d代表所輸入的一整個(gè)句子,其中,l代表句子的長(zhǎng)度,則一個(gè)句子所代表的詞向量矩陣可以表示為:
式(1)中,⊕代表連接運(yùn)算符,若濾波器的窗口大小為d,寬度為k,卷積過(guò)程可以表示為:
式(2)中b∈R為偏置項(xiàng),f為非線(xiàn)性激活函數(shù),本實(shí)驗(yàn)采用ReLu作為激活函數(shù),如式(3)所示:
卷積之后,生成如下所示的特征圖:
式(4)中,分號(hào)表示向量連接卷積操作產(chǎn)生的文本特征表示ci,為了提取更多的文本特征,我們選用多個(gè)卷積核,得到多個(gè)代表不同特征信息的特征圖,在深度上進(jìn)行排列。
對(duì)于傳統(tǒng)的基于卷積神經(jīng)網(wǎng)絡(luò)的文本情感分析,在生成特征圖后,都會(huì)進(jìn)行最大池化或者平均池化,來(lái)選擇一個(gè)或多個(gè)能夠表示文本的重要特征信息,但是池化操作會(huì)損失很多文本的重要信息,所以,在本文所提的混合模型中,將不再進(jìn)行池化操作,而是使用GRU單元對(duì)卷積操作后的特征進(jìn)行序列特征學(xué)習(xí),
圖2 GRU內(nèi)部結(jié)構(gòu)示意圖
GRU模型是LSTM的發(fā)展歷程中,比較成功的變種,其結(jié)構(gòu)示意圖如圖2所示。通過(guò)設(shè)計(jì)“門(mén)”的結(jié)構(gòu)來(lái)讓信息選擇性通過(guò),使用遞歸操作單元來(lái)進(jìn)行輸入矩陣的處理,其結(jié)果取決于上一時(shí)刻的細(xì)胞狀態(tài)ht-1和當(dāng)前時(shí)刻的輸入xt,其中t代表當(dāng)前時(shí)刻,t-1代表前一時(shí)刻。GRU的具體工作原理可以表達(dá)為如下公式:
其中,σ是激活函數(shù),輸出在[0,1]之間,作用是控制信息通過(guò)的多少;tanh是雙曲正切函數(shù),輸出在[-1,1]之間;重置門(mén)r和更新門(mén)z用來(lái)控制記憶單元的儲(chǔ)存內(nèi)容。重置門(mén)用來(lái)控制多大程度上擦除記憶單元上一時(shí)刻的內(nèi)容,更新門(mén)決定多大程度的保存前一時(shí)刻儲(chǔ)存單元的內(nèi)容。
相對(duì)于LSTM,GRU模型更為簡(jiǎn)單,參數(shù)更少,在訓(xùn)練速度上也會(huì)有所提升,因此,本文選用GRU作為序列信息學(xué)習(xí)的工具。
在文本中,每一個(gè)詞語(yǔ)句子對(duì)于文本類(lèi)別的貢獻(xiàn)度是不一樣的,為了識(shí)別重要的特征,增加Attention層來(lái)提取更深層次的文本特征。該層首先將GRU網(wǎng)絡(luò)中的隱藏uw層狀態(tài)hi非線(xiàn)性變換為ui,然后初始化注意力矩陣,與ui進(jìn)行點(diǎn)乘運(yùn)算,將初始化的注意力矩陣與之前網(wǎng)絡(luò)學(xué)習(xí)到的特征聯(lián)系起來(lái),使用softmax函數(shù)對(duì)其進(jìn)行歸一化操作,得到一個(gè)概率分布,即GRU隱層的輸出權(quán)重系數(shù),最終得到注意力矩陣,可以描述為以下公式:
向量x是經(jīng)過(guò)注意力層后所提取到的文本特征向量,將其作為預(yù)測(cè)層的輸入,使用softmax函數(shù)來(lái)計(jì)算每個(gè)文本分屬不同類(lèi)別的概率大小。
從上式中可以看出,當(dāng)損失值越接近于0,模型預(yù)測(cè)值與真實(shí)值y越接近,模型訓(xùn)練過(guò)程中使用Adam優(yōu)化算法來(lái)使模型損失最低。
本文采用從互聯(lián)網(wǎng)采集的真實(shí)評(píng)論對(duì)所提混合模型進(jìn)行性能測(cè)試,數(shù)據(jù)集詳細(xì)信息如表1所示:
表1 數(shù)據(jù)集詳細(xì)信息
由于網(wǎng)上數(shù)據(jù)集較亂,需要對(duì)文本進(jìn)行一些預(yù)處理工作,包括分詞和去除停用詞,使用結(jié)巴分詞完成中文的分詞處理,根據(jù)網(wǎng)上搜集到的停用此表去除停用詞。數(shù)據(jù)集文本類(lèi)型分為積極(標(biāo)簽為1)和消極(標(biāo)簽為0)兩類(lèi),選用80%的數(shù)據(jù)集作為訓(xùn)練集,20%的數(shù)據(jù)集作為驗(yàn)證集。本文實(shí)驗(yàn)環(huán)境為python3.5,使用Keras深度學(xué)習(xí)開(kāi)源框架。
不同參數(shù)的組合會(huì)對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生不同的影響,在本文中實(shí)驗(yàn)中,超參數(shù)設(shè)置如表2所示。
表2 模型參數(shù)設(shè)置
本文總共設(shè)置四組對(duì)比試驗(yàn),來(lái)對(duì)比使用GRU和注意力模型對(duì)分類(lèi)結(jié)果的影響。
模型一:CNN,基于卷積神經(jīng)網(wǎng)絡(luò)的文本情感分析模型,使用Word2vec訓(xùn)練的詞向量作為網(wǎng)絡(luò)輸入。
模型二:GRU,基于GRU的文本情感分析模型,使用Word2vec訓(xùn)練的詞向量作為網(wǎng)絡(luò)輸入。
模型三:CNN-GRU,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和GRU單元的網(wǎng)絡(luò)模型,其中GRU模型替代了卷積神經(jīng)網(wǎng)絡(luò)的池化層,用來(lái)進(jìn)一步學(xué)習(xí)文本的序列特征信息,使用Word2vec訓(xùn)練的詞向量作為網(wǎng)絡(luò)輸入。
模型四:CNNGRU-Attention,本文所設(shè)計(jì)的基于注意力機(jī)制的混合神經(jīng)網(wǎng)絡(luò)模型,實(shí)質(zhì)上是在模型三的GRU層后使用注意力層,以捕捉文本的重要特征信息。
在本文實(shí)驗(yàn)中,選取準(zhǔn)確率(Accuracy)和F-SCORE作為模型評(píng)價(jià)指標(biāo),其公式如下:
F-SCORE由精準(zhǔn)率和召回率得到,假設(shè)精準(zhǔn)率為P,召回率為R,則:
其中,TP表示分類(lèi)為積極且分類(lèi)正確的樣本數(shù)目,F(xiàn)P表示錯(cuò)誤的分類(lèi)為積極的消極數(shù)據(jù)樣本,F(xiàn)N表示被錯(cuò)誤的分類(lèi)為消極的積極數(shù)據(jù)樣本。
實(shí)驗(yàn)結(jié)果如表3所示,從表3結(jié)果可見(jiàn),本文所提的CNNGRU-Attention混合模型在準(zhǔn)確率和F-SCORE上較其他網(wǎng)絡(luò)模型都有顯著提升。證明該模型在文本情感分析任務(wù)上的可行性和優(yōu)越性。
對(duì)比混合模型CNNGRU相對(duì)于單一模型CNN或GRU在正確率上有顯著的提升,這是因?yàn)槟P褪褂昧四軌驅(qū)W習(xí)序列信息的GRU層來(lái)取代傳統(tǒng)的池化層,將CNN和GRU網(wǎng)絡(luò)的優(yōu)勢(shì)結(jié)合在一起,既學(xué)習(xí)了文本的局部特征,也學(xué)習(xí)了詞語(yǔ)句子之間的序列信息,更加充分的提取了文本特征,從而提升了分類(lèi)性能。
對(duì)比CNNGRU和CNNGRU-Attention模型,可以看出引入注意力機(jī)制后,模型性能得到了顯著提升,這是因?yàn)锳ttention層對(duì)于重要的部分分配較多的注意力,通過(guò)計(jì)算概率分布值,分析文本信息的重要性分布,提升重要部分對(duì)文本情感分類(lèi)的影響力,減小無(wú)關(guān)信息的干擾,從而提升文本情感分類(lèi)的效果。
表3 不同模型分類(lèi)結(jié)果
另外,取京東商品評(píng)論2 0輪迭代的準(zhǔn)確率和F-SCORE數(shù)值,繪制折線(xiàn)圖,如圖3和圖4所示,可以詳細(xì)的看到各個(gè)模型在20輪迭代中準(zhǔn)確率的變化,可以看出,CNNGRU-Attention模型性能優(yōu)于其他傳統(tǒng)神經(jīng)網(wǎng)絡(luò)且穩(wěn)定性較好,基本上在第11輪性能達(dá)到最好,表示模型已經(jīng)收斂,可以停止訓(xùn)練。
圖3 不同模型準(zhǔn)確率變化圖
圖4 不同模型F-SCORE變化圖
本文主要介紹了深度學(xué)習(xí)算法在中文文本情感分析中的應(yīng)用,使用CNN結(jié)合GRU網(wǎng)絡(luò),并引入注意力機(jī)制構(gòu)建混合神經(jīng)網(wǎng)絡(luò)模型來(lái)學(xué)習(xí)重要的文本信息,該模型實(shí)質(zhì)上就是使用GRU對(duì)序列信息的學(xué)習(xí)能力來(lái)取代傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的池化層,將CNN和GRU的模型優(yōu)勢(shì)結(jié)合在一起,保留重要的文本特征信息,然后使用注意力層識(shí)別重要的特征,抑制不重要信息對(duì)分類(lèi)結(jié)果的干擾,從而提升模型的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果證明本文所提模型在中文文本情感分析任務(wù)上的可行性和優(yōu)越性。由于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性及其眾多的參數(shù),文本情感分析還有很多問(wèn)題需要進(jìn)行進(jìn)一步的研究。下一步的工作將深入研究網(wǎng)絡(luò)結(jié)構(gòu),優(yōu)化模型,使其更好的適用于文本情感分析。