姜天文,秦 兵,劉 挺
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001)
在過(guò)去的十幾年里,大規(guī)模的知識(shí)庫(kù)構(gòu)建已經(jīng)有了很好的進(jìn)展。現(xiàn)有的知識(shí)庫(kù)包括普林斯頓大學(xué)設(shè)計(jì)的覆蓋范圍寬廣的語(yǔ)言知識(shí)庫(kù)WordNet[1];知識(shí)條目由用戶添加并共享的世界知識(shí)庫(kù)FreeBase[2]以及國(guó)內(nèi)哈爾濱工業(yè)大學(xué)社會(huì)計(jì)算與信息檢索研究中心設(shè)計(jì)構(gòu)建的開放域中文知識(shí)圖譜《大詞林》等。這些知識(shí)庫(kù)通常以網(wǎng)絡(luò)的形式被組織起來(lái),網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)代表實(shí)體,而每條連邊則代表實(shí)體間的關(guān)系。因此,大部分知識(shí)往往可以用三元組(頭實(shí)體,關(guān)系,尾實(shí)體)來(lái)表示,其中最具代表性的就是萬(wàn)維網(wǎng)聯(lián)盟發(fā)布的資源描述框架技術(shù)標(biāo)準(zhǔn)[3]。
隨著知識(shí)庫(kù)的知識(shí)規(guī)模不斷擴(kuò)大,這種網(wǎng)狀的表示形式目前存在以下兩個(gè)問(wèn)題: 計(jì)算效率問(wèn)題[4]和無(wú)法很好應(yīng)對(duì)數(shù)據(jù)稀疏的問(wèn)題[4]。以符號(hào)為基礎(chǔ)的網(wǎng)狀形式的知識(shí)庫(kù)無(wú)法應(yīng)對(duì)連續(xù)空間里的數(shù)值計(jì)算。單純的符號(hào)和邏輯的表示使得知識(shí)庫(kù)中的知識(shí)越來(lái)越離散化,知識(shí)之間無(wú)法很好整合在一起,無(wú)法有效應(yīng)對(duì)長(zhǎng)尾問(wèn)題。這也就使得智能系統(tǒng)無(wú)法更加靈活地使用知識(shí)庫(kù),比如進(jìn)行知識(shí)推理。
表示學(xué)習(xí)[5]旨在將網(wǎng)狀的語(yǔ)義信息表示為稠密低維的實(shí)值向量,在低維空間中兩個(gè)對(duì)象距離越近語(yǔ)義相似度越高,正是這一點(diǎn)有望解決別名問(wèn)題。在這種低維空間中有望高效計(jì)算實(shí)體和關(guān)系的語(yǔ)義聯(lián)系。另外,由于每個(gè)對(duì)象的向量均為稠密有值的,因此可以度量任意對(duì)象之間的語(yǔ)義相似度,并且將大量對(duì)象投影到統(tǒng)一空間的過(guò)程,能夠?qū)⒏哳l對(duì)象的語(yǔ)義信息用于幫助低頻對(duì)象的語(yǔ)義表示,從而提高低頻對(duì)象的精確性。由此可知這種知識(shí)表示學(xué)習(xí)可以有效解決數(shù)據(jù)稀疏問(wèn)題。基于以上敘述的特點(diǎn),這種知識(shí)的分布式表示最終可以使得知識(shí)的獲取、推理的性能顯著提升。
本文使用Bordes等人于2013年提出的TransE模型[6],同時(shí)對(duì)模型的代價(jià)函數(shù)進(jìn)行改進(jìn)以用于開放域中文知識(shí)庫(kù)的表示學(xué)習(xí)。相比于傳統(tǒng)知識(shí)庫(kù),開放域知識(shí)庫(kù)使用關(guān)系指示詞代替關(guān)系類型,且實(shí)體更為豐富,粒度更加細(xì)膩。本文主要研究對(duì)開放域中文知識(shí)庫(kù)基于表示學(xué)習(xí)的知識(shí)推理方法,包括對(duì)實(shí)體關(guān)系三元組中關(guān)系指示詞和尾實(shí)體的推理。
目前國(guó)內(nèi)外的知識(shí)表示工作主要針對(duì)傳統(tǒng)的非開放域的英文知識(shí)庫(kù)。其主要思路是把知識(shí)庫(kù)嵌入到一個(gè)連續(xù)的向量空間中,并保留原始知識(shí)庫(kù)的某些特性。這些知識(shí)表示的方法通過(guò)最小化全局損失函數(shù)來(lái)獲得實(shí)體和關(guān)系的表示,而且這個(gè)全局損失函數(shù)涉及到所有知識(shí)圖譜中的實(shí)體和關(guān)系,這也就意味著實(shí)體或關(guān)系的表示是編碼了全局的信息所得到的。
早期在知識(shí)表示方面主要有以下幾個(gè)模型: 距離模型[7]、能量模型[8-9]、張量模型[10]。早期的這種知識(shí)表示的方法中,大多數(shù)關(guān)注于提高表現(xiàn)力和模型的普遍性,而越來(lái)越高的表現(xiàn)力隨之而來(lái)的是模型的復(fù)雜度增加、參數(shù)增加,以及訓(xùn)練的花銷巨大。不僅如此,由于高能力的模型正則項(xiàng)較難設(shè)計(jì),所以存在潛在的過(guò)擬合的情況。另外,由于非凸最優(yōu)化問(wèn)題有很多局部的極小值,使得訓(xùn)練難度增加,導(dǎo)致模型無(wú)法擬合數(shù)據(jù)[6]。
近年來(lái)提出的翻譯模型[6]簡(jiǎn)單有效,在大規(guī)模知識(shí)圖譜上效果明顯,自提出以來(lái)大量研究工作[11-14]都對(duì)其進(jìn)行擴(kuò)展和展開,可以說(shuō)翻譯模型已經(jīng)成為知識(shí)表示的代表模型,其中Bordes等人于2013年提出的TransE模型[6]簡(jiǎn)單可行,完全適合大規(guī)模知識(shí)庫(kù)的表示學(xué)習(xí)。近年來(lái)提出的一系列模型都是以TransE模型為藍(lán)本,本文的研究主要基于TransE模型,同時(shí)對(duì)模型的訓(xùn)練方法進(jìn)行改進(jìn),以用于開放域中文知識(shí)庫(kù)的表示學(xué)習(xí)。
表示學(xué)習(xí)概念表示學(xué)習(xí)是指,通過(guò)使用機(jī)器學(xué)習(xí)的方法將研究對(duì)象的語(yǔ)義信息表示為低維稠密的實(shí)值向量。在該低維稠密的向量空間中,我們可以通過(guò)余弦距離或歐氏距離等方式計(jì)算任意兩個(gè)對(duì)象之間的語(yǔ)義相似度,進(jìn)而應(yīng)用于一些傳統(tǒng)的自然語(yǔ)言處理問(wèn)題[15]。
除了表示學(xué)習(xí)之外,實(shí)際上還有更簡(jiǎn)單的數(shù)據(jù)表示方案,稱其為“one-hot” 表示[16]。這種方案也是將對(duì)象表示為實(shí)值向量,只不過(guò)向量中只有某一維度為非零,其余維度的值均為0,這也正是“one-hot”一詞的由來(lái)。 “one-hot”無(wú)需學(xué)習(xí)過(guò)程,正是由于其簡(jiǎn)單而高效,在信息檢索和自然語(yǔ)言處理中得到廣泛應(yīng)用。但“one-hot”的缺點(diǎn)在于,它認(rèn)為所有表示對(duì)象是相互獨(dú)立的,即在這個(gè)表示空間中所有對(duì)象的向量都是正交的,從而使得通過(guò)余弦距離或是歐式距離計(jì)算的語(yǔ)義相似度均為0。這一點(diǎn)是不符合實(shí)際情況的,會(huì)丟失大量信息。例如,“哈爾濱”和“長(zhǎng)春”雖然是兩個(gè)不同的詞匯,但由于他們都是省會(huì)城市,因此應(yīng)當(dāng)具有較高的語(yǔ)義相似度??墒恰皁ne-hot”無(wú)法有效利用這些對(duì)象間的語(yǔ)義相似性來(lái)表示對(duì)象。與“one-hot”不同,表示學(xué)習(xí)維度較低,從而有助于提高計(jì)算效率,同時(shí)也能夠充分利用對(duì)象間的語(yǔ)義信息。
表示學(xué)習(xí)理論基礎(chǔ)我們所處的世界是離散的,每個(gè)物體具有明確的界限。當(dāng)人們觀察這個(gè)世界時(shí),大腦中相應(yīng)的大量神經(jīng)元會(huì)產(chǎn)生抑制或者激活的信號(hào),這些信號(hào)的狀態(tài)構(gòu)成大腦中的內(nèi)部世界。在這個(gè)內(nèi)部世界中,外界事物對(duì)于它變成了眾多神經(jīng)元共同產(chǎn)生的一系列抑制或激活信號(hào)。單純看一個(gè)神經(jīng)元的狀態(tài),并沒(méi)有明確的含義,無(wú)法通過(guò)它來(lái)區(qū)分不同的事物,但是眾多神經(jīng)元產(chǎn)生的狀態(tài)集合在一起卻可以表示世間的萬(wàn)物。
通過(guò)表示學(xué)習(xí)得到的低維稠密向量表示是一種分布式表示。向量的每一維并沒(méi)有明確的含義,但綜合各維度構(gòu)成的向量卻能夠表示對(duì)象的語(yǔ)義信息。分布式表示的向量可看作大腦中眾多的神經(jīng)元,每一維對(duì)應(yīng)于單獨(dú)的一個(gè)神經(jīng)元,而每一維度值代表該神經(jīng)元抑制或激活狀態(tài)。
TransE模型的表示學(xué)習(xí)對(duì)象是知識(shí)庫(kù)中的實(shí)體關(guān)系三元組。TransE模型將實(shí)體間的關(guān)系看作一種兩個(gè)實(shí)體間的翻譯操作,關(guān)聯(lián)著兩個(gè)實(shí)體。本文中,我們使用h代表頭實(shí)體*本文中,我們考慮實(shí)體關(guān)系三元組的方向性。例如,對(duì)于知識(shí)“黑龍江的省會(huì)城市是哈爾濱”,那么三元組(哈爾濱,省會(huì),黑龍江省)是不正確的表述,而(黑龍江省,省會(huì),哈爾濱)才是正確的,所以對(duì)于關(guān)系“省會(huì)”: “黑龍江省”就是頭實(shí)體,“哈爾濱”是尾實(shí)體,反過(guò)來(lái)是不正確的。、h表示頭實(shí)體的向量表示、r代表關(guān)系、r表示關(guān)系的向量表示、t代表尾實(shí)體、t表示尾實(shí)體的向量表示,TransE模型的核心思想是: 如果(h,r,t)成立,那么,認(rèn)為尾實(shí)體t的向量表示應(yīng)該和頭實(shí)體h的向量表示加上某個(gè)由關(guān)系r決定的向量表示結(jié)果相接近?;谶@個(gè)核心思想,TransE優(yōu)化的目標(biāo)是對(duì)于滿足關(guān)系的(h,r,t),有:h+r≈t,如圖1所示。也就是說(shuō),當(dāng)(h,r,t)成立時(shí),在向量空間中t應(yīng)該是向量h+r最近的鄰居;當(dāng)(h,r,t)不成立時(shí),在向量空間中t應(yīng)遠(yuǎn)離向量h+r。
圖1 TransE模型的核心思想
使用d(h+r,t)表示向量h+r到t的距離,可以使用L1或L2范式計(jì)算距離。模型的代價(jià)函數(shù)如式(1)所示。
(1)
其中[x]+代表x的正數(shù)部分,γ>0是一個(gè)邊界值,另外,
∪{(h,r,t′)|t′∈E}
(2)
其中E代表實(shí)體集合。模型訓(xùn)練過(guò)程中所需的負(fù)例三元組是通過(guò)式(2)構(gòu)造的,即替換正確三元組的頭尾實(shí)體。實(shí)體和關(guān)系的向量表示都是隨機(jī)初始化的,訓(xùn)練的過(guò)程就是不斷減小正例三元組的距離d(h+r,t),并使它盡可能地小于所有它對(duì)應(yīng)的負(fù)例三元組的距離d(h′+r,t′)。
通過(guò)觀察式(1),可以發(fā)現(xiàn)TransE方法在構(gòu)建負(fù)例三元組的時(shí)候只對(duì)頭尾實(shí)體進(jìn)行替換。其原因在于傳統(tǒng)的知識(shí)庫(kù)中的關(guān)系是由關(guān)系類型代替,而關(guān)系類型的數(shù)量較少且相互的區(qū)分性較大,所以在構(gòu)造負(fù)例三元組時(shí)替換關(guān)系的意義不大。但對(duì)于開放域?qū)嶓w關(guān)系三元組,其關(guān)系用關(guān)系指示詞表示,關(guān)系指示詞的數(shù)量較大且相比關(guān)系類型區(qū)分性并不大,例如,關(guān)系指示詞“董事長(zhǎng)”和“校長(zhǎng)”在傳統(tǒng)三元組中都會(huì)使用“雇傭關(guān)系”代替,但在開放域三元組中使用不同的關(guān)系指示詞代替。由此可見,在面向開放域知識(shí)庫(kù)的研究中,關(guān)系指示詞對(duì)于訓(xùn)練過(guò)程的影響不容忽視。
基于以上的原因,我們對(duì)原始TransE模型的代價(jià)函數(shù)進(jìn)行改進(jìn)以更好地適用于開放域中文知識(shí)庫(kù)的研究工作。為了進(jìn)行區(qū)別以便后續(xù)比較,將改進(jìn)后的TransE模型命名為TransE_ipv(ipv為improve簡(jiǎn)寫),TransE_ipv的訓(xùn)練過(guò)程中的代價(jià)函數(shù)如式(3)所示。
(3)
其中[x]+代表x的正數(shù)部分,γ>0是一個(gè)邊界值,另外,
(4)
其中E代表實(shí)體的集合,R代表關(guān)系指示詞的集合。主要的改進(jìn)在于在構(gòu)造負(fù)例三元組的時(shí)候不僅替換頭尾實(shí)體,而且替換關(guān)系指示詞,使得訓(xùn)練出來(lái)的關(guān)系指示詞更具有區(qū)分性。
由于國(guó)內(nèi)沒(méi)有適合本文研究并且公開數(shù)據(jù)的開放域中文知識(shí)庫(kù),我們從結(jié)構(gòu)化的百度百科結(jié)構(gòu)化數(shù)據(jù)“infobox”中抽取獲得大量開放域?qū)嶓w關(guān)系數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。本節(jié)中,我們提出了應(yīng)用知識(shí)表示學(xué)習(xí)的關(guān)系指示詞推理方法,以及尾實(shí)體推理方法。實(shí)驗(yàn)結(jié)果顯示,應(yīng)用知識(shí)分布式表示的關(guān)系指示詞推理準(zhǔn)確率可以達(dá)到80%以上。在進(jìn)行應(yīng)用知識(shí)分布表示的尾實(shí)體推理測(cè)試中,準(zhǔn)確率在20%左右,和關(guān)系指示詞推理相比效果較差。我們對(duì)其原因進(jìn)行分析并驗(yàn)證,使用增加訓(xùn)練過(guò)程中負(fù)例三元組方法可以將準(zhǔn)確率提升7%。
由于國(guó)內(nèi)沒(méi)有適合本文研究并且公開數(shù)據(jù)的開放域中文知識(shí)庫(kù),我們決定從互聯(lián)網(wǎng)中抽取開放域?qū)嶓w關(guān)系三元組作為實(shí)驗(yàn)數(shù)據(jù)。通過(guò)觀察,我們發(fā)現(xiàn)百度百科有一部分被稱為“infobox”描述詞條屬性的結(jié)構(gòu)化內(nèi)容,該部分包含大量潛在的實(shí)體關(guān)系信息,我們希望從中獲取實(shí)體關(guān)系三元組作為實(shí)驗(yàn)使用的實(shí)體關(guān)系三元組數(shù)據(jù)。
“infobox”*https: //en.wikipedia.org/wiki/Infobox一詞源于維基百科,是一種包含屬性—值對(duì)結(jié)構(gòu)化文檔。作為全球最大的中文百科網(wǎng)站,百度百科也借鑒了這一設(shè)計(jì),在大部分詞條頁(yè)面中都設(shè)有“infobox”,用于記錄該詞條的重要屬性—值對(duì)信息,如圖2所示。
圖2 百度百科中“哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院”一詞的infobox
“infobox”中包含的是與詞條相關(guān)的眾多“屬性—值”對(duì)。這些“屬性—值”對(duì)與詞條可以組成三元組,但這種三元組并不都是我們要找的實(shí)體關(guān)系三元組,因?yàn)椤皩傩浴怠睂?duì)中的值并不一定是實(shí)體,如“規(guī)格嚴(yán)格,功夫到家”,而“周玉院士”就是一個(gè)實(shí)體,所構(gòu)成的即為實(shí)體關(guān)系三元組。
通過(guò)觀察發(fā)現(xiàn),詞條的百科頁(yè)面中存在很多的具有鏈接的詞匯,這部分文本一般稱為錨文本。而百科頁(yè)面中的這些錨文本是指向另一個(gè)百科詞條頁(yè)面的。如果我們假設(shè)百度百科中收錄的詞匯全部為實(shí)體詞(百科中記錄的一般是現(xiàn)實(shí)世界中的概念,可以認(rèn)為其大部分是實(shí)體),那么百科頁(yè)面中的錨文本也即是實(shí)體詞匯。
我們可以認(rèn)為在“infobox”中含有錨文本的“屬性—值”對(duì)為實(shí)體關(guān)系。如圖2中屬性“知名校友”以及“專職院士”,這兩個(gè)屬性值都是錨文本,由此我們可以獲取三個(gè)實(shí)體關(guān)系三元組:
(哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,知名校友,王天然)、(哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,知名校友,懷進(jìn)鵬)、(哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,專職院士,方濱興)。
據(jù)此方法,我們從百度百科的“infobox”中共獲取2 438 145條開放域?qū)嶓w關(guān)系三元組*Code: https: //github.com/twjiang/baike_crawler。雖然可能存在一些噪聲數(shù)據(jù),但就像知識(shí)庫(kù)允許存在少量噪聲數(shù)據(jù)一樣,這些噪聲數(shù)據(jù)對(duì)實(shí)驗(yàn)結(jié)果并無(wú)太大影響。
將獲得的三元組數(shù)據(jù)集作為規(guī)模最大的“all數(shù)據(jù)集”,另從其中抽取50余萬(wàn)的三元組組成“small數(shù)據(jù)集”。設(shè)置不同規(guī)模的數(shù)據(jù)集原因在于使用小規(guī)模數(shù)據(jù)集進(jìn)行課題研究前期的快速實(shí)驗(yàn)測(cè)試,以快速改進(jìn)模型,設(shè)置合適的測(cè)試實(shí)驗(yàn)并記錄結(jié)果。
將三元組數(shù)據(jù)集劃分為兩個(gè)集合: 訓(xùn)練集、測(cè)試集,并需要使得兩個(gè)集合滿足獨(dú)立同分布條件,以用于模型的訓(xùn)練和測(cè)試。除獨(dú)立同分布外,兩個(gè)集合需滿足以下三個(gè)條件。
1) 測(cè)試集中的實(shí)體集合為訓(xùn)練集中實(shí)體集合的子集,即測(cè)試集中所有三元組涉及到的實(shí)體在訓(xùn)練集中都有出現(xiàn),其目的在于防止測(cè)試時(shí)實(shí)體詞存在未登錄,從而找不到對(duì)應(yīng)的實(shí)體向量。
2) 測(cè)試集中的關(guān)系指示詞集合為訓(xùn)練集中關(guān)系指示詞集合的子集,即測(cè)試集中所有三元組涉及到的關(guān)系指示詞在訓(xùn)練集中都有出現(xiàn),其目的在于防止測(cè)試時(shí)出現(xiàn)未登錄的關(guān)系指示詞,導(dǎo)致找不到對(duì)應(yīng)的關(guān)系指示詞向量。
3) 訓(xùn)練集和測(cè)試集的三元組交集為空,即不存在既在訓(xùn)練集中出現(xiàn)又在測(cè)試集中出現(xiàn)的三元組。
獲得的兩個(gè)不同規(guī)模的實(shí)驗(yàn)數(shù)據(jù)集如表1所示。
表1 實(shí)驗(yàn)用到的兩個(gè)不同規(guī)模的數(shù)據(jù)集
為何要進(jìn)行關(guān)系指示詞推理?在此之前,我們需要引出一個(gè)概念——“知識(shí)庫(kù)關(guān)系補(bǔ)全”。知識(shí)庫(kù)關(guān)系補(bǔ)全是指: 對(duì)于現(xiàn)有知識(shí)庫(kù)中有潛在關(guān)系但未在知識(shí)庫(kù)中標(biāo)明的兩個(gè)實(shí)體進(jìn)行關(guān)系推理。如知識(shí)庫(kù)中有以下兩個(gè)實(shí)體關(guān)系三元組:
(泰坦尼克號(hào),主要角色,杰克),(萊昂納多,飾演,杰克)
那么,我們希望推理出如下關(guān)系以補(bǔ)全到現(xiàn)有知識(shí)圖譜中:
(泰坦尼克號(hào),主演,萊昂納多)
總結(jié)下來(lái),知識(shí)庫(kù)關(guān)系補(bǔ)全需要兩個(gè)階段: 存在潛在關(guān)系實(shí)體對(duì)的發(fā)現(xiàn)、對(duì)潛在關(guān)系進(jìn)行推理。本實(shí)驗(yàn)假設(shè)已經(jīng)識(shí)別出存在潛在關(guān)系的實(shí)體對(duì),主要任務(wù)是測(cè)試通過(guò)表示學(xué)習(xí)得到的向量空間中的知識(shí)庫(kù),是否可以對(duì)這個(gè)潛在關(guān)系進(jìn)行推理,并給出較為準(zhǔn)確的答案抑或包含答案的候選集合。
我們將測(cè)試數(shù)據(jù)中的三元組的關(guān)系指示詞“挖空”,基于已訓(xùn)練好的實(shí)體和關(guān)系指示詞的向量表示對(duì)關(guān)系指示詞進(jìn)行推理,并和標(biāo)準(zhǔn)答案進(jìn)行對(duì)比,以計(jì)算準(zhǔn)確率。
具體的測(cè)試方法: 對(duì)于每一對(duì)實(shí)體,遍歷所有的關(guān)系指示詞組合成一個(gè)三元組,對(duì)每個(gè)這樣的三元組,計(jì)算頭實(shí)體與關(guān)系指示詞相加得到的向量到尾實(shí)體向量在空間中的距離d,距離d越小說(shuō)明三元組成立的可能性越大。設(shè)定一個(gè)距離閾值,對(duì)距離d小于閾值的三元組按照距離d升序排列(過(guò)程簡(jiǎn)圖見圖3)。對(duì)每一對(duì)實(shí)體記錄排名前十的三元組的關(guān)系指示詞,記錄正確關(guān)系指示詞的排名在前十名的比例,以及排名為第一的比例分別作為準(zhǔn)確率,并分別記錄召回率,計(jì)算F值。
圖3 關(guān)系指示詞推理方法簡(jiǎn)圖
這里我們需要對(duì)閾值進(jìn)行確定。在確定閾值的實(shí)驗(yàn)中,不同閾值的結(jié)果如表2、表3所示。其中threhold表示閾值的取值,“--”表示未設(shè)定閾值;@hit_10和@hit_1分別表示正確關(guān)系指示詞的排名在前十名的比例和排名為第一的實(shí)體對(duì)數(shù)目占所有存在d小于閾值的關(guān)系指示詞的實(shí)體對(duì)數(shù)目的比例;recall_hit_10和recall_hit_1表示正確關(guān)系指示詞的排名在前十名的比例和排名為第一的實(shí)體對(duì)數(shù)目占所有測(cè)試集中實(shí)體對(duì)數(shù)目的比例。
表2 測(cè)試不同閾值對(duì)關(guān)系指示詞推理實(shí)驗(yàn)結(jié)果(small數(shù)據(jù)集)
表3 測(cè)試不同閾值對(duì)關(guān)系指示詞推理實(shí)驗(yàn)結(jié)果(all數(shù)據(jù)集)
表2記錄在small數(shù)據(jù)集中測(cè)試不同閾值對(duì)關(guān)系指示詞推理實(shí)驗(yàn)結(jié)果。通過(guò)表2中的數(shù)據(jù),首先可以發(fā)現(xiàn)TransE_ipv的效果明顯優(yōu)于原始TransE的訓(xùn)練方法,無(wú)論是準(zhǔn)確率還是召回率都有大幅度的提升,究其原因在于TransE_ipv在構(gòu)造負(fù)例三元組的時(shí)候考慮到了關(guān)系指示詞,不僅僅是替換頭尾實(shí)體。這對(duì)于開放域知識(shí)庫(kù)中關(guān)系指示詞數(shù)量較大的特點(diǎn)極為重要。另外,通過(guò)表 2可以發(fā)現(xiàn),在TransE_ipv中隨著閾值的增加召回率隨之增加,但準(zhǔn)確率卻在下降。由于在本實(shí)驗(yàn)中我們更關(guān)注于準(zhǔn)確率,所以最佳閾值鎖定在0.7和1.0,觀察發(fā)現(xiàn)在閾值從0.7過(guò)渡到1.0時(shí),雖然準(zhǔn)確率有所下降,但召回率卻翻倍增長(zhǎng),所以將最佳閾值定為1.0。
表3記錄在all數(shù)據(jù)集中測(cè)試不同閾值對(duì)關(guān)系指示詞推理實(shí)驗(yàn)結(jié)果。同樣,我們將閾值定為1.0,另外,很容易發(fā)現(xiàn)在all數(shù)據(jù)集中的各項(xiàng)數(shù)據(jù)相比small數(shù)據(jù)集中有所下降,其原因是由于硬件條件限制導(dǎo)致兩者的訓(xùn)練方式不同造成的。
綜合上述實(shí)驗(yàn)結(jié)果并選取最佳的閾值,得到表4所示的本實(shí)驗(yàn)在small數(shù)據(jù)集和all數(shù)據(jù)集的最終結(jié)果,其中F1_hit_10和F1_hit_1表示對(duì)應(yīng)的F1值。相比于符號(hào)化的網(wǎng)狀知識(shí)庫(kù)表示,使用表示學(xué)習(xí)得到的實(shí)體分布式表示可以通過(guò)計(jì)算高效地推理出實(shí)體對(duì)中潛在的關(guān)系,召回率可以達(dá)到40%左右,準(zhǔn)確率高達(dá)80%左右。
表4 關(guān)系指示詞推理測(cè)試的實(shí)驗(yàn)結(jié)果
有些情況下,我們希望獲取某個(gè)實(shí)體具有特定關(guān)系的實(shí)體,比如給定實(shí)體A和關(guān)系B,我們希望找到和實(shí)體A具有關(guān)系B的實(shí)體,我們稱這個(gè)實(shí)體為C。當(dāng)三元組(A,B,C)不存在于知識(shí)庫(kù)中時(shí),我們希望通過(guò)簡(jiǎn)單的計(jì)算即可得到較為準(zhǔn)確的C,抑或得到一個(gè)候選序列且C存在于這個(gè)候選序列中。
本實(shí)驗(yàn)的目的就是當(dāng)(A,B,C)不存在于知識(shí)庫(kù)中時(shí),測(cè)試通過(guò)表示學(xué)習(xí)得到的向量空間中的知識(shí)庫(kù)是否可以推理出尾實(shí)體,給出較為準(zhǔn)確的答案抑或包含答案的候選集合。
我們將三元組的尾實(shí)體“挖空”,基于已訓(xùn)練好的實(shí)體和關(guān)系指示詞的向量表示對(duì)測(cè)試集三元組中的尾實(shí)體進(jìn)行推理,并和標(biāo)準(zhǔn)答案進(jìn)行對(duì)比,以計(jì)算準(zhǔn)確率。
具體的測(cè)試方法和關(guān)系推理相似,對(duì)于每一對(duì)頭實(shí)體、關(guān)系指示詞組合,遍歷所有的實(shí)體作為尾實(shí)體組合成一個(gè)三元組,對(duì)每個(gè)這樣的三元組計(jì)算頭實(shí)體與關(guān)系指示詞相加得到的向量到尾實(shí)體向量在空間中的距離d,距離d越小說(shuō)明三元組成立的可能性越大。之后的步驟設(shè)置了兩種方法。
方法一設(shè)定一個(gè)距離閾值,對(duì)距離d小于閾值的三元組按照距離升序排列,對(duì)每一對(duì)實(shí)體記錄排名前十的三元組的尾實(shí)體(方法一簡(jiǎn)圖見圖4),記錄正確尾實(shí)體的排名在前十名的比例,以及排名為第一的比例作為準(zhǔn)確率,并分別記錄召回率。
方法二設(shè)定一個(gè)距離閾值,對(duì)距離d小于閾值的三元組取出其頭實(shí)體和尾實(shí)體,其中頭實(shí)體即為A,尾實(shí)體即為要推理的目標(biāo)實(shí)體(記為C’),然后利用A和C’對(duì)關(guān)系進(jìn)行推理,記錄正確關(guān)系B的排名,使排名和距離d相乘作為對(duì)C’的打分,認(rèn)為分?jǐn)?shù)越少越有可能是正確實(shí)體。方法二是將方法一和關(guān)系指示詞推理相結(jié)合,利用關(guān)系指示詞推理的結(jié)果反饋指導(dǎo)實(shí)體推理。
圖4 尾實(shí)體推理方法一簡(jiǎn)圖
對(duì)比方法一、方法二的測(cè)試結(jié)果如表5所示。實(shí)驗(yàn)結(jié)果顯示方法二的效果更好。本實(shí)驗(yàn)也存在閾值的選擇問(wèn)題,由于1.0是關(guān)系推理時(shí)的最佳閾值,這里只增加了一組閾值為1.3的對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表6所示。綜合來(lái)看閾值為1.0時(shí)的F值較高,選擇1.0為最佳閾值取值。綜合上述實(shí)驗(yàn)結(jié)果并選取最佳的閾值,得到表7所示的本實(shí)驗(yàn)在small數(shù)據(jù)集和all數(shù)據(jù)集的最終結(jié)果。
通過(guò)觀察發(fā)現(xiàn)尾實(shí)體推理的準(zhǔn)確率遠(yuǎn)不如關(guān)系推理,分析可能是實(shí)體具有長(zhǎng)尾分布的特點(diǎn)造成的。這是很多大規(guī)模數(shù)據(jù)具有的。這些長(zhǎng)尾部分的實(shí)體和其他實(shí)體有極少的關(guān)系聯(lián)系,從而導(dǎo)致這部分實(shí)體涉及的三元組較少,進(jìn)而導(dǎo)致無(wú)法充分對(duì)其進(jìn)行訓(xùn)練。
表5 利用方法一、二做尾實(shí)體推理測(cè)試的實(shí)驗(yàn)結(jié)果(small數(shù)據(jù)集)
表6 閾值為1.0、1.3的尾實(shí)體推理測(cè)試的實(shí)驗(yàn)結(jié)果(small數(shù)據(jù)集)
表7 尾實(shí)體推理測(cè)試的實(shí)驗(yàn)結(jié)果(TransE_ipv)
為了驗(yàn)證可能是實(shí)體的數(shù)據(jù)的長(zhǎng)尾無(wú)法充分訓(xùn)練,進(jìn)而影響準(zhǔn)確率,我們?cè)O(shè)計(jì)實(shí)驗(yàn)進(jìn)行研究。在之前的訓(xùn)練中每次迭代為每個(gè)訓(xùn)練三元組構(gòu)造一個(gè)負(fù)例三元組進(jìn)行訓(xùn)練。為了緩解訓(xùn)練不充分的問(wèn)題,改進(jìn)算法在每次迭代中對(duì)每個(gè)訓(xùn)練三元組構(gòu)造50個(gè)負(fù)例三元組進(jìn)行訓(xùn)練(標(biāo)記為TransE_ipvn),使用相應(yīng)的測(cè)試集進(jìn)行尾實(shí)體推理測(cè)試,最后在small數(shù)據(jù)集上得到的實(shí)驗(yàn)結(jié)果如表8所示。
表8 尾實(shí)體推理測(cè)試的實(shí)驗(yàn)結(jié)果(small數(shù)據(jù)集)
實(shí)驗(yàn)結(jié)果顯示@hit_1和recall_hit_1都有顯著提升,可見嘗試增加負(fù)例三元組的數(shù)量對(duì)尾實(shí)體推理有較好的影響。當(dāng)增加大量負(fù)例三元組時(shí),尾實(shí)體推理效果可能會(huì)得到大幅度提升,但限制于訓(xùn)練時(shí)間原因,本實(shí)驗(yàn)未繼續(xù)增加負(fù)例三元組數(shù)量進(jìn)行測(cè)試。
基于傳統(tǒng)網(wǎng)狀結(jié)構(gòu)的知識(shí)庫(kù)無(wú)法有效地進(jìn)行知識(shí)推理,尤其當(dāng)知識(shí)庫(kù)的知識(shí)規(guī)模不斷擴(kuò)大,基于網(wǎng)狀結(jié)構(gòu)知識(shí)庫(kù)的推理很難較好地滿足實(shí)時(shí)計(jì)算的需求。因此,本文使用TransE模型對(duì)開放域中文知識(shí)庫(kù)進(jìn)行表示學(xué)習(xí),并對(duì)模型的代價(jià)函數(shù)進(jìn)行改進(jìn),主要研究基于知識(shí)庫(kù)表示學(xué)習(xí)的知識(shí)推理,包括對(duì)實(shí)體關(guān)系三元組中關(guān)系指示詞和尾實(shí)體的推理。實(shí)驗(yàn)結(jié)果顯示,基于知識(shí)庫(kù)表示學(xué)習(xí)的關(guān)系指示詞推理準(zhǔn)確率可以達(dá)到80%以上,且無(wú)需設(shè)計(jì)復(fù)雜的算法。在進(jìn)行應(yīng)用知識(shí)分布表示的尾實(shí)體推理測(cè)試中,準(zhǔn)確率和關(guān)系指示詞推理相比效果較差,我們對(duì)其原因進(jìn)行分析并驗(yàn)證,使用增加訓(xùn)練過(guò)程中負(fù)例三元組的方法可以將準(zhǔn)確率提升7個(gè)百分點(diǎn),同樣無(wú)需設(shè)計(jì)復(fù)雜算法即可實(shí)現(xiàn)對(duì)尾實(shí)體的推理。
[1] Miller G A. WordNet: a lexical database for English[J]. Communications of the ACM, 1995, 38(11): 39-41.
[2] Bollacker K, Evans C, Paritosh P, et al. Freebase: a collaboratively created graph database for structuring human knowledge[C]//Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. ACM, 2008: 1247-1250.
[3] Miller E. An introduction to the resource description framework[J]. Bulletin of the American Society for Information Science and Technology, 1998, 25(1): 15-19.
[4] 劉知遠(yuǎn), 孫茂松, 林衍凱, 等. 知識(shí)表示學(xué)習(xí)研究進(jìn)展[J]. 計(jì)算機(jī)研究與發(fā)展, 2016,53(2): 247-261.
[5] Bengio Y, Courville A, Vincent P. Representation learning: A review and new perspectives[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2013, 35(8): 1798-1828.
[6] Bordes A, Usunier N, Garcia-Duran A, et al. Translating embeddings for modeling multi-relational data[C]//Proceedings of International conference on Neural Information Processing Systems. 2013: 2787-2795.
[7] Bordes A, Weston J, Collobert R, et al. Learning structured embeddings of knowledge bases[C]//Proceedings of the Conference on Artificial Intelligence. 2011(EPFL-CONF-192344).
[8] Bordes A, Glorot X, Weston J, et al. A semantic matching energy function for learning with multi-relational data[J]. Machine Learning, 2014, 94(2): 233-259.
[9] Bordes A, Glorot X, Weston J, et al. Joint learning of words and meaning representations for open-text semantic parsing[C]//Proceedings of International Conference on Artificial Intelligence and Statistics. 2012: 127-135.
[10] Socher R, Chen D, Manning C D, et al. Reasoning with neural tensor networks for knowledge base completion[C]//Proceedings of International conference on Neural Information Processing Systems. 2013: 926-934.
[11] Wang Z, Zhang J, Feng J, et al. Knowledge Graph Embedding by Translating on Hyperplanes[C]//Proceedings of AAAI. 2014: 1112-1119.
[12] Lin Y, Liu Z, Sun M, et al. Learning Entity and Relation Embeddings for Knowledge Graph Completion[C]//Proceedings of AAAI. 2015: 2181-2187.
[13] Ji G, He S, Xu L, et al. Knowledge Graph Embedding via Dynamic Mapping Matrix[C]//Proceedings of ACL. 2015: 687-696.
[14] 安波,韓先培,孫樂(lè),等. 基于分布式表示和多特征融合的知識(shí)庫(kù)三元組分類[J]. 中文信息學(xué)報(bào),2016,30(06): 84-89,99.
[15] 來(lái)斯惟,徐立恒,陳玉博,等. 基于表示學(xué)習(xí)的中文分詞算法探索[J]. 中文信息學(xué)報(bào),2013,27(05): 8-14.
[16] Turian J, Ratinov L, Bengio Y. Word representations: a simple and general method for semi-supervised learning[C]//Proceedings of the 48th Annual meeting of the Association for Computational linguistics. Association for Computational Linguistics, 2010: 384-394.