鄭德權(quán),于 鳳,王賀偉
1.哈爾濱商業(yè)大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,哈爾濱150028
2.哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,哈爾濱150001
本文主要是對文本蘊(yùn)含識別這一自然語言理解任務(wù)進(jìn)行研究,文本蘊(yùn)含這項(xiàng)任務(wù)最早由Dagan 等人提出[1],是研究判斷前提和假說關(guān)系的問題,關(guān)系分為蘊(yùn)含(Entailment)、對立(Contradiction)、中立(Neutral)。假設(shè)前提句記為P,假設(shè)句記為H,蘊(yùn)含指的是由P可以推理H 正確;對立指的是由P 可以推理H 不正確;中立是指由P無法判斷H的真假。
如表1 樣例所示,對于前提句這一描述,因?yàn)槟芡茢唷癙eople are riding bikes”,因此標(biāo)簽為蘊(yùn)含關(guān)系;對于“Men are riding bicycles on the street”,前提句中并沒有指明在何處騎行,但是人們在騎行基本是能推斷,這種情況就是中立關(guān)系;而“A few people are catching fish”這一描述,主要對象是人和前提句一致,但動作是互斥的,因此這樣的判斷為對立關(guān)系。
文本蘊(yùn)含技術(shù)在問答系統(tǒng)、信息抽取、機(jī)器翻譯評價(jià)、學(xué)生評價(jià)系統(tǒng)、自動文本摘要中運(yùn)用廣泛,這些應(yīng)用都面臨著自然語言在表達(dá)形式上的多樣性,即相同含義可以用不同的陳述形式來表達(dá),同時(shí)需要一些廣泛的知識才能推斷文本之間的關(guān)系。在關(guān)系抽取領(lǐng)域,Romano等人將文本蘊(yùn)含技術(shù)引用在模板抽取[2];在學(xué)生評分任務(wù)中,標(biāo)準(zhǔn)答案和學(xué)生回答的蘊(yùn)含關(guān)系可以表明學(xué)生回答的完成情況,Nielsen 等人據(jù)此利用文本蘊(yùn)含識別建立了一套學(xué)生作業(yè)評分系統(tǒng),通過文本蘊(yùn)含技術(shù)進(jìn)行短文本的評分任務(wù)[3]。郭茂盛等人指出文本蘊(yùn)含其實(shí)有三個(gè)研究問題:文本蘊(yùn)含識別、文本對中蘊(yùn)含關(guān)系抽取、文本蘊(yùn)含生成,文本蘊(yùn)含本身就是要實(shí)現(xiàn)一個(gè)基于文本的推理引擎用于語義相關(guān)的實(shí)際任務(wù)[4]。另外隨著人工智能技術(shù)的不斷加深,自然語言處理技術(shù)正不斷地引用到真實(shí)生活中,出現(xiàn)了類似醫(yī)療助手和知識問答機(jī)器人的產(chǎn)品。
基于知識圖譜的自然語言處理技術(shù)是目前的前沿話題,知識圖譜不僅能有助于實(shí)現(xiàn)互聯(lián)網(wǎng)語義搜索,提升搜索質(zhì)量,在智能問答領(lǐng)域也有重要應(yīng)用,其次知識圖譜能有效地進(jìn)行知識融合,將海量的知識轉(zhuǎn)化為結(jié)構(gòu)化的知識圖譜,并提供知識查詢服務(wù)。知識圖譜和深度學(xué)習(xí)的結(jié)合就是如何用向量表示實(shí)體和關(guān)系,這方面,Bordes 等人提出的TransE模型將實(shí)體和關(guān)系進(jìn)行向量化,并且轉(zhuǎn)化成能計(jì)算的格式,然后通過輸入到深度學(xué)習(xí)里進(jìn)行下游任務(wù)的學(xué)習(xí)[5];Glockner 等人通過替換句子中詞匯的方式檢驗(yàn)文本蘊(yùn)含模型對詞匯推理的能力,并發(fā)現(xiàn)現(xiàn)有的模型并不能識別詞匯關(guān)系[6],這就需要將知識引入到神經(jīng)網(wǎng)絡(luò)中,以提升文本蘊(yùn)含中詞對之間的推理能力。
表1 SNLI數(shù)據(jù)樣例
早期對于文本蘊(yùn)含的研究主要是基于統(tǒng)計(jì)的方法,如MacCartney 等人提出的基于短語對齊的文本蘊(yùn)含模型[7],近幾年得益于斯坦福大學(xué)Bowman 等人發(fā)布了570 000 的人工手寫英文句子對的數(shù)據(jù)集SNLI[8],越來越多的基于深度學(xué)習(xí)的方法應(yīng)用到文本蘊(yùn)含的識別中。
Rockt?schel 等人首次將注意力機(jī)制引入文本蘊(yùn)含識別,動機(jī)在于想找到假設(shè)句H中的第k個(gè)詞與前提句P中最相關(guān)的詞構(gòu)成對齊,這樣能加強(qiáng)糅合兩個(gè)句子向量[9]。Chen 等人在Parikh 等人的基礎(chǔ)上進(jìn)一步加強(qiáng)了序列編碼表示模型,提出了混合神經(jīng)推理模型ESIM,使用BiLSTM網(wǎng)絡(luò)對句子進(jìn)行編碼,同時(shí)發(fā)現(xiàn)把句法分析結(jié)果加入到蘊(yùn)含識別中能進(jìn)一步提高準(zhǔn)確率[10-11]。隨后Chen 等人又提出了知識增強(qiáng)的文本蘊(yùn)含模型,將同義詞、反義詞、上位詞、下位詞等詞匯資源以離散的方式引入到之前提出的ESIM 模型中,在小數(shù)據(jù)集情況下結(jié)果有較大的提升,證明了在數(shù)據(jù)集有限的場景下,引入詞匯資源的可用性。Glockner 等人對現(xiàn)有的最高水平的文本蘊(yùn)含進(jìn)行測試,采用抽取前提句,替換其中詞匯來構(gòu)造假設(shè)句的方式,驗(yàn)證文本蘊(yùn)含模型的詞匯推理能力,實(shí)驗(yàn)表明當(dāng)前最優(yōu)的文本蘊(yùn)含模型也下降了很多,證明了目前的文本蘊(yùn)含模型缺乏詞匯的推理能力[6]。
知識圖譜目前的主要表現(xiàn)形式是三元組的形式,包含頭實(shí)體(也稱作前件)、尾實(shí)體(也稱作后件),例如(哈爾濱工業(yè)大學(xué),地點(diǎn),哈爾濱)。
如果使用詞袋模型去表示實(shí)體和關(guān)系,由于實(shí)體的數(shù)量巨大,會出現(xiàn)數(shù)據(jù)的稀疏性,人們受到分布式詞向量的啟發(fā),希望學(xué)習(xí)到實(shí)體和關(guān)系的低維向量表示。為了解決這個(gè)問題陸續(xù)出現(xiàn)了TransE、TransH、TransR、TransD 等有效的解決方案。Bordes 等人提出的TransE模型開創(chuàng)性地將實(shí)體和關(guān)系投影到同一個(gè)向量空間并能通過計(jì)算的方式轉(zhuǎn)化,基本思想是前件的向量表示和關(guān)系向量的表示之和與后件的向量表示越接近越好[12]。Wang等人提出了TransH用于解決多對一以及一對多的多關(guān)系數(shù)據(jù),并認(rèn)為在不同的關(guān)系下實(shí)體應(yīng)該有不同的表示[13]。Lin 等人提出了TransR 模型,此前的TransE 和TransH模型都假設(shè)實(shí)體和關(guān)系在同一個(gè)空間,但是不同的實(shí)體有不同的屬性,不同的關(guān)系也側(cè)重于實(shí)體中不同的屬性,TransR的思想是先將實(shí)體從實(shí)體空間投影到關(guān)系空間,再對兩個(gè)投影過后的實(shí)體進(jìn)行平移操作。
主要研究的是在基于注意力機(jī)制和詞到詞推理的文本蘊(yùn)含識別框架下,如何得到詞對之間的關(guān)系,從而幫助識別整個(gè)句子的類別。這里的輸入是句子之間的詞對,輸出是關(guān)系類別的概率分布,本質(zhì)上也就是獲得相關(guān)詞對的向量表示,把之前從WordNet抽取得到的關(guān)系詞對作為監(jiān)督信息,構(gòu)造分類器分類。
Glockner 等人通過詞匯替換構(gòu)建了需要詞匯推理的數(shù)據(jù)集,之前的經(jīng)典方法例如DAM以及Chen等人提出的ESIM在準(zhǔn)確率上都出現(xiàn)了很大的下降,證明根據(jù)之前的SNLI數(shù)據(jù)集訓(xùn)練得到的文本蘊(yùn)含模型不具有魯棒性,詞向量本身學(xué)習(xí)詞匯關(guān)系的能力也受到質(zhì)疑,所以目前的想法是希望通過例如Wordnet、FreeBase 等知識庫學(xué)習(xí)到詞對之間的推理關(guān)系。這里加入了三大類特征:一種是詞中字符特征;第二種是加入了詞之間的數(shù)學(xué)操作,為了加強(qiáng)詞之間的比較過程;第三種是同義詞簇特征,增加引入到神經(jīng)網(wǎng)絡(luò)的信息。如圖1 所示,分為如下5個(gè)層次。
圖1 基于有監(jiān)督詞對匹配模型
(1)融合字特征的詞編碼層
在加入Pennington等人預(yù)先訓(xùn)練好的Glove詞向量的基礎(chǔ)上[14],本文又加入了詞字符特征。因?yàn)橛⑽牡脑~根特點(diǎn),unknonw-know和unable-able構(gòu)成反義詞,在字符特征上有明確的特征,模型上本文借鑒了文獻(xiàn)[15]在基于字符級卷積神經(jīng)網(wǎng)的文本分類中提出方法,即采用Char-CNN對詞的字符序列做表示學(xué)習(xí),使用CNN對字序列抽取特征,本文使用多種維度卷積核進(jìn)行單個(gè)字、相鄰兩個(gè)字的特征抽取,并使用多個(gè)過濾器filter,maxpooling做特征篩選,從而得到字符向量,再通過全連接層進(jìn)行維度轉(zhuǎn)換。其中,設(shè)置50維的字符向量表示,與詞向量拼接得到最終的詞表示。
(2)詞簇編碼層
實(shí)驗(yàn)發(fā)現(xiàn),單獨(dú)的詞對信息量較少,不足以建模知識庫中復(fù)雜的關(guān)系,另外無法利用詞之間的關(guān)系,所以本文想到詞簇的概念,引入詞的同義詞集的信息。通過WordNet 的同義關(guān)系,分別得到詞a 和詞b 的5 個(gè)同義詞,同樣借助卷積神經(jīng)網(wǎng)和最大池化作為特征抽取器,抽取得到詞簇向量,與之前得到的詞向量拼接。
(3)投影層
該層作為詞向量的映射,因?yàn)檫x擇不修改詞向量進(jìn)行訓(xùn)練,因此加入了投影層,希望學(xué)習(xí)到詞關(guān)于詞對關(guān)系的向量表示,相比加入多層神經(jīng)網(wǎng)絡(luò),本文選擇加入highway 網(wǎng)絡(luò),原因是實(shí)驗(yàn)結(jié)果顯示加入此結(jié)構(gòu)效果相比全連接層較好。公式(1)中的WH表示隱層投影矩陣,之后又把輸入詞直接加入到輸出中,類似LSTM網(wǎng)絡(luò)結(jié)構(gòu)中的輸入門,能一定程度引入輸入的信息,降低深度網(wǎng)絡(luò)的梯度爆炸情況。
(4)比較層
受到Word2vec 中詞類比的靈感,即:king-man+women=Queen,直覺上認(rèn)為詞匯關(guān)系也存在類似現(xiàn)象,同時(shí)也是對詞之間差異的建模,所以將“詞1-詞2”、“詞1*詞2”這兩個(gè)特征加入到輸入中,更多地表示出兩個(gè)詞之間的相似程度。
(5)分類層
這里分類層使用多層神經(jīng)網(wǎng)絡(luò)加上Softmax進(jìn)行分類。因?yàn)橛?xùn)練數(shù)據(jù)是多關(guān)系分類,即兩個(gè)詞對應(yīng)多個(gè)類別,是多標(biāo)簽分類,有的詞對既構(gòu)成同義詞關(guān)系,又構(gòu)成同位詞關(guān)系。公式(2)中的損失函數(shù)選擇Hamming,表示樣本數(shù),nlabels表示標(biāo)簽數(shù)。
首先提出有效地構(gòu)建知識圖譜向量表示的是TransE 模型,對于知識圖譜中的三元組(head,link,tail),其中head表示頭實(shí)體,link表示實(shí)體對之間的關(guān)系,tail表示尾實(shí)體,TransE 的動機(jī)是希望把實(shí)體和關(guān)系建立在一個(gè)向量空間內(nèi),同時(shí)受到Word2vec中的平移不變性的激發(fā),這里目標(biāo)是讓頭實(shí)體和關(guān)系向量的和盡量與尾實(shí)體相接近,同時(shí)通過負(fù)采樣構(gòu)造負(fù)例讓負(fù)例的距離足夠得大。損失函數(shù)如公式(3)所示,通過這個(gè)損失函數(shù),可以學(xué)習(xí)到實(shí)體和關(guān)系向量。但是通過實(shí)踐發(fā)現(xiàn),TransE 對于一對一的關(guān)系能很好地建模,但是對于WordNet 中常見的一對多或多對一的關(guān)系并不能進(jìn)行很好地建模。
但是根據(jù)此前Chen 等使用TransE 的經(jīng)驗(yàn),發(fā)現(xiàn)在文本蘊(yùn)含模型中作用并不大。Chen 等人分析是因?yàn)門ransE 并不能建?!巴辉~”,或者是SNLI 測試集中不需要詞匯推理,但是深入分析發(fā)現(xiàn),TransE 并不那么適合建模WordNet中多對一和一對多的關(guān)系,特別針對想建模的同位詞就是一對多的關(guān)系。例如水果和下位詞蘋果、香蕉的關(guān)系都是下位詞,那么香蕉和蘋果的實(shí)體向量就會非常近,因此選擇了TransR 作為替代,TransR在TransE 的基礎(chǔ)認(rèn)為實(shí)體在不同關(guān)系的預(yù)測應(yīng)該有不同的表示,這里為每個(gè)關(guān)系引入一個(gè)矩陣Ml,把實(shí)體向量映射到關(guān)系空間,如公式(4)所示:
為了完善整個(gè)句子的推理能力,迫切地需要引入具有反義知識的詞表示,根據(jù)調(diào)研發(fā)現(xiàn)有很多關(guān)于反義詞檢測的研究,這里主要是參考Ono等人提出的反義詞建模方法[16]。該方法的思想很簡單,詞A和詞B構(gòu)成反義關(guān)系,所以詞A 就和詞B 的同義集中所有詞構(gòu)成反義;同理詞A和詞B構(gòu)成同義關(guān)系,則詞A和詞B的所有同義詞集構(gòu)成同義關(guān)系。主要方法是通過降低訓(xùn)練集合中的反義詞對之間相似度,以及增大同義集合相似度而得到。
首先,定義一個(gè)損失函數(shù),如公式(5)所示。其中,V表示全體詞的集合;Sw表示詞w的同義詞集合;Aw表示詞w的反義詞集合;sim(w,a)表示詞w和詞a的相似度。最終的目標(biāo)是最大化這個(gè)目標(biāo)函數(shù),公式第一項(xiàng)是詞w和它對應(yīng)相似詞的ln 概率之和,公式第二項(xiàng)是詞w和詞w對應(yīng)反義詞集的ln 負(fù)概率之和,目標(biāo)是建模同義詞的同時(shí),也建模反義詞,w是詞w對應(yīng)的詞表示,在模型訓(xùn)練的同時(shí)參與參數(shù)的更新。
在向量詞之間相似度的函數(shù)設(shè)計(jì)上,本文引入了一個(gè)非對稱的相似度評價(jià)函數(shù),使用點(diǎn)乘信息,即兩個(gè)詞的向量的點(diǎn)乘標(biāo)量結(jié)果。另外對于兩個(gè)詞輸入的順序的不同,加入了一個(gè)偏置變量bw1,具體如公式(6)所示:
因?yàn)樵诒容^操作中也有兩個(gè)向量之差,然后取最大值作為差異性的變量,所以本文對相似性表達(dá)式進(jìn)行了更新,如公式(7)所示。這樣有助于在之后的詞對比較中更好的表示出反義詞。
本文將第3章中提出的3種詞對知識向量獲取方法引入到文本蘊(yùn)含識別模型中的詞對齊和注意力機(jī)制部分,構(gòu)建新的文本蘊(yùn)含識別模型。
在計(jì)算Attention時(shí),假設(shè)句對中的兩個(gè)對應(yīng)的詞a和詞b滿足指定關(guān)系中的一種,則引入神經(jīng)網(wǎng)絡(luò)的Attention值計(jì)算中加入一個(gè)權(quán)重λ。λ是一個(gè)超參數(shù),在實(shí)驗(yàn)中設(shè)置的范圍在0.001,0.01,0.1,1,10,20,50之間,表示引入知識向量的強(qiáng)度。如公式(8)所示:
其中,rab表示詞a和詞b的外部知識向量,引入方式是將兩個(gè)詞輸入到詞對關(guān)系預(yù)測模型中。
因?yàn)槭褂玫氖嵌鄻?biāo)簽分類,每個(gè)位置代表的是對應(yīng)類別的概率,而每個(gè)類別對推理的權(quán)重需要學(xué)習(xí),因此在公式中設(shè)置一個(gè)變量W ,這個(gè)變量的維度和關(guān)系向量維度相同,每個(gè)位置代表的是推理中這個(gè)維度的權(quán)重大小。
對于TransR的實(shí)體向量,按照之前的說明,頭實(shí)體、尾實(shí)體之差為實(shí)體向量,因?yàn)樵贏ttention 層,其實(shí)是希望輸入兩個(gè)詞,得到這兩個(gè)詞的相關(guān)度或匹配權(quán)值,如公式(9)所示:
按照TransR的算法,首先將實(shí)體向量在每個(gè)關(guān)系空間內(nèi)投影,例如:此前va維度是[1,100],在18個(gè)關(guān)系后投影是[18,100]的矩陣,表示向量在18 個(gè)關(guān)系下的投影,其中矩陣M 的維度是[18,100,100],是每個(gè)關(guān)系對應(yīng)的實(shí)體投影矩陣。在va-vb后,得到的是在對應(yīng)關(guān)系投影矩陣下的關(guān)系向量,之后再將這個(gè)關(guān)系向量和每個(gè)關(guān)系向量作乘積,就得到了對應(yīng)關(guān)系的標(biāo)量,也就是預(yù)測的關(guān)系向量[18,100],和真實(shí)關(guān)系向量[18,100]中的每個(gè)作乘法,最后得到了[18,100]的向量,每一個(gè)位置可以表示這個(gè)詞對是這個(gè)關(guān)系的概率,最后與類別權(quán)值向量W 做乘法,得到了一個(gè)注意力標(biāo)量。
對于反義詞向量,根據(jù)反義詞的向量乘積分布,對于同義詞兩個(gè)向量點(diǎn)乘接近1,對于反義詞兩個(gè)向量點(diǎn)乘接近-1,而無關(guān)系的詞接近于0,因此加入兩個(gè)向量乘積的絕對值,作為增加的偏置,如公式(10)所示:
Chen等人直接添加上有相關(guān)的實(shí)體向量的權(quán)值αai的求和,目的是想更多地引入對齊向量的權(quán)重信息,相當(dāng)于引入了一個(gè)軟對齊加權(quán)的特征向量求和。實(shí)際上是找到詞對后,得到詞對的關(guān)系向量,Chen等人提出的KIM方法的計(jì)算方式如公式(11)所示:
其中,ca表示假設(shè)句中詞αai相對于整個(gè)前提句的表示,vai表示之前獲得的詞對向量,前提往往是已知兩個(gè)詞對存在關(guān)系然后判斷兩者的關(guān)系。
5.1.1 詞對關(guān)系向量
本文主要使用的詞匯資源是WordNet,WordNet 是一個(gè)英文單詞數(shù)據(jù)庫,每個(gè)同義詞集合對應(yīng)一個(gè)基本的語義概念,并通過同義詞集之間的語義關(guān)系鏈接在一起,于1985 年由普林斯頓大學(xué)創(chuàng)建,本文使用的是2012 年WordNet 3.1 版本,包含九類詞匯結(jié)構(gòu):上下位關(guān)系(動詞、名詞)、蘊(yùn)含關(guān)系(動詞)、相似關(guān)系(名詞)、成員部分關(guān)系(名詞)、物質(zhì)部分關(guān)系(名詞)、部件部分關(guān)系(名詞)、致使關(guān)系(動詞)、相關(guān)動詞關(guān)系(動詞)、屬性關(guān)系(形容詞)。該資源包含155 327個(gè)詞,175 979個(gè)同義詞集,構(gòu)建得到207 016 個(gè)詞集對。為了便于構(gòu)建詞對關(guān)系識別模型訓(xùn)練集,從WordNet中抽取的詞匯關(guān)系數(shù)量如表2所示。其中,同位詞是為了文本蘊(yùn)含任務(wù)設(shè)計(jì)的一種詞匯關(guān)系,將具有相同上位詞構(gòu)成的詞對稱為同位詞(co_hyponyms),以表示一種互斥的關(guān)系,這在“對立”推理中有重要應(yīng)用。
表2 基于有監(jiān)督詞對匹配訓(xùn)練集
實(shí)驗(yàn)結(jié)果表明,加入多文本特征詞對擴(kuò)展的詞對檢測模型,相比只使用預(yù)訓(xùn)練詞向量的基本模型準(zhǔn)確率有明顯提升,在5分類中達(dá)到了76.8%,結(jié)果如表3所示。
表3 基于有監(jiān)督詞對匹配結(jié)果
5.1.2 TransR知識向量
在使用TransR向量化WordNet知識庫中,本文利用Bordes 等人提出的WN18 數(shù)據(jù)集,詳細(xì)信息如表4 所示。該數(shù)據(jù)集包含18種關(guān)系,例如:上位詞、下位詞、蘊(yùn)含詞、反義詞、包含詞等,共有40 943 個(gè)實(shí)體,每個(gè)詞原由至少一個(gè)詞構(gòu)成,共包含117 374 個(gè)詞匯。WN18 主要的數(shù)據(jù)格式以三元組的方式,即:頭實(shí)體、尾實(shí)體、關(guān)系,構(gòu)成一個(gè)樣本,該數(shù)據(jù)集廣泛應(yīng)用在知識向量化模型中,具有較廣泛的應(yīng)用價(jià)值。
表4 基于TransR實(shí)體學(xué)習(xí)訓(xùn)練數(shù)據(jù)
TransR評價(jià)指標(biāo)有兩種:其一是MeanRank,該方法保持頭實(shí)體不變,尾實(shí)體依次替換成實(shí)體表中的所有實(shí)體,構(gòu)成的樣本進(jìn)行預(yù)測,按照損失降序排序,所有正確尾實(shí)體在其中的排序均值作為指標(biāo);另一個(gè)是Hits@N,表示正確的實(shí)體排序在前N的概率。本文采用公式(12)的計(jì)算方法,通過遍歷所有關(guān)系,找到一個(gè)損失最小的作為最終的詞對關(guān)系向量。
相關(guān)實(shí)驗(yàn)表明,在需要預(yù)測的18 個(gè)關(guān)系中,TransE構(gòu)建的關(guān)系MeanRank 為3.92,而TransR 平均排名達(dá)到了1.24,遠(yuǎn)高于TransE的結(jié)果。后面又統(tǒng)計(jì)關(guān)系排名在前2 的文本,達(dá)到了80%,這證明了TransR 得到的詞對關(guān)系的可用性,結(jié)果如表5所示。
表5 基于TransR實(shí)體學(xué)習(xí)訓(xùn)練數(shù)據(jù)
5.1.3 反義詞向量
在反義詞向量表示的任務(wù)中,使用Mohammad等人提出的GRE 數(shù)據(jù)集[17],其中開發(fā)集為162 條,測試集為950 條。評價(jià)任務(wù)是每個(gè)目標(biāo)詞有5 個(gè)候選詞,系統(tǒng)在候選詞中返回相對目標(biāo)詞反義最強(qiáng)烈的詞,按照之前的非對稱相似度計(jì)算公式,來計(jì)算兩個(gè)詞的相似度,然后從中選擇得分最小的詞作為輸出的反義詞,為了進(jìn)行對比實(shí)驗(yàn),首先使用Glove 詞向量作為基準(zhǔn)模型,其中同義詞對數(shù)為881 870,反義詞對數(shù)為307 464。
在反義詞向量建模任務(wù)中,本文針對GRE 三個(gè)任務(wù)集分別進(jìn)行測試,結(jié)果表明,使用預(yù)訓(xùn)練Glove 詞向量的效果明顯低于使用反義詞建模的結(jié)果,也證明了進(jìn)行反義詞建模的可用性。另外,針對預(yù)訓(xùn)練詞向量對同義詞數(shù)據(jù)集和翻譯詞數(shù)據(jù)集分開做了實(shí)驗(yàn),并對詞對的相似度進(jìn)行了統(tǒng)計(jì),結(jié)果如圖2所示。
圖2 反義詞向量和Glove向量對比分布
圖2 中,上半部分分別是預(yù)訓(xùn)練詞向量的結(jié)果,橫軸是相似度,縱軸是計(jì)數(shù),可以看到同義詞對的相似度成正態(tài)分布,因此并不能捕捉同義信息,同樣反義詞也類似。下半部分為訓(xùn)練好的反義詞向量,清楚地表明,通過點(diǎn)乘的方式計(jì)算的相似度能明顯區(qū)分同義詞和反義詞。
表6是反義詞向量模型在GRE數(shù)據(jù)集中的結(jié)果,這里的Glove 代表的是直接使用預(yù)訓(xùn)練詞向量與反義詞向量模型對比,實(shí)驗(yàn)表明通過反義詞向量訓(xùn)練得到的詞向量能較好地區(qū)分反義詞,可以作為知識資源引入到模型中。
表6 反義詞向量實(shí)驗(yàn)結(jié)果 %
表7是本文給出的反義詞向量結(jié)果樣例,這里挑選了實(shí)驗(yàn)過程中的常見詞對,可以看到使用Glove 詞向量,通過計(jì)算向量夾角不能區(qū)分男人和女人、好和壞的反義關(guān)系,而反義詞向量則能進(jìn)行區(qū)分。
表7 反義詞向量結(jié)果樣例
首先,在英文數(shù)據(jù)集SNLI上,將Parikh等人提出的基于分解注意力的文本蘊(yùn)含模型(本文簡稱為DAM)作為基線結(jié)果,分別比較了加入有監(jiān)督詞對向量、TransR知識向量以及反義詞向量的文本蘊(yùn)含模型,實(shí)驗(yàn)結(jié)果如表8所示。
表8 反義詞向量實(shí)驗(yàn)結(jié)果
表8 中的DAM 是分解注意力模型,其他知識向量都是在此基礎(chǔ)上加入??梢钥闯?,加入反義詞向量的文本蘊(yùn)含模型提升較大,但是整體上在SNLI 的數(shù)據(jù)集上提升不明顯。嘗試了在ESI模型中加入知識向量,效果也不明顯,分析可能是模型的復(fù)雜度較高,引入知識向量的難度較大造成的。
從570 000的人工手寫英文句子對訓(xùn)練集中抽取了1%的數(shù)據(jù)進(jìn)行訓(xùn)練,發(fā)現(xiàn)引入反義詞向量雖然在之前的全量SNLI 訓(xùn)練集上沒有效果,但是在“低資源”的條件下能提升模型的收斂速度和準(zhǔn)確率,如圖3所示。加入了反義向量的ESIM 模型準(zhǔn)確率由60%提升到66%,證明反義詞向量在數(shù)據(jù)量較小的條件下能一定程度地提升模型的效果。
圖3 SNLI1%數(shù)據(jù)集測試
其次,針對Glockner 等人提出的BreakNLI 數(shù)據(jù)集進(jìn)行了測試,這個(gè)數(shù)據(jù)集就是針對詞匯推理的數(shù)據(jù)集,該測試集有一個(gè)特點(diǎn),因?yàn)闃?gòu)建數(shù)據(jù)集時(shí)是取前提句,將其中的部分詞替換成同義詞、反義詞來依次構(gòu)建蘊(yùn)含、對立關(guān)系,因此相比SNLI的訓(xùn)練集前提句和假設(shè)句較為接近,很容易判斷為蘊(yùn)含關(guān)系,因此這就對反義詞這種關(guān)系的識別能力提出了更高的要求。實(shí)驗(yàn)結(jié)果如表9所示,在基于分解注意力模型上依次添加三種知識向量表示。
表9 反義詞向量實(shí)驗(yàn)結(jié)果
可以看出,加入有監(jiān)督學(xué)習(xí)的詞對向量表示提升不大,可能的原因是使用分類向量作為關(guān)系向量,能表示的信息較少。引入反義詞向量,模型的效果提升最大,可能的原因是通過對反義詞建模,能通過向量之間的點(diǎn)積有效表示詞對之間的關(guān)系,對反義推理的提升明顯。進(jìn)一步分析改進(jìn)后的結(jié)果,有部分樣例得到更正:在樣例“korean”和“indonesian”的對立關(guān)系中,它們有共同的同位詞“國家”會被識別成同位詞;“south”和“north”是一種常識對立關(guān)系;“l(fā)ittle”和“tiny”需要同義詞信息;還有反義詞向量能明顯建模的“near”和“far”。
在詞對知識向量提取方面,相比關(guān)注度很多的詞向量,本文更多關(guān)注詞對的向量表示。在充分調(diào)研的基礎(chǔ)上,本文首先提出了基于有監(jiān)督和文本特征的詞對關(guān)系分類模型,將詞對關(guān)系分類的結(jié)果,也就是在各個(gè)類別的分布作為詞對向量表示;其次,借助成熟的知識庫向量化工具TransR對WordNet中的知識向量化,得到的實(shí)體向量作為具有知識的詞表示,實(shí)體之間的差值作為詞對表示;最后又專門針對文本蘊(yùn)含中的反義詞和同義詞,構(gòu)建反義詞向量,得到新的詞向量,將兩個(gè)詞向量的乘積作為表示反義和同義程度的表示。在構(gòu)建這三種詞對向量表示中,均有相應(yīng)的數(shù)據(jù)集證明其表示的可用性,同時(shí)證明了相比預(yù)訓(xùn)練詞向量在詞對關(guān)系上的優(yōu)越性。