曲昭偉,王 源,王曉茹
(1.北京郵電大學(xué) 網(wǎng)絡(luò)技術(shù)研究院,北京 100876; 2. 北京郵電大學(xué) 計(jì)算機(jī)學(xué)院,北京 100876)(*通信作者電子郵箱wyuan@bupt.edu.cn)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和社交網(wǎng)絡(luò)的普及,越來(lái)越多的用戶(hù)選擇在社交網(wǎng)站上發(fā)表自己的觀(guān)點(diǎn),產(chǎn)生了大量的評(píng)論信息,這些評(píng)論信息表達(dá)了用戶(hù)的情感色彩和情感傾向性,因此,通過(guò)對(duì)評(píng)論文本進(jìn)行情感分析可以判斷評(píng)論文本中的情感取向,應(yīng)用于市場(chǎng)分析以及相關(guān)產(chǎn)品推薦上。
文本情感分析又稱(chēng)為觀(guān)點(diǎn)挖掘,利用自然語(yǔ)言處理、文本分析等方法對(duì)帶有情感色彩的文本進(jìn)行分析、處理、推理和歸納[1]。
情感分析方法主要有基于情感詞典匹配的方法以及基于機(jī)器學(xué)習(xí)的方法。隨著深度學(xué)習(xí)逐漸成為自然語(yǔ)言處理領(lǐng)域研究熱點(diǎn),利用深度學(xué)習(xí)的方法解決情感分析問(wèn)題的技術(shù)飛速發(fā)展[2]。在自然語(yǔ)言處理領(lǐng)域,例如循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)等深度神經(jīng)網(wǎng)絡(luò)在處理情感分析問(wèn)題時(shí)具有明顯優(yōu)勢(shì)。長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)可以捕捉到評(píng)論語(yǔ)句中的長(zhǎng)期依賴(lài)關(guān)系,從整體上理解文本的情感語(yǔ)義,與卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)相比,RNN更適合處理序列信息。Li等[3]研究了樹(shù)結(jié)構(gòu)的LSTM網(wǎng)絡(luò);Cho等[4]提出了門(mén)循環(huán)單元(Gated Recurrent Unit, GRU),與LSTM網(wǎng)絡(luò)相比,具有更少的參數(shù);Ravanelli等[5]將一種加權(quán)循環(huán)單元應(yīng)用于語(yǔ)音識(shí)別領(lǐng)域,實(shí)驗(yàn)結(jié)果證明該結(jié)構(gòu)具有較好的語(yǔ)音識(shí)別效果。
近年來(lái),遷移學(xué)習(xí)逐漸成為數(shù)據(jù)挖掘領(lǐng)域的研究重點(diǎn),即將從源領(lǐng)域?qū)W習(xí)到的模型或思想應(yīng)用于目標(biāo)領(lǐng)域。在計(jì)算機(jī)視覺(jué)領(lǐng)域,在大規(guī)模圖像分類(lèi)數(shù)據(jù)集(ImageNet)上訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)[6]可以用作其他模型中的組成部分,并在一系列任務(wù)上得到出色的結(jié)果。Zhuang等[7]提出一種基于雙編碼層自編碼器的監(jiān)督表示的遷移學(xué)習(xí)方法;Tan等[8]探究了以一種稱(chēng)為遠(yuǎn)程域遷移學(xué)習(xí)的新型遷移學(xué)習(xí)問(wèn)題,在目標(biāo)域與源域完全不同的情況下實(shí)現(xiàn)遷移學(xué)習(xí);Long等[9]提出了深度適配網(wǎng)絡(luò)的深度遷移學(xué)習(xí)方法;吳斌等[10]針對(duì)古代詩(shī)歌等短文本的情感分析問(wèn)題提出一種基于特征擴(kuò)展的遷移學(xué)習(xí)模型。
在文本情感分析問(wèn)題中,利用Word2Vec[11]和GloVe[12]等模型進(jìn)行無(wú)監(jiān)督訓(xùn)練得到的詞向量遷移到自然語(yǔ)言處理任務(wù)中能夠提高模型的性能,但是這類(lèi)無(wú)監(jiān)督訓(xùn)練得到的詞向量無(wú)法準(zhǔn)確代表上下文關(guān)系[13],該問(wèn)題也限制了分類(lèi)模型的準(zhǔn)確率。針對(duì)以上問(wèn)題,本文提出一種基于遷移學(xué)習(xí)的分層注意力神經(jīng)網(wǎng)絡(luò)(Transfer Learning based Hierarchical Attention Neural Network, TLHANN)的情感分析方法,利用機(jī)器翻譯模型編碼器生成的詞的分布式表示與GloVe模型訓(xùn)練的詞向量相結(jié)合作為情感分析算法的輸入,準(zhǔn)確表示文本語(yǔ)境關(guān)系,并采用最小門(mén)單元(Minimal Gate Unit, MGU)[14]簡(jiǎn)化算法結(jié)構(gòu),經(jīng)過(guò)大量實(shí)驗(yàn)證明了本文算法的分類(lèi)準(zhǔn)確率比傳統(tǒng)算法有較大提升。
由于機(jī)器翻譯任務(wù)的數(shù)據(jù)集遠(yuǎn)大于其他自然語(yǔ)言處理任務(wù),本文提出的情感分析算法的第一部分是利用英語(yǔ)-德語(yǔ)翻譯任務(wù)訓(xùn)練一個(gè)LSTM編碼器。這一步驟的目的是為了得到可以應(yīng)用于文本情感分析的輔助的隱藏向量,從而提高情感分析算法的性能。這些輸出的隱藏向量與GloVe訓(xùn)練的詞向量相結(jié)合,作為情感分析部分的輸入。

