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