文 治,李 旸,王素格,2,廖 健,陳 鑫
(1. 山西大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,山西 太原 030006;2. 山西大學(xué) 計(jì)算智能與中文信息處理教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030006)
文本情感分析是指通過對(duì)文本的主觀性分析發(fā)現(xiàn)作者所表達(dá)的情感傾向。依據(jù)文本中是否包含有顯性情感詞,將其又分為顯示情感分析和隱式情感分析[1]。隨著情感分析的研究不斷深入,人們開始更多的關(guān)注隱式情感分析。我們通過對(duì)真實(shí)微博語料的標(biāo)注,發(fā)現(xiàn)反問句在隱式情感句中占有12.31%,可見對(duì)反問句的研究也是隱式情感分析的一個(gè)不可或缺的問題。反問句作為一種間接言語行為[2],所表達(dá)的真實(shí)意圖是不同于其字面含義的。如果無法正確地識(shí)別反問句就可能對(duì)情感分析任務(wù)造成一定的偏差,甚至錯(cuò)誤。因此,有效地對(duì)反問句進(jìn)行識(shí)別,具有較大的應(yīng)用價(jià)值,它可以幫助企業(yè)正確理解用戶對(duì)其產(chǎn)品和服務(wù)的態(tài)度,并做出正確的決策。例如,“售后服務(wù)工作人員來電質(zhì)問我們半天,要知道哪里壞了,知道怎么弄的話,還要你們干嘛呢?”,這條評(píng)論表達(dá)了用戶對(duì)售后服務(wù)強(qiáng)烈的不滿,如果公司能夠正確地了解用戶態(tài)度并及時(shí)做出補(bǔ)救策略,可以有效地避免公司客戶的流失。
目前,對(duì)于漢語反問句的研究大都集中在語言學(xué)領(lǐng)域,包括反問句、疑問句與陳述句的區(qū)別、反問句句式結(jié)構(gòu)、反問句的語用價(jià)值以及反問句的標(biāo)記等[3],并且取得了豐碩的研究成果。呂叔湘[4]先生就反問句和疑問句曾指出“反問和詢問是作用的不同,在句子形式上并無差別?!?,即反問句與疑問句就表面句式結(jié)構(gòu)而言是非常相似的,僅從句式結(jié)構(gòu)對(duì)反問句識(shí)別會(huì)造成混淆。劉欽榮[5]認(rèn)為反問句有其特有的表達(dá)形式,這為我們進(jìn)行自動(dòng)反問識(shí)別研究提供了一定的理論支持。他認(rèn)為反問與疑問句的不同是在語義不發(fā)生變化的情況下,反問句的特指問和是非問是可以互相變換的,甚至特指問內(nèi)部有的也可以互換。而疑問句則沒有這樣的特性。從反問句本身出發(fā),黃伯榮等人[6]認(rèn)為反問是無疑而問;明知故問即作者在已經(jīng)知道了答案的情況下發(fā)出詢問,但并不需要從他人那里獲取答案。殷樹林[7]則結(jié)合反問的性質(zhì)特征得出了反問的定義,即指反問句是對(duì)其形式有所否定的無疑而問的問句。從語用學(xué)的角度,許皓光[8]認(rèn)為反問中的反問語氣是至關(guān)重要的,他在大量反問句的研究基礎(chǔ)上,對(duì)反問句語義語用功能進(jìn)行了概述,并且提出了構(gòu)成5種反問語氣的主要因素有語言環(huán)境的作用、副詞的使用、語句重音轉(zhuǎn)移、語序變化和詞語意義的虛化。另外,徐思益[9]、蘇英霞[10]、史金生[11]和柴森[12]等從探討反問句的結(jié)構(gòu)特點(diǎn)入手,與一般疑問句的結(jié)構(gòu)相比較,總結(jié)了一些反問句特有的表達(dá)式,并分析了它們的語義語用特點(diǎn)。此外,有些研究者從反問句標(biāo)記[13-14]的角度對(duì)反問句進(jìn)行研究,結(jié)合反問句特有的句式結(jié)構(gòu)對(duì)反問句進(jìn)行標(biāo)記,并且總結(jié)了四類反問句的標(biāo)記,分別是副詞類、疑問代詞類、雙音化詞和固定短語類。上述語言學(xué)家的大量研究成果雖不能直接運(yùn)用到計(jì)算機(jī)自動(dòng)識(shí)別反問句,但對(duì)反問句識(shí)別的任務(wù)提供了語言學(xué)基礎(chǔ),使得句式結(jié)構(gòu)可以作為自動(dòng)識(shí)別反問句重要特征之一。
反問句的自動(dòng)識(shí)別任務(wù)要求計(jì)算機(jī)能夠通過文本判別其是否為反問句。傳統(tǒng)的詞袋模型(bag of words,BOW)在對(duì)句子表示時(shí),僅僅把句子看作是詞的集合,并不考慮句中詞序和句法等要素,使得抽象詞語的語義表示特征不夠充分,且存在表示向量高維和稀疏等問題。而Mikolov在2013年提出了Word2Vec[15],該方法是通過對(duì)大量文本學(xué)習(xí),利用上下文信息有效的提取詞的語義特征,并將其映射到n維特征空間,再利用空間向量的距離,用于度量詞語之間的語義相似度。這種方法能夠?qū)υ~語的語義信息進(jìn)行有效表示,并將這種表示應(yīng)用于多種自然語言處理任務(wù)。例如,分類、聚類、同義詞獲取和機(jī)器翻譯等。卷積神經(jīng)網(wǎng)絡(luò)[16-17](convolutional neural network,CNN)具有捕獲局部特征的能力,Yoon[18]曾在2014年首次將CNN應(yīng)用于句子分類中,它通過利用CNN中的卷積層、池化層和全連接層抽取句子特征,獲得句子表示,最后通過一個(gè)分類器對(duì)句子進(jìn)行分類。隨后,在此基礎(chǔ)上,Kalchbrenner等[19]提出了一種動(dòng)態(tài)卷積神經(jīng)網(wǎng)絡(luò)(dynamic convolutional neural network,DCNN),采用Dynamick-Max Pooling返回K個(gè)最大值的子序列,在一定程度上保留了詞序信息。與CNN不同,循環(huán)神經(jīng)網(wǎng)絡(luò)RNN[20-22](recurrent neuron network)的優(yōu)勢(shì)是對(duì)序列化數(shù)據(jù)進(jìn)行建模,且能夠捕獲數(shù)據(jù)的長(zhǎng)期依賴,但是由于它不能夠并行運(yùn)行,因此,RNN的訓(xùn)練時(shí)間往往要比CNN花費(fèi)得多。
因此,本文將反問句中特定的句式結(jié)構(gòu)特征和Word2Vec詞的分布式向量的語義信息進(jìn)行聯(lián)合表示,再結(jié)合卷積神經(jīng)網(wǎng)絡(luò)捕獲特征的能力,建立了融合反問句特征的卷積神經(jīng)網(wǎng)絡(luò)模型,用于對(duì)中文反問句的自動(dòng)識(shí)別。
反問句識(shí)別就是判斷一個(gè)句子是反問句還是非反問句,我們將其看作二分類問題,其關(guān)鍵是考察反問句與非反問句存在哪些不同的特征。由文獻(xiàn)[3]可知,反問句在句式結(jié)構(gòu)和語義上有鮮明的特點(diǎn)。在句式結(jié)構(gòu)上,反問句有其特定的句式結(jié)構(gòu);在語義上,反問句是對(duì)語義前提的判斷,且反問句表達(dá)的真實(shí)意圖與字面意思相反。因此,我們從結(jié)構(gòu)和語義兩個(gè)方面對(duì)反問句識(shí)別任務(wù)開展研究。
本文從兩方面對(duì)反問句的結(jié)構(gòu)進(jìn)行分析,即顯式詞語角度(反問句中包含的關(guān)鍵詞)和特定句式結(jié)構(gòu)。
2.1.1 反問包含的顯式詞語與符號(hào)特征
反問句中的顯式詞語與符號(hào)特征是指那些能夠表明句子類型或?qū)Ψ磫柧渥R(shí)別起到一定作用的句子成分,如“難道、怎么”等詞語。語言學(xué)家曾從反問句標(biāo)記的角度對(duì)反問的顯式特征開展研究[9,15],并取得了一定的成果。我們搜集、歸納并整理了常用的反問句顯式特征,如表1所示。
表1 反問的顯式詞語與符號(hào)特征表
2.1.2 反問的句式結(jié)構(gòu)
反問句中存在一些特定的句式結(jié)構(gòu),語言學(xué)上也稱之為反問句特有的句式結(jié)構(gòu)。殷樹林等人[23]曾通過對(duì)大量語料整理得出17種特定的反問句式結(jié)構(gòu),然而他們的語料主要是來源于文學(xué)作品,本文結(jié)合對(duì)新浪微博中的語料中反問句的標(biāo)注結(jié)果,又搜集整理出一些反問特有的句式結(jié)構(gòu),共得到28種特定句式結(jié)構(gòu)。我們選取部分句式結(jié)構(gòu)及對(duì)應(yīng)的例句在表2中列出。
表2 反問句特有的句式結(jié)構(gòu)及其例句(部分)
續(xù)表
我們對(duì)搜集得到的28種反問句特定的句式結(jié)構(gòu),在標(biāo)注語料上進(jìn)行置信度和支持度的計(jì)算。每條句式結(jié)構(gòu)的置信度和支持度的計(jì)算方式如式(1)和(2)所示,其中yt表示滿足句式結(jié)構(gòu)且是反問句;nt表示不滿足句式結(jié)構(gòu)但卻是反問句;yf表示滿足句式結(jié)構(gòu)但不是反問句;nf表示不滿足句式結(jié)構(gòu)也不是反問句。
本文對(duì)上文提及的28種特定句式結(jié)構(gòu)進(jìn)行了置信度和支持度計(jì)算,選取其中置信度大于70%的特定句式結(jié)構(gòu),如表3所示。
表3 特定句式結(jié)構(gòu)的置信度和支持度
從表3中可以看出,反問句的特定句式結(jié)構(gòu)具有置信度較高且支持度較低的特點(diǎn)。如果我們利用這些句式結(jié)構(gòu)進(jìn)行反問句的識(shí)別任務(wù),雖然能夠保證識(shí)別句子的正確率,但是由于句式結(jié)構(gòu)的低支持度,可能出現(xiàn)僅識(shí)別少部分的固定句式結(jié)構(gòu)的反問句。
反問句是通過問句的形式進(jìn)行確定性的陳述。根據(jù)文獻(xiàn)[6],反問句的特點(diǎn)是無疑而問、表示否定,即反問句并不表示真實(shí)的疑問,且反問句想要表達(dá)的真實(shí)意圖是與其字面意思恰好相反。例如,下面的例句。
例1這樣缺斤少兩的怎么讓消費(fèi)者去信任你的商品質(zhì)量呢?
例2難道在確保已出線時(shí),就不能保留體力休養(yǎng)傷體嗎?
上述例1中,旨在說明由于“缺斤少兩”使消費(fèi)者無法信任產(chǎn)品質(zhì)量,但句中并沒有出現(xiàn)任何對(duì)信任的否定修飾,而是通過“缺斤少兩”作為語義前提推斷出對(duì)產(chǎn)品質(zhì)量的不信任。整個(gè)句子通過肯定的字面含義表達(dá)其否定的真實(shí)意圖。例2中,作者想要表達(dá)在“確保出線”的前提下,應(yīng)該“保留體力休養(yǎng)”,但他沒有直接說明而言通過一種否定的形式來表達(dá)。通過上述兩個(gè)例句,能夠看出反問句存在語義前提,且反問句包含有字面意義和隱含意義,而隱含意義與字面意義又恰好相反。
CNN已經(jīng)被廣泛地應(yīng)用在自然語言的句子建模中。首先將詞通過上下,分布表示為固定維度的詞向量。然后利用不同大小的卷積核對(duì)句子的矩陣進(jìn)行卷積,獲取能代表句子語義的局部特征,再通過池化層選取包含信息最豐富的特征來完成句子的建模。為了高效識(shí)別反問句,根據(jù)第2節(jié)介紹的反問句的特征,本文將反問特征融合到卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,用于識(shí)別反問句。該方法是通過卷積核對(duì)句子包含的反問詞進(jìn)行卷積操作,引入反問的特征,然后再通過詞向量卷積生成的語義特征共同作用生成句子的表示,最后通過softmax分類器對(duì)句子分類。下面將詳細(xì)介紹融合反問特征的卷積神經(jīng)網(wǎng)絡(luò)模型。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 融合反問特征的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
設(shè)S=(w1,w2,…,wn)為由n個(gè)詞組成,其中wi表示第i個(gè)詞。利用每個(gè)wi(i=1,2,…,n)生成k維向量,將wi的向量進(jìn)行拼接得到句子的向量矩陣S,其表現(xiàn)形式如式(3)所示。
(3)
利用式(3),句子可以得到的結(jié)構(gòu)化表示的句子向量矩陣S,將其作為卷積神經(jīng)網(wǎng)絡(luò)模型的輸入。
(1) 卷積層:基于卷積核的反問句語義特征提取。
利用不同大小的卷積核對(duì)反問句的句子向量矩陣S進(jìn)行卷積,將句子的局部語義信息進(jìn)行融合。設(shè)卷積核為c,大小為l×k。利用卷積核c對(duì)句子S進(jìn)行卷積,卷積過程見式(4)。利用g表示一個(gè)卷積核卷積生成新的語義融合向量。
其中,式(4)中n表示句子的長(zhǎng)度,·表示向量對(duì)應(yīng)元素的乘積,bi表示卷積核的偏置。式(5)中g(shù)∈Rn-l+1表示n-l+1的列向量。f表示激活函數(shù),這里我們采用ReLU函數(shù),使用t個(gè)卷積窗口對(duì)句子進(jìn)行卷積,生成t個(gè)新的語義向量,將其拼接得到矩陣G(n-l+1)×t=(g1,g2,…,gt),矩陣G的轉(zhuǎn)置變換GT的展現(xiàn)形式見式(6)。
(6)
(2) 池化層:反問句中有效語義信息特征提取。
該層通過池化操作選取最具代表性的反問句的全部語義信息作為有效特征。這里采用最大池化操作,即從生成的語義向量中選取出最大值,認(rèn)為它所包含的語義信息最為豐富,最能夠代表反問句S的特征。用M表示池化操作后產(chǎn)生的語義特征向量,具體操作如式(7)所示。
(7)
(3) 連接層:融合語義特征向量提取。
連接層是將不同大小卷積窗口卷積和池化后得到的反問的語義特征向量進(jìn)行融合,共同作用得到反問句S的表示向量。于是將上一步池化后得到的所有反問特征向量進(jìn)行全連接操作,最終得到句子表示向量,此處用S表示,表現(xiàn)形式如式(8)所示。
(8)
其中,Mi表示第i個(gè)卷積窗口卷積池化操作后產(chǎn)生的向量,Wi表示m×d的系數(shù)矩陣。
(4) 反問句特征的卷積與池化:反問句中顯示特征提取。
對(duì)反問句中存在特定的句式結(jié)構(gòu)、標(biāo)記及符號(hào)等特征。在對(duì)反問句的識(shí)別過程中,如果能夠有效正確地識(shí)別這些特征,將有助于準(zhǔn)確地判斷句子的類別。于是本文利用2.1.1節(jié)提及的反問顯式詞語與標(biāo)記,抽取出句子中的反問標(biāo)記,對(duì)抽取出的特征詞進(jìn)行卷積、池化和全連接操作,得到新的特征向量,將其融入到句子表示中,以加強(qiáng)這些特征詞對(duì)句子表示影響。對(duì)反問句的特征進(jìn)行如上述卷積操作、池化操作和連接操作,最后得到特征表示f。
(5) 融合層:語義特征與反問特征進(jìn)行融合表示。
該層是將上述經(jīng)過操作(3)得到句子表示S以及經(jīng)過操作(4)得到的反問特征表示f進(jìn)行拼接,得到基于特征融合的句子表示Sf,如式(9)所示,⊕表示向量的拼接。
Sf=S⊕f
(9)
(6) softmax層:對(duì)句子表示進(jìn)行反問句識(shí)別。
該層經(jīng)過操作(5)步驟,獲取基于特征融合的句子表示Sf,并將其輸入到softmax層判斷句子是否為反問句,其判斷依據(jù)如式(10)所示。
y=softmax (WSf+b)
(10)
(1) 數(shù)據(jù)集及評(píng)價(jià)指標(biāo)
實(shí)驗(yàn)過程中,我們隨機(jī)將數(shù)據(jù)集的80%作為訓(xùn)練集,10%作為驗(yàn)證集,10%作為測(cè)試集,反復(fù)實(shí)驗(yàn)10次,求取各個(gè)衡量指標(biāo)的平均值。實(shí)驗(yàn)結(jié)果采用的評(píng)價(jià)指標(biāo)為精確率(precision)、召回率(recall)和F1值。
(2) 模型參數(shù)設(shè)置
本文利用的是卷積神經(jīng)網(wǎng)絡(luò)(CNN),其參數(shù)是在驗(yàn)證集上進(jìn)行了大量實(shí)驗(yàn),并進(jìn)行參數(shù)調(diào)整。實(shí)驗(yàn)過程中的參數(shù)更新采用Kingma[24]提出的Adam Optimzation進(jìn)行梯度下降更新模型參數(shù)。通過多次實(shí)驗(yàn),選取最優(yōu)的模型參數(shù):詞向量維度為300;過濾器的滑動(dòng)窗口大小為3,4,5;過濾器數(shù)量為128;批處理大小(batch size)為100;迭代次數(shù)為50;學(xué)習(xí)率為0.001。在CNN[W]、CNN[F]、CNN[W+F]_1、CNN[W+F]_2實(shí)驗(yàn)中,模型都采用了相同的參數(shù)。
參考文獻(xiàn)[25-26]利用表情符對(duì)情感語料自動(dòng)標(biāo)注建立偽數(shù)據(jù),我們也利用2.1.2節(jié)的句式結(jié)構(gòu),選擇具有高置信度反問句的特定句式結(jié)構(gòu),對(duì)未標(biāo)注的語料進(jìn)行自動(dòng)標(biāo)注,用于獲取大量的偽數(shù)據(jù)。為了驗(yàn)證偽數(shù)據(jù)對(duì)實(shí)驗(yàn)的影響,本文在原有手工標(biāo)注的數(shù)據(jù)集中分別嘗試添加了500、1 000、1 500、2 000條偽反問數(shù)據(jù)。另外,為了保證數(shù)據(jù)的平衡,又添加了與之相應(yīng)的非反問句。將這些真實(shí)數(shù)據(jù)和偽數(shù)據(jù)共同輸入到本文提出的模型訓(xùn)練中,實(shí)驗(yàn)結(jié)果如表4所示。
表4 不同偽數(shù)據(jù)的數(shù)量對(duì)比實(shí)驗(yàn)結(jié)果
從表4可以看出,若添加了偽數(shù)據(jù),能夠得到較高的召回率,其主要原因是偽數(shù)據(jù)具有特定的結(jié)構(gòu),然而,精確率卻較低,其原因是將真實(shí)數(shù)據(jù)和偽數(shù)據(jù)共同用于模型訓(xùn)練,使得隨著偽數(shù)據(jù)的增多引入錯(cuò)誤信息的可能也會(huì)增多。因此,為了關(guān)注反問句識(shí)別的精確率,后續(xù)實(shí)驗(yàn)中并沒有使用偽數(shù)據(jù)。
為了驗(yàn)證本文提出方法的有效性,選取如下的不同方法進(jìn)行比較實(shí)驗(yàn)。
(1) 基于規(guī)則的方法(RB)。該方法是利用2.1.2節(jié)中所提及的28種反問句的特定句式結(jié)構(gòu),首先將這些句式結(jié)構(gòu)改寫成正則表達(dá)式,然后利用正則表達(dá)式對(duì)大量文本進(jìn)行匹配,若句子能夠與任何一條正則表達(dá)式相匹配,則認(rèn)為該句子是反問句,否則不是反問句。
(2) 基于SVM文本分類方法(SVM)。該方法主要是通過文本特征提取、文本特征表示、特征歸一化處理將文本轉(zhuǎn)化為特征向量,最后實(shí)現(xiàn)句子的反問句識(shí)別。即首先對(duì)文本進(jìn)行分詞、去停用詞等預(yù)處理,所有的詞看作是特征集。然后從這些特征集中選取具有代表性的詞。本文采用卡方檢驗(yàn)進(jìn)行特征選取。對(duì)選取的特征進(jìn)行歸一化處理,計(jì)算得到特征權(quán)重。對(duì)于給定文本按照選取的特征轉(zhuǎn)化成向量,再使用SVM進(jìn)行分類。SVM是通過結(jié)構(gòu)風(fēng)險(xiǎn)最小化來找到一個(gè)最優(yōu)超平面,使其達(dá)到最優(yōu)分類效果。本方法的特征利用卡方檢驗(yàn)選取1 000個(gè)詞作為特征集,利用tf-idf對(duì)選取的特征進(jìn)行權(quán)重計(jì)算,實(shí)驗(yàn)采用的是由臺(tái)灣大學(xué)開發(fā)的LIBSVM[注]https://www.csie.ntu.edu.tw/~cjlin/libsvm/工具包,選用的SVM核函數(shù)是RBF核函數(shù)。
(3) 基于CRF的反問句的識(shí)別。該方法將反問句的自動(dòng)識(shí)別問題轉(zhuǎn)化為序列標(biāo)注問題,采用IOB2的標(biāo)注集合來標(biāo)記功能塊。每個(gè)標(biāo)記由兩部分組成,第一部分表示功能塊的位置,第二部分表示功能塊的類型標(biāo)記,兩部分之間通過“-”連接。實(shí)驗(yàn)中采用的是CRF++[注]https://sourceforge.net/projects/crfpp/。
(4) 基于詞語的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(BiLSTM)[27]。該方法中模型超參數(shù)按文獻(xiàn)[28]設(shè)置,設(shè)置詞向量的維度為300,隱藏狀態(tài)的維度為1 000,batch size為64,dropout算法的比率設(shè)置為0.5,模型的學(xué)習(xí)率設(shè)置為0.001。
(5) 基于詞語的卷積神經(jīng)網(wǎng)絡(luò)(CNN[W])[18]。該方法利用預(yù)訓(xùn)練的Word2Vec將句子轉(zhuǎn)化成連續(xù)的詞向量,將其作為傳統(tǒng)的CNN模型的輸入。
(6) 基于反問句的顯示特征詞、符號(hào)作為卷積神經(jīng)網(wǎng)絡(luò)(CNN[F])輸入特征。該方法利用第2.1.1節(jié)中提及的反問顯式詞語與標(biāo)記,作為特征對(duì)句子的表示。即將每個(gè)句子表示成基于特征詞的詞向量,然后輸入到傳統(tǒng)的CNN模型中。
(7) 拼接反問特征的卷積神經(jīng)網(wǎng)絡(luò)(CNN[W+F]_1)。該方法利用預(yù)訓(xùn)練的Word2Vec轉(zhuǎn)化成連續(xù)的詞向量,再利用2.1.1節(jié)中的反問的顯式詞語和標(biāo)記作為抽取反問句的特征,將詞向量和特征在表示層進(jìn)行拼接,得到融合反問句特征的詞向量,然后將拼接后的向量作為CNN模型的輸入,再進(jìn)行卷積、池化和全連接操作。最后通過softmax分類器對(duì)句子進(jìn)行分類預(yù)測(cè)。
(8) 融合反問特征的卷積神經(jīng)網(wǎng)絡(luò)(CNN[W+F]_2)。該方法是利用本文3.2.2節(jié)提出的融合反問特征的卷積神經(jīng)網(wǎng)絡(luò)的反問句識(shí)別。首先將句子利用預(yù)訓(xùn)練的Word2Vec轉(zhuǎn)化成連續(xù)的詞向量,然后依據(jù)2.1.1節(jié)的反問顯式詞語與標(biāo)記抽取出句子中反問句的特征,分別利用卷積核對(duì)詞向量和特指特征的詞向量進(jìn)行卷積,將卷積生成的新的特征向量進(jìn)行拼接,最后將拼接后的向量輸入到softmax分類器中對(duì)句子進(jìn)行分類預(yù)測(cè)。
利用上述設(shè)置的8個(gè)方法的實(shí)驗(yàn),獲得的實(shí)驗(yàn)結(jié)果見表5。
表5 8種方法識(shí)別反問句的實(shí)驗(yàn)結(jié)果
從表5中,我們可以得出:
① SVM、BiLSTM、CRF和CNN[W]都是利用句子中的詞語特征進(jìn)行反問句識(shí)別,CNN[W]的實(shí)驗(yàn)效果明顯優(yōu)于SVM、BiLSTM和CRF,這是因?yàn)榛赟VM的反問句識(shí)別僅僅考慮了特征是否存在,并沒有考慮句子的語義信息,BiLSTM中雖然也考慮了句子語義信息,但由于微博語料中反問常常存在于一個(gè)分句中,若句子較長(zhǎng)時(shí),一些詞語會(huì)隨句子長(zhǎng)度的增長(zhǎng)對(duì)句子表示的影響較小,這樣就會(huì)對(duì)句子的識(shí)別造成錯(cuò)誤,而CNN[W]是對(duì)含有語義信息的詞向量進(jìn)行操作,在卷積過程中將每個(gè)子句的語義信息充分融入到句子表示中。因此,實(shí)驗(yàn)效果明顯優(yōu)于SVM、BiLSTM和CRF。
② RB和CNN[F]都利用了反問句的特征,但RB的實(shí)驗(yàn)效果較差,主要原因是RB是基于正則表達(dá)式的匹配,僅考慮了句式結(jié)構(gòu)且比較苛刻、不夠靈活,造成了反問句識(shí)別的召回率較低。通過比較RB和CNN[F]可以看出,在對(duì)反問句進(jìn)行識(shí)別時(shí),使用語義信息可以提升反問句識(shí)別的效率。
③ 從CNN算法來看,四個(gè)CNN的對(duì)比實(shí)驗(yàn)結(jié)果在F1值指標(biāo)下由優(yōu)到劣的順序?yàn)镃NN[W+F]_2>CNN[W+F]_1>CNN[F]>CNN[W]。對(duì)于同時(shí)考慮反問特征和詞向量,CNN[W+F]_1的精確率和召回率分別達(dá)到85.7%、84.7%。CNN[W+F]_2的精確率高達(dá)89.5%,而召回率與CNN[W+F]_1基本持平,達(dá)到84.2%。CNN[W+F]_2算法的召回率低于CNN[F]算法的召回率,這種結(jié)果可能是因?yàn)镃NN[W+F]_2是先通過卷積抽取出詞特征和反問特征共同用于句子表示,當(dāng)較長(zhǎng)句子包含的反問特征較少時(shí),反問特征對(duì)句子表示作用較小,使得模型可能造成分類錯(cuò)誤。
由此可知,在反問句識(shí)別時(shí)中,分別考慮句子的語義和反問的特征,可以對(duì)反問句進(jìn)行有效的表示,從而提升反問句的識(shí)別效果。
為了對(duì)模型分類性能進(jìn)行分析,從模型分類錯(cuò)誤的結(jié)果中隨機(jī)選取了50個(gè)句子。根據(jù)造成模型分類錯(cuò)誤原因的不同將其分為兩類,分別是包含顯式特征和顯式特征缺失。結(jié)合例句對(duì)其進(jìn)行說明。
例3現(xiàn)在這點(diǎn)錢,我選車基本上沒怎么猶豫,直接選了速騰!
例4尊稱路上頭等艙的w12,前臉很霸氣有木有!
例3中存在2.1.1節(jié)提及的反問的顯式詞語符號(hào)特征“怎么”,這些詞語特征對(duì)句子的表示會(huì)產(chǎn)生一定的誤導(dǎo),使得模型將其都分類為反問句。造成這種錯(cuò)誤的原因應(yīng)是模型僅考慮了顯式詞語特征是否存在,沒有考慮這些特征在句子中充當(dāng)?shù)某煞帧H绻軌蛟谀P椭锌紤]到反問句的句法結(jié)構(gòu)的成分特征可能會(huì)對(duì)分類性能有所提升。
另一個(gè)明顯的錯(cuò)誤是對(duì)包含在例4中“有木有”和“是不是”等這一類詞的反問句模型不能對(duì)其進(jìn)行識(shí)別。造成這一錯(cuò)誤的原因是這些特征缺失,而模型在一定程度上要依賴搜集的反問的顯式特征。因此,今后可以通過擴(kuò)充反問的特征來解決這一類問題。
本文針對(duì)社交媒體中反問句,依據(jù)其特有的句式結(jié)構(gòu)、上下文語義相關(guān)的特點(diǎn),設(shè)計(jì)了融合反問特征的卷積神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行中文反問句的識(shí)別。對(duì)于反問句語料較少的情況,可以利用反問句特有的特征搜集語料對(duì)模型進(jìn)行訓(xùn)練。既能解決模型訓(xùn)練中語料不足的問題,又能緩解語料標(biāo)注過程中大量時(shí)間和人力的浪費(fèi)。將本文所提方法應(yīng)用到社會(huì)媒體語料中進(jìn)行反問句的識(shí)別,取得了不錯(cuò)的效果,進(jìn)一步證明了本文所提出的方法的有效性。但本文仍有不足,在模型中僅僅使用了包含顯式詞語和符號(hào)特征的反問的句式結(jié)構(gòu),并沒有考慮到反問句的句法結(jié)構(gòu)特征。在今后研究中可以考慮將反問的句法結(jié)構(gòu)特征和句子語義特征共同作用于句子的表示,并充分利用偽數(shù)據(jù)進(jìn)行模型的訓(xùn)練,以提高反問句的識(shí)別性能。