(1)
(2)
(3)

(4)
根據(jù)全局注意力模型[14],可變長(zhǎng)度的對(duì)齊向量χt可以表示為:
(5)
(6)
其中ct定義為源隱藏狀態(tài)的加權(quán)平均。最后輸出單詞的分布表示為:
(7)
經(jīng)過(guò)上述機(jī)器翻譯任務(wù)的訓(xùn)練之后,本文得到了一個(gè)雙向LSTM編碼器,利用這個(gè)編碼器得到新句子的隱藏向量,將它與傳統(tǒng)的GloVe向量相結(jié)合,如圖1所示。
對(duì)于輸入序列w,后續(xù)情感分析模型的輸入x如式(8)所示:
(8)

圖1 將利用機(jī)器翻譯任務(wù)訓(xùn)練的編碼器遷移到情感分類(lèi)任務(wù)中
基于Yang等[16]提出的模型,本文采用的情感分析算法具有分層結(jié)構(gòu),分為單詞層和句子層。在每一層,使用一種簡(jiǎn)化的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)單元——最小門(mén)單元(MGU)。MGU只有一個(gè)門(mén)單元——遺忘門(mén),將輸入(重置)門(mén)合并入了遺忘(更新)門(mén),結(jié)構(gòu)圖如圖2所示。在t時(shí)刻,MGU計(jì)算當(dāng)前的狀態(tài)為:
(9)
遺忘門(mén)控制上一時(shí)刻記憶的遺忘程度以及附加多少新信息,MGU的遺忘門(mén)的表示為:
ft=σ(Wf+Ufht-1+bf)
(10)

(11)


圖2 最小門(mén)單元結(jié)構(gòu)
本文采用的是一種分層的情感分析算法,結(jié)構(gòu)如圖3所示。在單詞層,將翻譯任務(wù)訓(xùn)練得到的隱藏向量與GloVe向量相結(jié)合作為模型的輸入,并采用MGU網(wǎng)絡(luò)來(lái)模擬句子的語(yǔ)義表示。

(12)

(13)

(14)

(15)
然后得到句子表示:
(16)

