盧 欣,李 旸,王素格
(山西大學(xué) 計算機(jī)與信息技術(shù)學(xué)院,山西 太原 030006)
微博作為新興的媒體,語言使用一般比較隨意,面對一些熱點(diǎn)話題,作者常常使用反諷來表達(dá)對該話題強(qiáng)烈情感傾向。反諷作為說話或?qū)懽鲿r采用的一種帶有諷刺意味的語氣或?qū)懽魇侄蝃1-2],通常以間接的方式表達(dá)真實(shí)的意圖。因此,不論在哪種語言環(huán)境下,反諷的字面意思和真實(shí)意圖之間均存在較大的差異[3],對其使用的識別是一個復(fù)雜的認(rèn)知過程[2]。面對微博中出現(xiàn)的反諷表達(dá),如何對其進(jìn)行自動識別,成為研究者關(guān)注的課題。依據(jù)微博中情感的指向性,反諷可以劃分為兩類: ①表達(dá)積極情感的反諷,主要目的在于以幽默的手法表達(dá)對某些人和事物的贊賞。例如,“我家木匠的手藝太差勁了!他做的門窗硬是找不到縫,他刨的木板連蒼蠅也落不住?!薄伴T窗找不到縫”是在說門窗做得嚴(yán)絲合縫,“蒼蠅落不住”是在說木板表面光滑,表面上是說木匠的手藝差,實(shí)際上是在以幽默的方式表達(dá)對木匠手藝的贊揚(yáng)。②表達(dá)消極情感的反諷,主要目的是以反諷的手法表達(dá)對某些人和事物的強(qiáng)烈不滿。例如: 在針對鐵路火車票降價的微博評論中,“全鐵路火車票降價五毛是年度最牛的降價!”,表面上是在贊揚(yáng),實(shí)際表達(dá)了作者對此次降價的不滿情緒。如何識別這些文本中具有情感的反諷表達(dá),以提高微博情感分析的準(zhǔn)確率,同時正確地進(jìn)行輿情分析,成為研究者關(guān)注的熱點(diǎn)問題。
中文反諷識別研究目前主要面臨以下的困難: ①沒有權(quán)威的中文反諷數(shù)據(jù),反諷語料只能靠各研究單位通過手工標(biāo)注,然而受主觀因素的影響,語料質(zhì)量難以保證; ②微博是一種比較自由的媒體,文本數(shù)據(jù)一般比較短,且口語化,難以獲取上下文的語義信息。而且反諷的字面意義和實(shí)際意義往往存在沖突,需要獲取其深層的語義信息; ③由于反諷與語言習(xí)慣有關(guān),不同語言的語法結(jié)構(gòu)存在差異,一些英文反諷的方法并不能直接應(yīng)用在中文反諷識別上。和英文反諷識別相比,中文的語法結(jié)構(gòu)和語義更加復(fù)雜,一些反諷甚至連人工也難以準(zhǔn)確鑒別,中文中的諧音詞和語氣詞也使得中文反諷識別比英文反諷識別難度更大。
針對反諷識別存在的問題,當(dāng)前主流研究方向主要關(guān)注有效的顯式反諷特征的選取。然而,由于反諷表達(dá)的復(fù)雜性,使得傳統(tǒng)特征選擇方法無法挖掘句子深層語義,單純通過顯式特征的方法難以達(dá)到較高的精度。卷積神經(jīng)網(wǎng)絡(luò)(CNN)是目前較流行的深度學(xué)習(xí)技術(shù),能夠?qū)⒌讓拥奶卣鹘?jīng)過卷積池化后獲取抽象的特征,用于挖掘句子的深層語義信息,進(jìn)而學(xué)習(xí)到有用的隱式特征,提高分類準(zhǔn)確性。本文在借鑒英文反諷識別的基礎(chǔ)上,結(jié)合中文特有的語言現(xiàn)象和微博的特性,歸納了反諷的幾種顯式語言特征,再利用這些特征融入卷積神經(jīng)網(wǎng)絡(luò)中,對反諷進(jìn)行識別,以彌補(bǔ)傳統(tǒng)特征方法無法挖掘句子深層語義信息的不足。
針對英文反諷識別研究,主要從特征選取的研究角度出發(fā)。Gonzalez-Ibanez等[4]通過詞匯特征來識別反諷,構(gòu)建了反諷詞匯和“@〈用戶〉”標(biāo)簽的反諷特征體系,實(shí)驗(yàn)結(jié)果表明單純通過詞匯特征無法準(zhǔn)確有效地識別反諷。Reyes等[5]選取了n元文法、詞性的n元文法、幽默指數(shù)、詞匯極性、情感復(fù)雜度和愉快程度六種特征,實(shí)驗(yàn)結(jié)果表明以上特征對于特定領(lǐng)域的反諷識別有明顯的作用。Konstantin等[6]在各種分類模型下結(jié)合各種反諷特征進(jìn)行研究,實(shí)驗(yàn)結(jié)果表明人工選取的特征在提高準(zhǔn)確率的同時降低了召回率,然而實(shí)驗(yàn)發(fā)現(xiàn)詞袋模型就能解決這一問題。Edwin[7]在社交媒體的數(shù)據(jù)集上結(jié)合了消極情感信息和感嘆詞數(shù)量等特征,在最大熵模型上的識別精確率達(dá)到了78.4%。David等[8]在Twitter數(shù)據(jù)集上發(fā)現(xiàn)上下文信息對反諷識別有重要的意義。Aditya等[9]介紹了當(dāng)前基于特征選擇方法選取的反諷特征和分類模型。以上所有模型均使用傳統(tǒng)的機(jī)器學(xué)習(xí)模型,未能挖掘到反諷的深層語義信息,導(dǎo)致反諷識別的精度不高。Aniruddha Ghosh等[10]首先采用CNN和LSTM來識別反諷,實(shí)驗(yàn)效果表明深度學(xué)習(xí)方法優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)方法。Yu-Hsiang Huang等[11]在Word Embedding的幫助下采用三種深度學(xué)習(xí)模型來識別反諷: 卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和帶注意力機(jī)制的循環(huán)神經(jīng)網(wǎng)絡(luò)(Attentive RNN),實(shí)驗(yàn)表明Attentive RNN在Twitter數(shù)據(jù)集上得到了最好的效果。Abhijit Mishra等[12]利用認(rèn)知NLP系統(tǒng),即通過眼球的運(yùn)動、腦電圖信號、腦成像等技術(shù)擴(kuò)充傳統(tǒng)的基于文本的特征提取。Lotem Peled等[13]采用單語機(jī)器翻譯(MT)技術(shù)將反諷的英文翻譯為非反諷的英文,通過對非反諷英文情感傾向進(jìn)行打分來判別是否是反諷,文獻(xiàn)公布了3 000條反諷的實(shí)驗(yàn)語料。
中文反諷識別研究目前還處于探索階段。Tang等[14]構(gòu)建了一個繁體字的反諷語料庫,人工總結(jié)了反諷常用的句式結(jié)構(gòu),并驗(yàn)證了選取結(jié)構(gòu)的有效性。鄧釗等[15]通過中文的特征來識別反諷,構(gòu)建了基本詞匯情感、諧音詞、連續(xù)的標(biāo)點(diǎn)符號、微博的長度、動詞被動化和雙引號內(nèi)外情感模糊度等六種特征,從新浪微博中標(biāo)記了300條反語和28 545條非反語構(gòu)建了實(shí)驗(yàn)數(shù)據(jù)集,實(shí)驗(yàn)獲得了最高76.74%的準(zhǔn)確率。羅婷[16]引入兩組語言學(xué)規(guī)則——歇后語規(guī)則來識別反諷、違反常識規(guī)則,對于特定領(lǐng)域的反諷有一定的意義。孫曉等[17]提出了一種多特征融合的混合神經(jīng)網(wǎng)絡(luò)模型,使用了CNN和LSTM進(jìn)行深度融合,構(gòu)建了1 000條反諷和1 000條非反諷的數(shù)據(jù)集。
在相關(guān)工作的基礎(chǔ)上結(jié)合中文微博自身的特點(diǎn),本文構(gòu)建了如下的反諷語言學(xué)特征體系。
(1) 搭配規(guī)則。反諷是一種特殊的修辭方式,經(jīng)常會同時出現(xiàn)一些固定的詞組,例如,“很好,今天路上堵車,我又遲到了?!痹诜粗S中,“很好……又……”這一固定搭配經(jīng)常出現(xiàn)。
(2) 帶強(qiáng)烈情感的副詞。微博中,反諷經(jīng)常使用帶強(qiáng)烈情感的副詞來表達(dá)作者強(qiáng)烈的負(fù)面情緒,例如,“你真的是太聰明了,連這個問題都不會?!弊髡哂谩罢娴氖恰焙汀疤眮肀磉_(dá)強(qiáng)烈的負(fù)面情感。
(3) 諧音詞。諧音現(xiàn)象在漢語的使用中非常普遍,漢語中有很多詞的讀音相同或相似,使用者經(jīng)常使用諧音詞表達(dá)某種意味[18],例如,“杯具”是“悲劇”的諧音詞,“鴨梨”是“壓力”的諧音詞,微博作為一種簡練隨意的網(wǎng)絡(luò)媒體,很多用戶使用諧音詞表達(dá)反諷的情感傾向。
(4) 動詞被動化。中文中某些動詞本身沒有負(fù)面的含義,前面加上“被”的話含義會發(fā)生轉(zhuǎn)變。例如,“每年看統(tǒng)計數(shù)據(jù)覺得自己生活水平很高,結(jié)果還不是被平均!”就表達(dá)了負(fù)面的情感。
(5) 特定的標(biāo)點(diǎn)符號。主要指引號、感嘆號和問號。微博作者故意對某些詞語加上引號來暗示讀者另外一層意思,同樣,用戶經(jīng)常使用感嘆號和問號來表達(dá)強(qiáng)烈的情感傾向。例如,春晚的現(xiàn)場觀眾真的是全國“低笑點(diǎn)大賽 ”的佼佼者。
(6) 網(wǎng)絡(luò)詞匯。微博作為網(wǎng)絡(luò)新興媒體,含有大量的網(wǎng)絡(luò)用語,有些網(wǎng)絡(luò)用語本身就帶有強(qiáng)烈的反諷意味,例如,“醉了”“仆街”“廢柴”等。
(7) 特定的語氣詞?!昂呛恰薄肮薄昂俸佟边@三個語氣詞帶有一種嘲諷的意味,在反諷的微博中經(jīng)常出現(xiàn)。
(1) 搭配規(guī)則
(2) 詞匯特征
① 強(qiáng)烈情感詞: 極好、太、極其、非常、真的是、最、極度、絕、完全、無比、牛、異常、之至、分外、何等、很、滿、多么、格外、實(shí)在。
② 諧音詞: 河蟹、杯具、灰常、內(nèi)牛滿面、餐具、木有、神馬、亞歷山大、有木有、笑屎了、無鹽、鴨梨、圍脖、尼瑪、雞凍、童鞋、稀飯、表、蝦米、腫么了。
表1 搭配規(guī)則統(tǒng)計值
③ 網(wǎng)絡(luò)詞匯: 漲姿勢、醉了、五毛、打醬油、冏、仆街、上天臺、拍磚、咔嚓、逗比、靠、東東、廢柴、小白、暈、蒜你狠、抓狂、亮騷、心塞、逼格。
將自然語言文本通過詞向量進(jìn)行向量表示,可以為特定任務(wù)下的算法進(jìn)行預(yù)處理。One-hot是一種最基本的表示詞向量的方法,然而,對于微博這種短文本數(shù)據(jù),利用這種表示方法構(gòu)造的詞向量往往比較稀疏,而且難以獲取詞匯之間的上下文信息。由于One-hot表示方法存在缺陷,Hinton[19]率先提出了Word Embedding方法,將高維數(shù)據(jù)降為低維數(shù)據(jù),在解決向量稀疏問題的同時通過低維數(shù)據(jù)的位置關(guān)系來反映上下文信息。Mikolov等[20]提出了Skip-gram 模型來訓(xùn)練特定領(lǐng)域Word Embedding詞向量,Skip-gram 模型通過當(dāng)前詞匯的詞向量來預(yù)測上下文詞向量,假設(shè)某一詞組序列為s1,s2,s3,…,sN,實(shí)驗(yàn)的目標(biāo)是式(1)的值最小化。
(1)
其中,α是以當(dāng)前詞語為中心的窗口大小,表示選取當(dāng)前詞sn的前α個詞和后α個詞。p(sn+i|sn)表示在詞sn出現(xiàn)條件下詞sn+i出現(xiàn)的概率。基本的Skip-gram模型計算條件概率,如式(2)所示。
(2)
在實(shí)驗(yàn)中,只要訓(xùn)練足夠大的語料庫,選擇恰當(dāng)?shù)拇翱?,Skip-gram就能訓(xùn)練出高質(zhì)量的詞向量。
為了將反諷本身的特征和深度學(xué)習(xí)進(jìn)行融合,本文結(jié)合反諷特征和Word Embedding構(gòu)建了雙輸入卷積神經(jīng)網(wǎng)絡(luò)模型。該模型引入反諷特征,用于對句子進(jìn)行語義拓展,然后使用詞向量建立特征矩陣和句子矩陣的雙輸入矩陣,經(jīng)過卷積和池化操作自動提取文本的局部特征向量,在連接融合層進(jìn)行串接融合,最后將融合后的特征向量輸入softmax分類器中,以實(shí)現(xiàn)對句子的反諷識別。模型結(jié)構(gòu)如圖 1所示。
圖1 融合反諷特征的雙輸入CNN模型結(jié)構(gòu)圖
(1) 輸入層
本文面向的對象是微博中的句子,因此,首先通過微博中的句號將微博文本以句子為單元存儲到數(shù)據(jù)集中,然后將句子表示成二維數(shù)據(jù)矩陣形式,作為模型的輸入。微博中的每個詞經(jīng)過Word Embedding訓(xùn)練之后轉(zhuǎn)化為v維向量。假設(shè)數(shù)據(jù)集中最長的句子包含n個詞,由n個v維向量組成的n×v的矩陣作為卷積神經(jīng)網(wǎng)絡(luò)的輸入矩陣,將其余的句子用0補(bǔ)齊,變成n×v的矩陣。
首先通過分詞工具將數(shù)據(jù)集中的每個句子S進(jìn)行分詞。將S作為分詞工具的輸入,輸出的S被分為n個詞語s1,s2,s3,…,sn,將S表示為如式(3)所示。
S:{s1,s2,s3,…,sn}
(3)
從訓(xùn)練好的詞向量中獲取S的每個詞語si的詞表達(dá),將si表示為R1×v空間中的向量,如式(4)所示。
si=(si1,si2,…,siv)i∈[1,n]
(4)
S的矩陣表示是將S的詞向量按原來的順序排列,如式(5)所示。
S=s1⊕s2⊕…⊕sn
(5)
因此句子S被轉(zhuǎn)換為向量矩陣,如式(6)所示。
(6)
將向量矩陣作為CNN的輸入,經(jīng)過卷積和池化操作后獲得抽象的句子表示。
同理,反諷的特征是句子中的符號和詞集,因此,能夠獲得特征的矩陣表示T作為模型的另一個輸入,l為句子中出現(xiàn)的特征詞個數(shù)。
(7)
以反諷句子為例: “鐵路火車票降價五毛是年度最牛的降價!”經(jīng)過分詞后結(jié)果為“鐵路/火車票/降價/五毛/是/年度/最/牛/的/降價/!”。句子經(jīng)過分詞,共有11個詞向量,具體表示如式(8)所示。
(8)
同樣因?yàn)榘拔迕?最/牛/!”等四個特征,“五毛”是網(wǎng)絡(luò)用詞,“最/?!痹谇楦性~表中。“!”也作為特征,因此,得到特征的矩陣表示T,如式(9)所示。
(9)
(2) 卷積層
在圖像處理的卷積層操作中,像素矩陣的行列兩個方向移動卷積核都有意義,但是將 CNN應(yīng)用到微博的反諷分類時,以S矩陣作為輸入,在矩陣的行方向移動卷積核窗口沒有意義,由此卷積核和詞具有相同的維度。同時由于S矩陣的列序是原先句子的次序,卷積窗口在矩陣的列方向的移動能夠獲取到詞匯的上下文信息。因此,可以利用CNN 實(shí)現(xiàn)句子特征自動提取。
在卷積層中對每個不同大小的窗口都設(shè)置了m個卷積核C1,C2,C3,…,Cm,不同大小的卷積核能夠獲取到不同的信息,增加了信息的全面性,其中任意卷積核C∈Rk×v的形式如式(10)所示。
(10)
其中,k是窗口的大小,v代表詞向量的維度。
卷積的過程是將S矩陣從上到下分為n-k+1個子窗口矩陣S′∈Rk×v,分別與C進(jìn)行(*)運(yùn)算,(*)定義如式(11)所示。
(11)
其中,bij是偏置,f是激勵函數(shù),這里采用RELU函數(shù)來進(jìn)行歸一化,式中S′,C都是k×v的矩陣,sij×cij+bij即矩陣S′和矩陣C對應(yīng)元素相乘再加上偏置。因此,S矩陣和任意一個卷積進(jìn)行了n-k+1次運(yùn)算,按順序排列得到卷積向量Q∈R(n-k+1)×1。同樣,將S矩陣與所有的卷積核進(jìn)行卷積,得到所有的卷積層輸出Q1,Q2,Q3,…,Qm,傳入池化層中。其中Qi表示如式(12)所示。
Qi=(qi1,qi2,qi3,…,qin -k +1)i∈(1,m)
(12)
(3) 池化層
S矩陣經(jīng)m個卷積核進(jìn)行卷積操作后,獲得了m個R(n-k+1)×1空間的向量。池化層將獲得的向量進(jìn)行簡化,定義的池化操作如下: 即選取卷積層輸出Q1,Q2,Q3,…,Qm中每個向量中的最大值,如式(13)所示。
pi=pooling(Qi)
=max(qi1,qi2,qi3,…,qin -k +1)i∈(1,m)
(13)
(4) 連接融合層
連接接融合層就是將m個池化后得到的語義特征向量進(jìn)行融合得到M矩陣的表示向量,從而得到一個Rm×1的空間的表示向量P,如式(14)所示。
P=(p1,p2,p3,…,pm)
(14)
同理,能得到T矩陣的表示向量P′,如式(15)所示。
(15)
將P和P′進(jìn)行拼接得到向量P″,如式(16)所示。
P″=mix(p,p′)
(16)
最后將P″輸入到softmax函數(shù)中進(jìn)行分類。
目前,中文反諷的文章較少,其數(shù)據(jù)也未公開,因此需要人工標(biāo)注。本文在電影、汽車、奧運(yùn)會、春晚等領(lǐng)域收集了20萬條微博數(shù)據(jù),人工標(biāo)注了其中15 000條微博。由于有些微博中包含多個句子,因此共標(biāo)注了39 822條帶有情感的句子,其中包含反諷的句子有2 398個,占帶情感總句子數(shù)的6.02%,說明在微博中反諷句子的分析是不可忽視的。
反諷語料的句子標(biāo)注過程: 將反諷看作二分類問題,若為反諷標(biāo)注標(biāo)簽為1,否則標(biāo)注標(biāo)簽為0。另外,在標(biāo)注情感的同時直接標(biāo)注是否為反諷。但標(biāo)注情感標(biāo)簽時,不區(qū)分句子是否包含顯式情感詞,完全通過人工判定,將其情感類別標(biāo)注為消極、積極或者中性。為了保證標(biāo)注的質(zhì)量,減少人工判定的偏差,在標(biāo)注過程中,采用交叉檢驗(yàn)。存在觀點(diǎn)不一致時進(jìn)行討論,統(tǒng)一認(rèn)識。為了防止實(shí)驗(yàn)數(shù)據(jù)集類別傾斜,影響分類的性能,需要將數(shù)據(jù)的類別平衡化,從非反諷數(shù)據(jù)集中任意抽取2 398條句子,使得中文反諷數(shù)據(jù)集最終由反諷和非反諷句子各為2 398條構(gòu)成。部分反諷語料的鏈接如下: https://pan.baidu.com/s/1ueThtdKHvtNCdhR3v0OVBQ。
數(shù)據(jù)集中最長的微博包含132個詞,Word Embedding設(shè)為300 維,即n=132,v=300。實(shí)驗(yàn)采用五次交叉驗(yàn)證,即從數(shù)據(jù)集中隨機(jī)抽取1/5作為測試集,剩下的4/5作為訓(xùn)練集。實(shí)驗(yàn)中模型卷積窗口大小為3,4,5,每種窗口128個,學(xué)習(xí)率0.001,正則化系數(shù)λ為10-8,訓(xùn)練迭代次數(shù)為50,dropout率為0.5。
為了驗(yàn)證本文方法的有效性,對中文數(shù)據(jù)集設(shè)置了三組實(shí)驗(yàn)。
(1) 語言特征有效性驗(yàn)證
本實(shí)驗(yàn)是對比詞袋模型(BOW)與結(jié)合語言特征的詞袋模型(BOW+TZ),分類器采用支持向量機(jī)(SVM)、樸素貝葉斯(NB)和隨機(jī)森林(RF)三種方法,實(shí)驗(yàn)設(shè)置如表2所示,實(shí)驗(yàn)結(jié)果如表3所示。
表2 第一組實(shí)驗(yàn)設(shè)置說明
表3 第一組實(shí)驗(yàn)結(jié)果比較
由表3可以看出,結(jié)合了反諷特征的詞袋模型(BOW+TZ)的反諷識別準(zhǔn)確率和召回率優(yōu)于單獨(dú)使用詞袋模型(BOW)的機(jī)器學(xué)習(xí)方法,而且召回率提升較為明顯。說明僅通過傳統(tǒng)的詞袋模型不能反映句子中上下文的語義信息。另外,微博中反諷表達(dá)具有復(fù)雜性,單純通過詞語難以識別反諷,而選取反諷的語言特征可以有效地緩解這一問題。為了具體分析其性能,以五次交叉驗(yàn)證的一次實(shí)驗(yàn)結(jié)果為例。詞袋模型與結(jié)合語言特征的詞袋模型在分類器SVM下的混淆矩陣對比,如表4所示。
表4 在SVM分類器下混淆矩陣對比
從表4的實(shí)驗(yàn)結(jié)果可以看出,加入反諷語言特征后的SVM(BOW+TZ+SVM)能夠多識別出68條反諷句,說明了人工選取的語言特征是有效的。例如可以識別出“感謝鐵道部,居然足足省了五毛!”。
(2) Word Embedding詞向量有效性驗(yàn)證
本實(shí)驗(yàn)是將整個句子進(jìn)行向量化表示,對比隨機(jī)初始化詞向量(R-Word2Vec-S+CNN)和使用特定領(lǐng)域數(shù)據(jù)預(yù)訓(xùn)練詞向量(S-Word2Vec-S+CNN)的性能。其中,預(yù)訓(xùn)練詞向量是在20萬條微博數(shù)據(jù)的語料上,采用3.1節(jié)介紹的詞嵌入方法所得。實(shí)驗(yàn)的分類器都是在CNN的深度學(xué)習(xí)框架下進(jìn)行,實(shí)驗(yàn)結(jié)果如表5所示。
表5 第二組實(shí)驗(yàn)結(jié)果比較
由表5可以看出,通過微博特定領(lǐng)域預(yù)訓(xùn)練詞向量能夠捕捉詞語間的關(guān)聯(lián)關(guān)系,較好地刻畫微博中詞語分布,使得實(shí)驗(yàn)性能有較大幅度的提升。同時與表3中最好的傳統(tǒng)機(jī)器學(xué)習(xí)方法(BOW+TZ+SVM)相比,性能也有較大的提升,說明深度學(xué)習(xí)能夠通過低層特征組合形成更加抽象的高層特征,用于挖掘出句子的深層語義信息,進(jìn)而學(xué)習(xí)到有用的隱式特征,提高了分類的準(zhǔn)確性。因此,后續(xù)第三組實(shí)驗(yàn)中的詞向量均采用本節(jié)的預(yù)訓(xùn)練方式。
(3) 融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)模型的有效性驗(yàn)證
為了驗(yàn)證融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)模型的有效性,本實(shí)驗(yàn)與僅輸入語言特征的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行對比,且與文獻(xiàn)[12]采用的CRF模型也進(jìn)行了比較。實(shí)驗(yàn)設(shè)置如表6所示,實(shí)驗(yàn)結(jié)果如表7所示。
表6 第三組實(shí)驗(yàn)設(shè)置說明
表7 第三組實(shí)驗(yàn)結(jié)果比較
實(shí)驗(yàn)結(jié)果表明,僅采用特征詞向量(S-Word2Vec-TZ+CNN)的結(jié)果最差,說明反諷的結(jié)構(gòu)比較復(fù)雜,單獨(dú)使用反諷特征構(gòu)成的特征矩陣難以刻畫句子序列的深層語義信息,進(jìn)而無法體現(xiàn)深度學(xué)習(xí)的優(yōu)勢。融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)(S-Word2Vec-S+S-Word2Vec-TZ+CNN)實(shí)驗(yàn)結(jié)果最好,說明句子的矩陣表示S經(jīng)過池化產(chǎn)生的表示向量p和特征的矩陣表示T經(jīng)過池化產(chǎn)生的表示向量p,在連接融合層進(jìn)行拼接后,能夠增大某種隱式反諷特征的權(quán)重,同時結(jié)合CNN能夠獲取深層語義的優(yōu)點(diǎn),從而提高分類的準(zhǔn)確率。以五次交叉驗(yàn)證中的一次實(shí)驗(yàn)結(jié)果為例,對比是否融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)結(jié)構(gòu)的混淆矩陣如表8所示。
表8 融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)混淆矩陣對比
由表8可以看出,利用S-Word2Vec-S+CNN比表4中的采用傳統(tǒng)機(jī)器學(xué)習(xí)方法(BOW+SVM)多識別出115條反諷,同時非反諷也多識別出42條,說明神經(jīng)網(wǎng)絡(luò)能夠自動地獲取有效特征的反諷,例如,“這些年,有馮鞏在,我對春晚能否無聊一直比較放心”。融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)(S-Word2Vec-S+S-Word2Vec-TZ+CNN)比沒有融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)(S-Word2Vec-S+CNN)多識別出44條反諷, 說明語言特征是有效的,例如,“矮油你是攝影記者里文字最好的,文字里面攝影最好的”。
我們從實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),雖然本文反諷識別的性能還是不錯的,但也存在一類需要常識背景才能識別的反諷句,例如: “在春晚現(xiàn)場熱烈的氣氛下,這位大姐終于睡著了?!痹谡G闆r下,在“春晚現(xiàn)場熱烈的氣氛下”是不可能睡著的,這個句子和常識相悖,是反諷句,但是我們選取的語言特征僅僅是句子中的一些詞、短語和標(biāo)點(diǎn)符號,加上訓(xùn)練的數(shù)據(jù)集較小,深度學(xué)習(xí)沒有學(xué)到相應(yīng)的特征,導(dǎo)致這類反諷句識別錯誤。同時另一類需要微博上下文語境才能識別的反諷句。例如: “希望春晚能夠看到這個節(jié)目,我要上人大……”。這句話利用本文的方法識別為非反諷,其原因是該微博的上文為: “新聞?wù)f,人民大學(xué)在自主招生中勇于突破,大膽撈錢,11歲的富二代,7歲開奧迪,家庭有背景,人大就讓娃娃讀了本科!”如果將該微博的上文和該微博一起作為測試句,就能識別出該句應(yīng)該為反諷。另外,實(shí)驗(yàn)結(jié)果還發(fā)現(xiàn)某些人工選取的特征會對非反諷的識別造成干擾,例如: “刷微博,看春晚,微博神吐槽讓春晚精彩不斷!”本身應(yīng)為非反諷句,在融合反諷的語言特征后(S-Word2Vec-S+S-Word2Vec-TZ+CNN)被識別為反諷句,從而降低了非反諷識別的精度。
本文研究了微博這一特定領(lǐng)域中反諷的識別,簡要介紹了當(dāng)前中英文反諷的研究現(xiàn)狀,根據(jù)中文特點(diǎn)總結(jié)了七種反諷的語言特征,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢提出了融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)的反諷識別方法。實(shí)驗(yàn)結(jié)果表明,深度學(xué)習(xí)框架能夠大幅度地提升反諷識別的精度,融合語言特征后實(shí)驗(yàn)效果能獲得進(jìn)一步的提升。然而,本文還存在著一些不足,對于需要常識背景的反諷句以及需要微博上下文語境的反諷句實(shí)驗(yàn)的效果都不理想,因此這兩方面是我們下一步努力的方向,同時構(gòu)建更豐富的反諷語料庫也是我們下一步重點(diǎn)研究的工作。