陳亞茹,陳世平
(上海理工大學(xué) 光電信息與計算機(jī)工程學(xué)院,上海 200093)E-mail :1639008937@qq.com
近年來,人們通過在以微博等為代表的社交媒介進(jìn)行信息交流、情感表達(dá)和意見發(fā)表.對這些海量用戶數(shù)據(jù)進(jìn)行情感分析,有助于了解用戶的情感狀態(tài),及時獲取用戶的觀點態(tài)度,對于政治、社會科學(xué)、經(jīng)濟(jì)等方面的發(fā)展具有重要的現(xiàn)實意義.
研究發(fā)現(xiàn),微博文本中的表情符號和一般文本語義之間存在著很大的差異.自然語言中的文本語義都具有一定的語法功能,在構(gòu)造文本內(nèi)容時必須遵守相應(yīng)的語法規(guī)則.然而,表情符號不具有語法功能,并且通常以獨立的形式表達(dá)情感信號.此外,情感詞通常比表情符號具有更加復(fù)雜的情感信息.鑒于這些差異,將表情符和文本語言共同作為情感分析模型的決定因素進(jìn)行研究,成為本文的研究關(guān)鍵.
本文提出了一種融合自注意力機(jī)制和BiGRU網(wǎng)絡(luò)模型的微博情感分析方法:
1)根據(jù)現(xiàn)有的微博數(shù)據(jù)集進(jìn)行統(tǒng)計和分類,構(gòu)建了一個帶有情感標(biāo)簽的微博情感語料庫.
2)將表情符引入微博文本情感分析研究,利用BiGRU網(wǎng)絡(luò)學(xué)習(xí)純文本的低緯度表示,然后利用自注意力模型將文本詞向量和表情符向量共同進(jìn)行權(quán)重計算,使得遠(yuǎn)距離依賴特征之間的距離被大大縮短,能夠提取出文本更深層次的語義關(guān)系,增強(qiáng)了文本情感分析的能力.
3)通過對比分析實驗,證明了本文模型相比其他模型更有效地提高了微博文本情感分類的準(zhǔn)確率.
卷積神經(jīng)網(wǎng)絡(luò)(CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)是文本情感分析領(lǐng)域中的兩種廣泛使用的深度學(xué)習(xí)模型.Lecun等人[1]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到文本情感分類中,提高了分類的準(zhǔn)確性.Mikolov等人[2]提出的RNN模型可以處理序列數(shù)據(jù)并學(xué)習(xí)長期依賴性.RNN可以考慮當(dāng)前輸出與前一序列輸出之間的關(guān)系,使得RNN能夠充分學(xué)習(xí)上下文文本之間的信息.但RNN存在梯度擴(kuò)散和梯度爆炸的問題,為了解決這一問題,長短期記憶模型(LSTM)[3]和門控遞歸單元(GRU)[4]等眾多變體被提出并廣泛應(yīng)用于情感分析領(lǐng)域.但是LSTM和GRU模型只具有前向信息記憶能力,而不能對后向序列進(jìn)行記憶,故雙向RNN結(jié)構(gòu)被隨之提出.如Graves等人[5]提出的雙向長短期記憶網(wǎng)絡(luò)(BiLSTM),該模型在LSTM上增加了反向?qū)?,使得LSTM能夠同時考慮上下文信息,對雙向序列信息進(jìn)行記憶,獲得雙向無損的文本信息;Zhang等人[6]提出了一種基于雙向遞歸神經(jīng)網(wǎng)絡(luò)的分層多輸入輸出模型,該模型采用兩個獨立的雙向門控循環(huán)(BiGRU)來生成部分詞性和句子表示,然后對語音表達(dá)中softmax激活輸出來考慮詞法信息.
針對微博的情感分析,表情符號具有較強(qiáng)的情感表現(xiàn),越來越多的研究者將表情符引入到情感分析中,如Jiang等[7]提出了表情空間模型(ESM),將所有單詞向量投射到表情空間后,使用支持向量機(jī)(SVM)模型進(jìn)行情感分類.何炎祥等[8]采用表情符號向量來增強(qiáng)多通道卷積網(wǎng)絡(luò)(MCNN)學(xué)習(xí)情感語義的能力,利用常見的表情符號和單詞構(gòu)建情感空間的特征表示矩陣,然后通過MCNN對情感表示矩陣進(jìn)行建模,實現(xiàn)對微博文本的情感分類.
雖然文獻(xiàn)[7,8]考慮到表情符號在情感表現(xiàn)的重要作用,但未考慮情感符號自身對文本的作用機(jī)制.
注意力機(jī)制最早運用在圖像處理領(lǐng)域[9],后來Bahdanau等人[10]首次將注意力機(jī)制應(yīng)用在自然語言中.在自然語言處理領(lǐng)域,注意力機(jī)制廣泛應(yīng)用在機(jī)器翻譯、問答系統(tǒng)[11]、情感分析[12]等方面.自注意力機(jī)制是注意力機(jī)制層的一個特例,它是一種內(nèi)部注意力機(jī)制,能夠關(guān)注到句子內(nèi)部詞語之間的語義關(guān)系.它通常不需要額外的數(shù)據(jù)信息,可以單獨作為一層來使用,許多研究者將自注意力機(jī)制與深度學(xué)習(xí)模型相結(jié)合,實現(xiàn)文本情感的分類.如邵清等人[13]通過引入自注意力機(jī)制處理詞向量,然后根據(jù)卷積神經(jīng)網(wǎng)絡(luò)和關(guān)鍵詞提取技術(shù)實現(xiàn)特征向量的分類,有效提高了分類的準(zhǔn)確性;石磊等人[14]提出了一種將自注意力機(jī)制和Tree-LSTM相結(jié)合,并且引入了Maxout神經(jīng)元,有效地提高了情感分析的準(zhǔn)確率和解決了空間方向的梯度下降問題.本文提出的自注意力機(jī)制和BiGRU網(wǎng)絡(luò)模型,利用自注意力機(jī)制能夠關(guān)注文本的關(guān)鍵信息,實現(xiàn)了將文本和表情符共同加入計算,得到結(jié)合表情符作用的語義編碼信息,有效提高了文本分類的準(zhǔn)確率.
為了實現(xiàn)微博情感分析的目標(biāo),本文提出了融合表情符的自注意力機(jī)制和BiGRU網(wǎng)絡(luò)模型結(jié)構(gòu),具體結(jié)構(gòu)如圖1所示.該模型共包括四層結(jié)構(gòu):第一層是詞向量輸入層,將輸入的文本句子利用詞向量模型來進(jìn)行編碼;第二層是BiGRU層,完成的任務(wù)是將文本向量輸入BiGRU模型以獲取上下文相關(guān)信息;第三層是自注意力機(jī)制層,主要是將文本特征和表情符向量進(jìn)行融合加權(quán),從句子中抽取相關(guān)信息;最后一層是情感分類層,通過softmax分類器完成文本情感分析工作.
圖1 融合自注意力和BiGRU模型框架
本文模型的輸入是由整個數(shù)據(jù)集中的文本和表情符號的詞向量表示矩陣組成.首先,通過大規(guī)模語料采用詞向量訓(xùn)練模型學(xué)習(xí)得到整個詞向量詞典的表示矩陣Mw∈Rd×N,其中d代表單個向量的維數(shù),N代表詞典中詞語的數(shù)量.對于由詞典元素組成文本序列S=(w1,w2,…,wT),第j個詞語的向量Xj通過公式(1)獲取:
Xj=MwVj,1≤j≤T
(1)
此操作可看作是查字典,查找操作可被看作使用二進(jìn)制向量Vj的投影函數(shù).其中Vj∈RN,除了在第j個索引取值為1之外,其它位置取值都為零.
最后通過行向量拼接的操作獲得整個文本序列的詞向量表示:
Rw=X1⊕X2⊕…⊕XT
(2)
對微博文檔中表情符號序列的詞向量表示Re也要通過上面的步驟獲得.
作為RNN的變體的雙向門控循環(huán)(BiGRU)神經(jīng)網(wǎng)絡(luò),它類似于LSTM,但只有兩個門:重置門r確定新輸入和先前信息的組合方式,更新門z確定要傳遞多少先前信息.GRU的基本框圖如圖2所示.
圖2 GRU模型框架
一個GRU單元的輸入為第t個單詞向量xt∈Rw,和前一輸出隱狀態(tài)ht-1,具體更新方式如公式(3)至公式(6)所示:
rt=σ(wr·[ht-1-xt])
(3)
zt=σ(wz·[ht-1,xt])
(4)
(5)
(6)
圖3 BiGRU網(wǎng)絡(luò)框架
(7)
自注意力機(jī)制,又稱內(nèi)部注意力機(jī)制,是注意力機(jī)制的一個特例.注意力機(jī)制一般發(fā)生在Target的Query和Source的所有元素之間,而且Source和Target是不相同的.而自注意力機(jī)制指的是Target內(nèi)部元素之間或者是Source內(nèi)部元素之間發(fā)生的注意力計算機(jī)制,也可以認(rèn)為是Target=Source這種特殊情況下的注意力機(jī)制.因此,自注意力機(jī)制可以捕獲同一個句子中單詞之間的一些語義特征或句子特征,且更容易捕獲句子中長距離的相互依賴關(guān)系.
本層的輸入集合表示為X=[h1,h2,…,hT;Ve],其中,hi為純文本經(jīng)過BiGRU層的輸出表示,Ve為表情符向量的平均值,為了防止單個表情符號的權(quán)重過大的情況發(fā)生,我們首先對微博文本中的表情符向量求取平均值:
(8)
其中et表示表情符詞向量,k表示一條微博文本中的表情符的數(shù)目.
自注意力機(jī)制的權(quán)重矩陣的計算由公式(9)可得:
(9)
其中,xi∈Rd,d表示詞向量維度,αi,j>0是自注意力機(jī)制的權(quán)重,使用正則化技術(shù)讓∑jαi,j=1.自注意力權(quán)重的計算由公式(10)和公式(11)得到:
(10)
(11)
本文通過Softmax分類器來預(yù)測目標(biāo)方面上文本的情感極性.
Py=softmax(WyS+by)
(12)
(13)
其中Wy為權(quán)重矩陣,by為偏置向量,Py為輸出的預(yù)測標(biāo)簽,C為情緒標(biāo)簽數(shù)目.
模型通過交叉熵?fù)p失函數(shù)來表征情感標(biāo)簽的真實概率分布與預(yù)測概率分布之間的距離.
(14)
本文的實驗環(huán)境如表1所示.
表1 實驗配置
本文選取了NLPCC2013和NLPCC2014的微博公開數(shù)據(jù)集,和從網(wǎng)上爬取了2萬多條新浪微博的文本內(nèi)容作為本次情感評測任務(wù)的微博數(shù)據(jù)集.為了更好地驗證本文模型的情感分類效果,本文選取的數(shù)據(jù)集的微博語句都是帶有表情符號的語句,并且將每一條微博語句都標(biāo)注情感標(biāo)簽,分別為生氣(anger)、厭惡(disgust)、傷心(sadness)、害怕(fear)、高興(happy)、喜愛(like)、驚喜(surprise)和無情感(none)八類標(biāo)簽,具體的語料信息如表2所示.
表2 微博語料庫
本文設(shè)計了主客觀二分類和正負(fù)極情感二分類兩項基本情感分類任務(wù),其中在主客觀二分類中none為客觀標(biāo)簽,其它7種為主觀標(biāo)簽;據(jù)表2的3種數(shù)據(jù)集統(tǒng)計發(fā)現(xiàn),7種情感的使用頻率差別很大,其中happy、like、sadness、disgust這4種情感使用次數(shù)最多,且happy、like和surprise為積極情感,anger、disgust、sadness和fear為消極情感,所以將happy、like和surprise作為正向標(biāo)簽,將anger、disgust、sadness和fear作為負(fù)向標(biāo)簽來實現(xiàn)情感正負(fù)極二分類任務(wù).具體實驗信息如表3所示.
表3 實驗統(tǒng)計信息
本文采取交叉驗證的方式,將每種數(shù)據(jù)集分為訓(xùn)練集、驗證集和測試集,并且劃分比例為8:1:1.本次實驗的參數(shù)由30次迭代對比調(diào)整得到,將平均實驗結(jié)果最優(yōu)的參數(shù)組合作為最終結(jié)果,最終所采用的超參數(shù)取值如表4所示.
表4 超參數(shù)列表
本文選用了兩個實驗分別對本文模型的情感分類效果進(jìn)行衡量.
實驗1.為了驗證模型的有效性和準(zhǔn)確性,設(shè)計以下常見的5組模型進(jìn)行性能對比.
1) ESM模型[8],通過表情符詞向量和文本詞向量進(jìn)行余弦距離運算得到詞語到情感空間的映射關(guān)系,然后輸入到SVM模型完成情感分類.
2) EMCNN模型[9],首先使用表情符號構(gòu)建情感空間映射,然后通過MCNN模型進(jìn)行語義特征學(xué)習(xí),實現(xiàn)情感分類.
3) ARC模型[15],從BiGRU中提取的隱藏向量通過注意機(jī)制層提取情感重要信息,然后輸出到CNN層的混合神經(jīng)網(wǎng)絡(luò)模型.
4) SA-TLSTM-M模型[13],通過將Tree-LSTM網(wǎng)絡(luò)與self-Attention機(jī)制相結(jié)合,之后輸入到maxout神經(jīng)元完成情感分類.
5) E-BiLSTM-SA模型,將本文模型中的BiGRU層換成BiLSTM網(wǎng)絡(luò),用于對比BiGRU相較于BiLSTM在情感分類任務(wù)中的優(yōu)越性.
本文通過采用準(zhǔn)確率(Acc)、精確率(Pre)、召回率(Rec)和宏F1值4個參數(shù)完成對模型的相關(guān)評價.
從表5-表10可以看出,E-BiGRU-SA模型在所有的指標(biāo)上都取得了最好的結(jié)果,在正負(fù)極情感二分類中,E-BiGRU-SA模型在3個數(shù)據(jù)集準(zhǔn)確率分別達(dá)到90.83%、92.25%和93.68%;在主客觀二分類中,該模型在三個數(shù)據(jù)集準(zhǔn)確率分別達(dá)到88.43%、89.33%和90.07%.相較于目前已知情感二分類效果最好的E-BiLSTM-SA模型,在正負(fù)極情感二分類任務(wù)中,E-BiGRU-SA型在三種數(shù)據(jù)集中分別提升了1.84%、0.96%和2.31%;主客觀二分類任務(wù)中,E-BiGRU-SA模型相較于E-BiLSTM-SA模型,分別提升了2.64%、1.92%和2.36%,可以看出BiGRU網(wǎng)絡(luò)相比BiLSTM網(wǎng)絡(luò)在提取文本重要信息方面更有優(yōu)勢.
表5 在NLPCC2013中正負(fù)極二分類模型信息對比
表6 在NLPCC2014中正負(fù)極二分類模型信息對比
表7 在微博語料中正負(fù)極二分類模型信息對比
表8 在NLPCC2013中主客觀二分類模型信息對比
表9 在NLPCC2014中主客觀二分類模型信息對比
表10 在微博語料中主客觀二分類模型信息對比
實驗2.為了驗證表情符號對于微博情感傾向的作用,同時驗證本文模型對于不同極性語料集的影響,本次實驗采用以下3種處理方法進(jìn)行對比實驗:
1) BiGRU-SA模型,去掉微博中的表情符,僅用純文本輸入BiGRU-SA網(wǎng)絡(luò)模型,得到最終的語義編碼.
2) T*-BiGRU-SA模型,將微博語料里的表情符直接轉(zhuǎn)換為表情符對應(yīng)的文本,例如將微博文本“如果明天下雨,我的旅行就泡湯了”轉(zhuǎn)換為文本“如果明天下雨,我的旅行就泡湯了哭泣”,然后轉(zhuǎn)化為文本詞向量,輸入到BiGRU-SA模型.
3) E*-BiGRU-SA模型,因為表情符號在微博文本中只是起著加強(qiáng)語義表達(dá)的作用,沒有直接的上下文依賴關(guān)系,所以將表情符詞向量輸入到無時序聯(lián)系的全連接網(wǎng)絡(luò),之后和同時輸入BiGRU-SA網(wǎng)絡(luò)的純文本特征進(jìn)行語義合并,得到最終的語義編碼.
從圖4和圖5的實驗結(jié)果看出,相比于其他三種模型方法,本文中提出E-BiGU-SA模型在正負(fù)兩種極性分類中的準(zhǔn)確率都取得了最優(yōu)值.將BiGRU-SA模型和T*-BiGRU-SA模型相比較,T*-BiGRU-SA模型的準(zhǔn)確率并沒有得到明顯的提升,甚至在2013年的負(fù)極分類的準(zhǔn)確率出現(xiàn)了降低情況,因為表情符轉(zhuǎn)化為文字后,不能完全替代表情符在微博文本所包含的語義信息,所以直接將表情符轉(zhuǎn)換為文本的分類方法是不可取的.E*-BiGRU-SA模型和E-BiGU-SA模型相較于BiGRU-SA模型準(zhǔn)確率都得到了較大程度的提升,說明將表情符轉(zhuǎn)化為詞向量在情感分類中發(fā)揮著積極的作用.相較于將表情符輸入全連接層的E*-BiGRU-SA模型,E-BiGU-SA模型在正負(fù)極分類中準(zhǔn)確率都有明顯的提升,說明利用自注意力機(jī)制將表情符向量和文本向量的進(jìn)行加權(quán)融合,可以更好地捕捉文本的語義特征,證明了本文模型在微博情感分類任務(wù)中的有效性.
圖4 正向極性分類結(jié)果對比圖
圖5 負(fù)向極性分類結(jié)果對比圖
從圖4和圖5對比可以看出,負(fù)向極性的增長幅度要大于正向極性的增長幅度,說明加入表情符號的研究對于負(fù)向極性的識別效果更加明顯.結(jié)合表11的文本實例可以看出,當(dāng)代微博用戶常常使用隱晦或者反諷的語言表達(dá)自己的情感,只從文字角度出發(fā)很難挖掘出準(zhǔn)確的語義信息,加入對表情符的研究則很好地解決了這一問題,說明了本文提出的模型具有一定的實用價值,也進(jìn)一步說明融合表情符的E-BiGU-SA網(wǎng)絡(luò)在微博情感分類任務(wù)中的優(yōu)越性.
表11 部分實例識別結(jié)果
本文提出了一種BiGRU網(wǎng)絡(luò)和自注意力模型相結(jié)合的情感分類方法,不僅考慮了微博純文本的情感表達(dá),還考慮了文本中情感符號的情感表達(dá).本文提出的模型中利用自注意力機(jī)制將表情符向量和文本向量結(jié)合生成新的特征表示,促進(jìn)了微博文本的情感分類能力.在本次實驗中我們采集了三種數(shù)據(jù)集,在這些數(shù)據(jù)集中,本文提出的模型在多個任務(wù)中都取到了良好的效果,并在多個指標(biāo)上超過了已知的其他模型.
雖然BiGRU模型相較于BiLSTM模型,具有參數(shù)數(shù)量少,計算速度快,提取文本重點信息準(zhǔn)確率高等方面的優(yōu)勢,但是隨著數(shù)據(jù)量的增多,BiGRU模型的準(zhǔn)確率也會下降,難以體現(xiàn)該模型的優(yōu)勢,所以下一步將研究更適用于大型數(shù)據(jù)集中的情感分析模型.