圖3 TLHANN算法結(jié)構(gòu)
得到了句子層的表示si之后,利用相同方式獲得文檔層的表示:
hi=MGU(si);i∈[1,m]
(17)
同樣,不同的句子對(duì)判別文檔的情感極性所起到的作用也有差異,因此,在句子層也采用注意力機(jī)制,并引入句子層的上下文向量vs,如式(18)~ (20)所示:
vi=tanh(Wshi+bs)
(18)
(19)
(20)
d是最終得到的文檔表示,而上下文向量vs被隨機(jī)初始化并通過(guò)訓(xùn)練過(guò)程學(xué)習(xí)得到。
上文得到的d總結(jié)了文檔中句子的所有信息,因此可以將它作為文檔情感分類(lèi)的特征。使用一個(gè)多層感知器可以得到:
(21)
然后使用softmax層得到不同情感等級(jí)的概率分布:
(22)
其中:pc是情感等級(jí)是c的概率,C是情感等級(jí)數(shù)。
本文使用黃金情感分布和模型預(yù)測(cè)的情感分析的交叉熵誤差作為損失函數(shù):
(23)

(24)

在進(jìn)行機(jī)器翻譯任務(wù)時(shí)使用了兩個(gè)數(shù)據(jù)集,分別為WMT2016的Multi30k數(shù)據(jù)集和IWSLT2016年的機(jī)器翻譯任務(wù)數(shù)據(jù)集,其中Multi30k的訓(xùn)練集由30 000個(gè)描述圖像的句子對(duì)組成,IWSLT2106的機(jī)器翻譯數(shù)據(jù)集訓(xùn)練集由209 772個(gè)句子對(duì)組成。在訓(xùn)練LSTM編碼器時(shí),使用the CommonCrawl-840B GloVe 模型生成英語(yǔ)詞向量,得到300維的詞向量,這里的LSTM網(wǎng)絡(luò)的隱藏層隱藏單元數(shù)設(shè)置為300。訓(xùn)練時(shí)采用隨機(jī)梯度下降算法,學(xué)習(xí)率以1開(kāi)始,當(dāng)驗(yàn)證復(fù)雜度首次提高時(shí),每個(gè)周期將學(xué)習(xí)率減半,Dropout均為0.2。在Multi30k數(shù)據(jù)集上訓(xùn)練的機(jī)器翻譯模型在測(cè)試集上的BLEU(BiLingual Evaluation Understudy)分?jǐn)?shù)為37.6,在IWSLT2106版本的機(jī)器翻譯數(shù)據(jù)集上訓(xùn)練得到的模型在測(cè)試集上的BLEU分?jǐn)?shù)為24.7。
對(duì)于情感分析任務(wù),使用4個(gè)數(shù)據(jù)集:IMDB、IMDB2、Yelp2013和Yelp2014。數(shù)據(jù)集的詳細(xì)信息見(jiàn)表1,將數(shù)據(jù)集按8 ∶1 ∶1的比例分為training、development、testing集。

表1 實(shí)驗(yàn)數(shù)據(jù)集的統(tǒng)計(jì)信息
本文使用兩個(gè)常用的模型評(píng)價(jià)指標(biāo):準(zhǔn)確率(Accuracy)和均方根誤差(Root Mean Square Error, RMSE),其中準(zhǔn)確率用來(lái)評(píng)價(jià)情感分析算法的表現(xiàn),RMSE用來(lái)衡量預(yù)測(cè)的情感級(jí)別和真實(shí)值的偏差。Accuracy和RMSE的公式如下:
Accuracy=T/N
(25)
(26)
其中:GRi是真實(shí)的情感等級(jí),PRi是預(yù)測(cè)的情感等級(jí),G是GRi與PRi相等的文檔數(shù),N是總文檔數(shù)。本文設(shè)置情感分析算法中MGU隱藏單元數(shù)為300,注意力機(jī)制中的單詞、句子上下文向量為300維。使用development集來(lái)調(diào)超參數(shù)并且使用Adadelta在訓(xùn)練中更新參數(shù)。
本節(jié)分別將本文提出的基于遷移學(xué)習(xí)的分層注意力神經(jīng)網(wǎng)絡(luò)的情感分析方法與未引入遷移學(xué)習(xí)的方法包括SSWE (Sentiment-Specific Word Embeddings)+ SVM(Support Vector Machine)[17]、LSTM+ UPA(User Product Attention)[18]、LSTM+CBA(Cognition Based Attention)[19]進(jìn)行對(duì)比。其中SSWE+SVM利用特殊的情感詞嵌入,采用SVM分類(lèi)器進(jìn)行情感分析;LSTM+UPA方法利用LSTM網(wǎng)絡(luò)結(jié)合注意力機(jī)制進(jìn)行情感分析;LSTM+CBA方法利用基于視覺(jué)追蹤數(shù)據(jù)的注意力機(jī)制的LSTM網(wǎng)絡(luò)進(jìn)行分析。實(shí)驗(yàn)結(jié)果如表2和表3,其中表2為以上四種方法的分類(lèi)準(zhǔn)確率, 文所提算法的分類(lèi)準(zhǔn)確率與LSTM+CBA算法和SVM算法相比分別平均提升了8.7%及23.4%,表3為四種方法的均方根誤差值。從實(shí)驗(yàn)結(jié)果可以看出,對(duì)于同樣的情感分析數(shù)據(jù)集,本文方法具有更高的分類(lèi)準(zhǔn)確率和更小的誤差。

