吳妍秀
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
隨著全球網(wǎng)絡(luò)社交媒體的快速發(fā)展,越來(lái)越多用戶在推特、微博等社交平臺(tái)上發(fā)布內(nèi)容,分享自己的個(gè)人觀點(diǎn)、態(tài)度及情緒,挖掘海量文本中的此類信息變得尤為重要,使情緒分類成為熱門研究方向。情緒分類具有很高的應(yīng)用價(jià)值,它可以為輿情分析[1],個(gè)性化推薦,股票預(yù)測(cè)[2]等任務(wù)提供支持。
情緒具有多種分類方式:Ekman 等人[3]將基礎(chǔ)情緒劃分為joy、sadness、anger、fear、disgust、surprise 六類,在SemEval-2007 競(jìng)賽task 14: Affective Text[4]任務(wù)中,1250 條新聞標(biāo)題被以這六種情緒進(jìn)行標(biāo)注;Plutchik[5]提出了八種基礎(chǔ)情緒的分類,分別為acceptance、anger、anticipation、disgust、joy、fear、sadness、surprise。如表1所示,一段文本中可能包含多種情緒,且情緒之間具有關(guān)聯(lián),識(shí)別句子中同時(shí)存在的多種情緒仍是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。
多標(biāo)簽分類任務(wù)的定義為:假設(shè)X=Rd為d 維的樣本空間,Y={y1,y2,…,yq}為存在q 個(gè)標(biāo)簽的標(biāo)簽空間,多標(biāo)簽分類任務(wù)從訓(xùn)練集中學(xué)習(xí)函數(shù)映射h:X→2Y。
表1 SemEval2018 task 1[6]數(shù)據(jù)集中的推特及對(duì)應(yīng)情緒
多標(biāo)簽分類任務(wù)主要采用問(wèn)題轉(zhuǎn)化或算法適應(yīng)的方法,問(wèn)題轉(zhuǎn)化方法將多標(biāo)簽分類問(wèn)題轉(zhuǎn)化為其他較為熟悉的分類問(wèn)題,算法適應(yīng)方法采用現(xiàn)有的機(jī)器學(xué)習(xí)技術(shù)加以改進(jìn)來(lái)處理多標(biāo)簽數(shù)據(jù)。
二元關(guān)系法(BR)[7]將多標(biāo)簽分類問(wèn)題分解為q 個(gè)獨(dú)立的二分類問(wèn)題,每個(gè)二分類任務(wù)對(duì)應(yīng)標(biāo)簽空間中一個(gè)可能的標(biāo)簽;多標(biāo)簽K 近鄰(MLKNN)[8]采用K 近鄰算法作為基礎(chǔ)處理多標(biāo)簽數(shù)據(jù),通過(guò)鄰居節(jié)點(diǎn)的標(biāo)簽信息利用最大后驗(yàn)進(jìn)行預(yù)測(cè)。上述兩種方法為一階方法,單獨(dú)預(yù)測(cè)每個(gè)標(biāo)簽,忽略了標(biāo)簽的共現(xiàn)性,未考慮標(biāo)簽之間的關(guān)聯(lián),造成信息丟失。
基于排序的方法有排序-SVM[9]及校準(zhǔn)的標(biāo)簽排序算法(CLR)[10],排序-SVM 算法采用最大間隔來(lái)處理多標(biāo)簽數(shù)據(jù),對(duì)q 個(gè)線性分類器進(jìn)行優(yōu)化,最小化排序損失,并利用核函數(shù)解決非線性情況;CLR 將多標(biāo)簽分類問(wèn)題轉(zhuǎn)化為標(biāo)簽排序問(wèn)題,為每個(gè)標(biāo)簽對(duì)構(gòu)建二分類器,共構(gòu)建q(q-1)/2 個(gè)二分類器,通過(guò)人工插入的閾值標(biāo)簽得到最后的分類結(jié)果。上述兩種方法為二階方法,只考慮了兩個(gè)標(biāo)簽之間的共現(xiàn)性,未考慮真實(shí)世界中的標(biāo)簽關(guān)聯(lián)不止存在于二者之間。
分類器鏈(CC)[11]將多標(biāo)簽分類問(wèn)題轉(zhuǎn)化為鏈?zhǔn)降亩鄠€(gè)二分類問(wèn)題,鏈中前一個(gè)分類器的分類結(jié)果將輸入后續(xù)的分類器中;標(biāo)簽冪集(LP)[12]將問(wèn)題轉(zhuǎn)化為單標(biāo)簽多分類問(wèn)題,每個(gè)可能的標(biāo)簽組合被視為一個(gè)單獨(dú)的標(biāo)簽,使標(biāo)簽數(shù)量級(jí)增長(zhǎng)至2q。上述兩種方法為高階方法,可以考慮標(biāo)簽之間的關(guān)聯(lián),但CC 在訓(xùn)練過(guò)程中使用teacher forcing(即分類器的輸入為上一個(gè)分類器的黃金標(biāo)注,而不是其輸出的實(shí)際預(yù)測(cè)結(jié)果)會(huì)導(dǎo)致預(yù)測(cè)時(shí)的暴露誤差,LP 轉(zhuǎn)化問(wèn)題的方式使標(biāo)簽數(shù)量呈冪級(jí)增長(zhǎng)導(dǎo)致計(jì)算困難。
早期使用基于詞典與規(guī)則的方法解決該問(wèn)題:Balahur 等人[13]構(gòu)建了一個(gè)能觸發(fā)情緒的常識(shí)規(guī)則庫(kù)EmotiNet,該規(guī)則庫(kù)記錄了各種觸發(fā)情緒的事件,進(jìn)而對(duì)沒(méi)有明確提到情緒詞匯的文本進(jìn)行識(shí)別。但是人工構(gòu)建詞典及規(guī)則費(fèi)時(shí)費(fèi)力,覆蓋率仍不夠理想,且無(wú)法探測(cè)新詞。
Almeida 等人[14]將BR、CC、LP、MLKNN 等多標(biāo)簽分類任務(wù)的方法直接用于情緒多標(biāo)簽分類,傳統(tǒng)的多標(biāo)簽分類方法存在未考慮標(biāo)簽關(guān)聯(lián)或計(jì)算復(fù)雜的問(wèn)題。
Li 等人[15]統(tǒng)計(jì)了Ren-CECps 數(shù)據(jù)集[16]中的標(biāo)簽共現(xiàn)頻率及上下文出現(xiàn)相同標(biāo)簽的頻率,提出了依賴因子圖(DFG)模型,可以建模情緒標(biāo)簽及上下文之間的相關(guān)性。Zhu 等人[17]提出了語(yǔ)料庫(kù)融合的方法利用兩個(gè)情緒語(yǔ)料庫(kù),首先對(duì)兩個(gè)語(yǔ)料庫(kù)進(jìn)行有監(jiān)督的分類任務(wù),然后根據(jù)語(yǔ)料庫(kù)內(nèi)約束和語(yǔ)料庫(kù)外約束對(duì)預(yù)測(cè)結(jié)果進(jìn)行優(yōu)化。
近年來(lái),基于神經(jīng)網(wǎng)絡(luò)的方法快速發(fā)展,從傳統(tǒng)機(jī)器學(xué)習(xí)人工提取特征的方式變?yōu)樽詣?dòng)學(xué)習(xí)特征,由于自然語(yǔ)言序列輸入且不定長(zhǎng)的特性,可以使用循環(huán)神經(jīng)網(wǎng)絡(luò)RNN 這類神經(jīng)元節(jié)點(diǎn)按時(shí)間序列連接的神經(jīng)網(wǎng)絡(luò),而長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)LSTM 及門控循環(huán)單元GRU改進(jìn)了RNN 梯度消失的問(wèn)題,使用LSTM 或GRU 編碼輸入句子成為了主流。
Abdul-Mageed 等人[18]利用hashtag 信息對(duì)語(yǔ)料進(jìn)行遠(yuǎn)監(jiān)督標(biāo)注,使用GRU 對(duì)文本進(jìn)行細(xì)粒度的情緒多分類任務(wù);Matsumoto 等人[19]利用emoji 表情符號(hào)監(jiān)督標(biāo)注語(yǔ)料,分別實(shí)驗(yàn)BiLSTM、BiGRU、CNN 三種神經(jīng)網(wǎng)絡(luò)的分類效果,最終效果BiLSTM 及BiGRU 優(yōu)于CNN。上述研究雖然使用遠(yuǎn)監(jiān)督學(xué)習(xí)解決了人工標(biāo)注語(yǔ)料費(fèi)時(shí)費(fèi)力,且標(biāo)注數(shù)據(jù)不足的問(wèn)題,但是將情緒分類看作普通的多分類問(wèn)題,未考慮真實(shí)世界中的情緒分類應(yīng)為多標(biāo)簽分類問(wèn)題。
Yu 等人[20]通過(guò)遷移學(xué)習(xí),利用情感分類任務(wù)提升樣本較少的多標(biāo)簽情緒分類任務(wù)的效果,編碼端使用BiLSTM 將句子編碼至兩個(gè)特征空間,分別為共享空間及情緒任務(wù)專有空間,通過(guò)雙向注意力正交優(yōu)化,捕獲情感詞及情緒專有詞的信息,最后將兩個(gè)隱藏向量拼接傳入多層感知機(jī)進(jìn)行分類,但需要人工設(shè)定閾值得到最后的多個(gè)標(biāo)簽。Jabreel 等人[21]拼接句子和標(biāo)簽,形成句子標(biāo)簽對(duì)集合,使用標(biāo)簽嵌入作為查詢向量計(jì)算每個(gè)詞的注意力,輸入BiGRU 進(jìn)行聯(lián)合編碼,將多標(biāo)簽分類問(wèn)題轉(zhuǎn)化為由同一個(gè)分類模型解決的二分類問(wèn)題。上述研究未考慮標(biāo)簽與標(biāo)簽之間的共現(xiàn)相關(guān)性。
在LSTM 的基礎(chǔ)上,可以使用Seq2Seq[22-23]進(jìn)行多標(biāo)簽分類任務(wù),將多標(biāo)簽分類問(wèn)題轉(zhuǎn)化為序列標(biāo)注問(wèn)題,該模型為編碼-解碼結(jié)構(gòu),編碼端使用BiLSTM 提取輸入句子的特征,注意力機(jī)制通過(guò)聚焦文本序列的不同詞,對(duì)詞的隱藏狀態(tài)求和生成上下文向量;解碼端每個(gè)時(shí)刻接收上一個(gè)時(shí)刻的隱藏狀態(tài),及上一時(shí)刻的標(biāo)簽嵌入和該時(shí)刻由編碼端得到的上下文向量的拼接,將生成過(guò)的標(biāo)簽進(jìn)行mask 操作從而避免重復(fù)生成,最終按序列生成情緒標(biāo)簽。該研究將解碼端接收的上一時(shí)刻的標(biāo)簽嵌入改為了概率值加權(quán)的標(biāo)簽嵌入,減弱模型teacher forcing 造成的暴露誤差。
Fei 等人[24]提出了潛在情緒記憶網(wǎng)絡(luò)得到先驗(yàn)的情緒分布,其中的潛在情緒模塊使用變分自編碼器重構(gòu)輸入的詞袋來(lái)學(xué)習(xí)情緒分布;記憶模塊使用潛在情緒模塊得到的參數(shù)矩陣作為查詢向量,對(duì)輸入句子計(jì)算注意力,捕捉對(duì)應(yīng)情緒相關(guān)的上下文特征。模型使用了多跳BiGRU 得到輸出,每個(gè)時(shí)刻輸出一個(gè)情緒標(biāo)簽的二分類結(jié)果,潛在情緒模塊得到的情緒分布矩陣及情緒特征矩陣為整個(gè)模型共享,記憶模塊僅針對(duì)Bi-GRU 的每個(gè)時(shí)刻。
近年來(lái),由于該任務(wù)受到廣泛關(guān)注,有多個(gè)研究及競(jìng)賽提出并標(biāo)注了數(shù)據(jù)集,如:SemEval-2007 數(shù)據(jù)集、NLPCC-2014 數(shù)據(jù)集、Ren-CECps 數(shù)據(jù)集、SemEval-2018 數(shù)據(jù)集等。
目前使用較多的情緒多標(biāo)簽分類數(shù)據(jù)集為英文微博文本的SemEval-2018 task 1 的競(jìng)賽數(shù)據(jù)集及中文博客的Ren-CECps 數(shù)據(jù)集。如表2 所示,SemEval-18 數(shù)據(jù)集已劃分訓(xùn)練集、驗(yàn)證集、測(cè)試集,情緒標(biāo)簽為disgust、anger、joy、sadness、optimism、fear、anticipation、pessimism、love、surprise、trust 十一類;CEC 數(shù)據(jù)集為未劃分的結(jié)構(gòu)化數(shù)據(jù),情緒標(biāo)簽為joy、hate、love、sorrow、anxiety、surprise、anger、expect 八類。
統(tǒng)計(jì)得出的句子對(duì)應(yīng)標(biāo)簽個(gè)數(shù)如表3 所示,兩個(gè)數(shù)據(jù)集的每個(gè)句子樣例均包含一種或多種情緒。
表2 數(shù)據(jù)集情況
表3 情緒標(biāo)簽數(shù)量的分布情況
針對(duì)多標(biāo)簽分類問(wèn)題,除了傳統(tǒng)的F1 值度量以外,可以使用漢明損失[25]、杰卡德系數(shù)進(jìn)行度量。漢明損失用于評(píng)價(jià)被誤分類的樣本標(biāo)簽對(duì):
其中n 代表樣本個(gè)數(shù),l 代表標(biāo)簽個(gè)數(shù),Yi為真實(shí)標(biāo)注,h(x)i為預(yù)測(cè)結(jié)果,漢明損失越小,代表模型預(yù)測(cè)結(jié)果越準(zhǔn)確。
杰卡德系數(shù)用于衡量?jī)蓚€(gè)標(biāo)簽集合之間的相似性:
當(dāng)集合Yi、h(x)i都為空時(shí),Ja 定義為1。杰卡德系數(shù)越大,代表模型預(yù)測(cè)結(jié)果越準(zhǔn)確。
本文對(duì)基于神經(jīng)網(wǎng)絡(luò)的多標(biāo)簽情緒分類方法進(jìn)行了研究。多標(biāo)簽情緒分類對(duì)于業(yè)界挖掘用戶信息有很大幫助,神經(jīng)網(wǎng)絡(luò)的發(fā)展使該任務(wù)的效果有了進(jìn)一步提升。但由于神經(jīng)網(wǎng)絡(luò)的黑盒特性,仍有很多特征提取及解碼方式值得探索。