表2 四種方法的分類(lèi)準(zhǔn)確率對(duì)比

表3 四種方法的分類(lèi)均方根誤差對(duì)比
另外,比較了在遷移學(xué)習(xí)部分中,用于訓(xùn)練LSTM編碼器的機(jī)器翻譯數(shù)據(jù)量對(duì)后續(xù)情感分析任務(wù)的影響,實(shí)驗(yàn)結(jié)果如表4所示。實(shí)驗(yàn)結(jié)果表明,翻譯數(shù)據(jù)集越大,將得到的LSTM編碼器遷移到情感分析任務(wù)時(shí),對(duì)于算法性能的提升越大;也就是說(shuō),用于訓(xùn)練LSTM編碼器的機(jī)器翻譯數(shù)據(jù)集越大,將該編碼器遷移到情感分析任務(wù)中時(shí),生成的分布式表示能夠更好地體現(xiàn)句子上下文關(guān)系,對(duì)于文本情感極性的預(yù)測(cè)更有幫助。

表4 與隨機(jī)初始化詞向量相比本文算法的準(zhǔn)確率提升效果 %
為了說(shuō)明注意力機(jī)制的作用,在4個(gè)數(shù)據(jù)集上比較了本文的基于遷移學(xué)習(xí)的分層注意力神經(jīng)網(wǎng)絡(luò)(Transfer Learning based Hierarchical Attention Neural Network, TLHANN)與不引入注意力機(jī)制——基于遷移學(xué)習(xí)的分層神經(jīng)網(wǎng)絡(luò)(Transfer Learning based Hierarchical Neural Network, TLHNN)的性能,實(shí)驗(yàn)結(jié)果如表5所示。從表5中可以看出,在情感分析算法中引入注意力機(jī)制能提升算法的性能,在IMDB、Yelp2013、Yelp2014和IMDB2數(shù)據(jù)集上的分類(lèi)準(zhǔn)確率分別提升了4.0%、2.0%、2.3%以及10.6%。

表5 注意力機(jī)制對(duì)于分類(lèi)模型的影響(分類(lèi)準(zhǔn)確率)
本文針對(duì)情感分析問(wèn)題提出了一個(gè)基于遷移學(xué)習(xí)的分層注意力神經(jīng)網(wǎng)絡(luò)(TLHANN)算法。首先利用機(jī)器翻譯任務(wù)訓(xùn)練一個(gè)LSTM編碼器,將其遷移到情感分析任務(wù)中用來(lái)生成分布式表示作為神經(jīng)網(wǎng)絡(luò)的輸入,并采用簡(jiǎn)化的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),減少了模型參數(shù)數(shù)量。經(jīng)過(guò)大量實(shí)驗(yàn)驗(yàn)證了該算法在不同的數(shù)據(jù)集上的出色表現(xiàn)。研究其他自然語(yǔ)言處理任務(wù)對(duì)于情感分析問(wèn)題的可遷移性并提高分類(lèi)準(zhǔn)確率將成為下一步工作的重點(diǎn)。