昌攀,曹揚(yáng)
(中電科大數(shù)據(jù)研究院國(guó)家工程實(shí)驗(yàn)室, 貴州貴陽(yáng)550081)
伴隨著大數(shù)據(jù)時(shí)代的到來(lái),各行各業(yè)的數(shù)據(jù)呈現(xiàn)爆炸式的增長(zhǎng),知識(shí)圖譜(knowledge graph)[1]為高效利用這些海量的數(shù)據(jù)資源[2-3]提供了一個(gè)強(qiáng)大的引擎。知識(shí)圖譜最早是由谷歌(Goole)公司于2012年提出來(lái)的,最初的目的是幫助谷歌提高智能化的搜索,提供一種實(shí)體間關(guān)系的語(yǔ)義網(wǎng)絡(luò),現(xiàn)在主流的知識(shí)圖譜已經(jīng)發(fā)展成為支撐眾多人工智能(artificial intelligence, AI)應(yīng)用的核心,常見(jiàn)的AI應(yīng)用包括智能搜索、自動(dòng)問(wèn)答[4]、推薦系統(tǒng)[5]、決策支持等。知識(shí)圖譜中包含著大量的事實(shí)三元組,將實(shí)體(包括概念、屬性值)表示成知識(shí)圖譜中的節(jié)點(diǎn),節(jié)點(diǎn)之間的連接表示關(guān)系,以(頭實(shí)體,關(guān)系,尾實(shí)體)[表示為(h,r,t)]的形式存儲(chǔ),用網(wǎng)狀的結(jié)構(gòu)展示所獲取的知識(shí)。目前,已經(jīng)建成的知識(shí)圖譜包括Yago[6]、DBpedia[7]、FreeBase[8]等。
雖然在過(guò)去的十幾年中,知識(shí)圖譜取得了巨大的發(fā)展,但是還存在著一些局限,其中知識(shí)圖譜不能包含所有的知識(shí)就是一個(gè)重大的局限,知識(shí)圖譜的不完整性嚴(yán)重制約了AI領(lǐng)域中應(yīng)用程序的效能,如何通過(guò)現(xiàn)有的知識(shí)補(bǔ)充、完全知識(shí)圖譜中所有的知識(shí)逐漸成為了知識(shí)圖譜領(lǐng)域里亟待解決的問(wèn)題之一。知識(shí)圖譜補(bǔ)全(knowledge graph completion, KGC)是解決這一問(wèn)題的重要技術(shù)手段。知識(shí)圖譜補(bǔ)全旨在補(bǔ)全知識(shí)圖譜中不完整的知識(shí)[9],其中最重要的方法就是知識(shí)推理。
目前,最常見(jiàn)的知識(shí)推理是基于分布式表示的推理。知識(shí)圖譜分布式表示方法[10]是將網(wǎng)狀的語(yǔ)義信息表示成稠密的低維的實(shí)值向量,向量之間的距離代表了兩個(gè)語(yǔ)義對(duì)象之間的相似程度,距離越小,代表相應(yīng)的語(yǔ)義對(duì)象相似度越高,反之亦然。BORDES等[11]提出了第一個(gè)基于翻譯的表示模型——TransE用于知識(shí)推理,TransE模型將知識(shí)圖譜中的實(shí)體和關(guān)系表示成低維嵌入式向量,將每一種關(guān)系看做是嵌入式空間中的一個(gè)翻譯,對(duì)于知識(shí)圖譜中存在的三元組(h,r,t),基于翻譯的模型滿足低維表示頭實(shí)體向量h與關(guān)系向量r的和接近尾實(shí)體向量t的值,即h+r≈t,否則遠(yuǎn)離。TransE模型適用于處理一對(duì)一的關(guān)系,無(wú)法很好地處理一對(duì)多,多對(duì)一和多對(duì)多的關(guān)系。TransH模型[12]克服了處理一對(duì)多,多對(duì)一和多對(duì)多的關(guān)系的弊端,TransH模型將關(guān)系當(dāng)做是在特定的關(guān)系超平面上的翻譯,使用超平面的法向量wr和關(guān)系翻譯向量dr表征模型,首先將頭、尾實(shí)體映射到超平面中,得到映射后的實(shí)體h⊥=h-wrThwr,t⊥=t-wrTtwr,然后構(gòu)造翻譯模型,獲得h⊥+dr≈t⊥。針對(duì)TransE和TransH模型都是將實(shí)體和關(guān)系映射到同一空間的狀況,與現(xiàn)實(shí)中實(shí)體和關(guān)系具有不同的屬性和類(lèi)別的情況相矛盾,TransR和CTransR[13]提出實(shí)體空間與關(guān)系空間不相同的理論,它們同樣都是將知識(shí)圖譜中三元組實(shí)體和關(guān)系嵌入到不同的實(shí)體空間和關(guān)系空間中,然后通過(guò)映射Mr將實(shí)體從實(shí)體空間映射到關(guān)系空間中進(jìn)行hr+r≈tr翻譯學(xué)習(xí)。CTransR不同于TransR之處在于:在特定的關(guān)系下,頭、尾實(shí)體通常映射成不同的模型,僅僅通過(guò)單個(gè)關(guān)系向量還不足以實(shí)現(xiàn)從頭實(shí)體到尾實(shí)體的所有翻譯學(xué)習(xí),CTransR借助分段線性回歸的思想,通過(guò)對(duì)不同的頭尾實(shí)體對(duì)聚類(lèi)分組個(gè)學(xué)習(xí)每組的關(guān)系向量。
以上的Trans系列方法在模型的訓(xùn)練過(guò)程中,構(gòu)造的負(fù)例三元組僅僅是通過(guò)正例三元組按照一定的策略替換頭、尾實(shí)體得來(lái)的,并未考慮到替換后的頭實(shí)體/尾實(shí)體與原頭實(shí)體/尾實(shí)體之間的相似度關(guān)系,例如:在一個(gè)(美國(guó),總統(tǒng),特朗普)三元組關(guān)系替換過(guò)程中,將“特朗普”替換成“奧巴馬”的錯(cuò)誤程度遠(yuǎn)遠(yuǎn)低于將“特朗普”替換成“比爾蓋茨”的錯(cuò)誤程度,受到文獻(xiàn)[13]的啟發(fā),提出了改進(jìn)的TransH模型(mTransH),mTransH模型在構(gòu)造損失函數(shù)的過(guò)程中,采用單層神經(jīng)網(wǎng)絡(luò)的非線性操作來(lái)精確刻畫(huà)實(shí)體和關(guān)系之間的語(yǔ)義信息,創(chuàng)新性地加入了正、負(fù)三元組間的頭/尾實(shí)體之間的差異度信息,用于校正正、負(fù)三元組樣本之間的聯(lián)系,降低負(fù)例樣本的錯(cuò)誤程度,提高模型對(duì)實(shí)體的辨識(shí)度,從而提高知識(shí)鏈接推理的準(zhǔn)確率和Hit@10指標(biāo)。
Trans系列的模型是對(duì)知識(shí)庫(kù)中的實(shí)體、關(guān)系三元組進(jìn)行分布式表示學(xué)習(xí),符號(hào)h表示三元組中的頭實(shí)體,r表示三元組中的關(guān)系,t表示三元組中的尾實(shí)體,對(duì)于分布式表示的頭、關(guān)系、尾實(shí)體使用加粗的符號(hào)h,r,t表示,除此之外,使用符號(hào)△表示知識(shí)庫(kù)中正例的三元組集合,符號(hào)△′表示負(fù)例三元組樣本集合,E表示實(shí)體的集合,R表示關(guān)系的集合。
TransE模型將實(shí)體集E和關(guān)系集R都映射到同一個(gè)平面中,經(jīng)過(guò)表示后的向量(h,r,t)∈Rk,并且對(duì)于知識(shí)庫(kù)中的正例三元組滿足‖h+r-t‖l1/l2值較低,其中l(wèi)1/l2代表距離計(jì)算的范式,盡管TransE模型在知識(shí)庫(kù)中的一對(duì)一的推理問(wèn)題上效果較佳,所需參數(shù)較少,但是無(wú)法解決自反、一對(duì)多、多對(duì)一關(guān)系的問(wèn)題。假定對(duì)于任意正確的三元組(h,r,t)∈△,經(jīng)過(guò)表示后的實(shí)體、關(guān)系向量都滿足h+r-t=0,可以推理得到以下的一些結(jié)論:
① 對(duì)于自反關(guān)系,存在(h1,r,t1)∈△,同時(shí)(t1,r,h1)∈△也是成立的,r是一個(gè)自反的關(guān)系,它們經(jīng)過(guò)翻譯后的向量同時(shí)都會(huì)滿足h1+r-t1=0,t1+r-h1=0,經(jīng)過(guò)運(yùn)算后,可以得到h1=t1,r=0,這顯然與實(shí)時(shí)的情況不符合,例如三元組(小明,好朋友,小張),反之亦然(小張,好朋友,小明)成立,但表示后的向量“小明”卻不應(yīng)該等于“小張”;
② 對(duì)于一對(duì)多的關(guān)系,對(duì)于?i∈{0,1,…,m},(h,r,ti)∈△,r是一對(duì)多的關(guān)系,經(jīng)過(guò)翻譯后的向量都應(yīng)該滿足h+r-ti=0,經(jīng)過(guò)運(yùn)算,可以得到t1=t2=…=tm,這種表示后的尾實(shí)體向量都相等與事實(shí)情形嚴(yán)重不符合;
③ 對(duì)于多對(duì)一的關(guān)系,對(duì)于?i∈{0,1,…,m},(hi,r,t)∈△,r是多對(duì)一的關(guān)系,經(jīng)過(guò)翻譯后的向量都應(yīng)該滿足hi+r-t=0,經(jīng)過(guò)運(yùn)算,可以得到h1=h2=…=hm,這種表示后的頭實(shí)體向量都相等與事實(shí)情形嚴(yán)重不符合。
綜上所述,TransE模型在自反、一對(duì)多和多對(duì)一的關(guān)系上無(wú)法很好地反映現(xiàn)實(shí)三元組的一些特征,其根本原因是實(shí)體和關(guān)系集都映射在同一個(gè)平面上,經(jīng)過(guò)運(yùn)算后,出現(xiàn)在多個(gè)關(guān)系中的同一個(gè)實(shí)體的表示是相同的情形,TransE和TransH翻譯后的向量關(guān)系如圖1所示。TransH采用了不同的思路對(duì)實(shí)體、關(guān)系集進(jìn)行表示,借助關(guān)系超平面將不同的實(shí)體映射到同一個(gè)平面中,然后再對(duì)知識(shí)圖譜的三元組進(jìn)行運(yùn)算,即使不同的實(shí)體,只要能滿足在超平面上投影的向量相同就可以進(jìn)行運(yùn)算了。
(a) TransE
(b) TransH
mTransH模型在構(gòu)造代價(jià)函數(shù)的過(guò)程中,受到CTransR模型的聚類(lèi)思想啟發(fā),通過(guò)計(jì)算構(gòu)造的負(fù)例三元組與正例三元組(又叫黃金三元組)之間的替換對(duì)象的相似度,然后將相似度轉(zhuǎn)化為差異度(假定:相識(shí)度+差異度=1)加入到mTransH代價(jià)函數(shù)中,讓mTransH模型能夠比對(duì)替換的三元組與正確三元組之間的相似、差異關(guān)系,提高模型在辨別正例三元組上及其相似的三元組上的能力,從而提高模型的知識(shí)推理準(zhǔn)確率和Hits@10的指標(biāo)。
在mTransH模型中,實(shí)體和關(guān)系擁有不同的表示,并且每一個(gè)關(guān)系都對(duì)應(yīng)一個(gè)超平面。如圖1(b)所示,首先將實(shí)體向量h和t沿著超平面的法向量wr投影到關(guān)系r所對(duì)應(yīng)的超平面上,其中‖wr‖2=1,投影后的向量可以表示為:
h⊥=h-wrThwr,t⊥=t-wrTtwr。
(1)
經(jīng)過(guò)投影后的向量的得分函數(shù)可以表示為:
(2)
損失函數(shù)表示了一個(gè)三元組正確程度的差異,對(duì)于正確的三元組,得分函數(shù)打分越低越好,反之亦然。受到文獻(xiàn)[14]的啟發(fā),可以通過(guò)單層神經(jīng)網(wǎng)絡(luò)來(lái)減輕距離模型中無(wú)法精確刻畫(huà)實(shí)體和關(guān)系語(yǔ)義聯(lián)系的問(wèn)題,將神經(jīng)網(wǎng)絡(luò)的引入到得分函數(shù)后的得分函數(shù)表示為:
(3)
其中,g( )函數(shù)為tanh函數(shù)。
(4)
其中[x]+max(0,x),△表示知識(shí)圖譜中的正例三元組,△′(h,r,t)表示由相應(yīng)的正例三元組(h,r,t)替換頭/尾實(shí)體構(gòu)造得到的負(fù)例三元組,γ>0表示分割正負(fù)例三元組樣本的間隔值。最小化成本函數(shù)的時(shí)候,同時(shí)也考慮了以下的限制:
?e∈E,‖e‖≤1,
(5)
?r∈R,|wrTdr|/‖dr‖2≤ε,
(6)
?r∈R,‖wr‖2=1。
(7)
將這些限制函數(shù)加入到成本函數(shù)中,可以得到實(shí)際上要訓(xùn)練的成本函數(shù)為:
(8)
通過(guò)分析式(7),成本函數(shù)中只考慮到了正例三元組與負(fù)例三元組之間的差異度,沒(méi)有進(jìn)一步分析正例三元組與之衍生出來(lái)的負(fù)例三元組之間的差異度程度關(guān)系,為了加入正負(fù)例樣本之間的差異度計(jì)算,對(duì)原始的式(7)進(jìn)行一下的改進(jìn)工作。
對(duì)于由正例三元組(h,r,t)∈△,構(gòu)造的負(fù)例三元組(h′,r,t′)∈△′(h,r,t),為了計(jì)算它們之間被替換后的差異度,可以分以下兩種情況考慮。
① 對(duì)于替換頭實(shí)體的正負(fù)例三元組,可以計(jì)算正負(fù)例頭實(shí)體之間的余弦相似度,具體的計(jì)算公式為:
(9)
式(8)中的相似度s∈[0,1],假定相似度和差異度之和恒為1,可以得到正負(fù)例頭實(shí)體之間的差異度為:
d=1-s。
(10)
② 對(duì)于替換尾實(shí)體的正負(fù)例三元組與情況①相同,不再贅述;
綜上所述,最終加入正負(fù)例樣本的差異度的mTransH模型的成本函數(shù)為:
(11)
mTransH模型主要的改進(jìn)在于對(duì)正負(fù)例三元組中的替換規(guī)則間產(chǎn)生的樣本差異度進(jìn)行了度量,保證了對(duì)頭尾實(shí)體的替換關(guān)系的度量,提高mTransH模型對(duì)實(shí)體的辨識(shí)度,對(duì)知識(shí)圖譜中三元組的推理能力,提高模型的知識(shí)鏈接推理準(zhǔn)確率和Hits@10指標(biāo)。
實(shí)驗(yàn)結(jié)果的比對(duì)采用的數(shù)據(jù)集是公開(kāi)的WN18和FB15K兩個(gè)數(shù)據(jù)集[15]。WN18數(shù)據(jù)集來(lái)自于WordNet[16],它是英文詞匯的知識(shí)圖譜;FB15K數(shù)據(jù)集來(lái)自于Freebase[17],它是由Wikipedia的數(shù)據(jù)構(gòu)建而成,基于事實(shí)的百科知識(shí)圖譜。WN18和FB15K兩個(gè)數(shù)據(jù)集包含的實(shí)際實(shí)體、關(guān)系和三元組的詳細(xì)信息見(jiàn)表1。
表1 WN18和FB15K數(shù)據(jù)集的詳細(xì)信息Tab.1 Details of the WN18 and FB15K data sets
知識(shí)圖譜的鏈接預(yù)測(cè)任務(wù)主要是對(duì)實(shí)體的預(yù)測(cè),主要集中在對(duì)頭或尾實(shí)體的預(yù)測(cè),當(dāng)給定(h,r,?)時(shí)需要對(duì)尾實(shí)體進(jìn)行預(yù)測(cè),當(dāng)給定(?,r,t)時(shí)需要對(duì)頭實(shí)體進(jìn)行預(yù)測(cè),預(yù)測(cè)的步驟是將實(shí)體集中的每一個(gè)實(shí)體替換缺失的實(shí)體,通過(guò)計(jì)算得分函數(shù)進(jìn)行評(píng)估,選取得分最小的實(shí)體作為預(yù)測(cè)的實(shí)體。
在實(shí)際的鏈接預(yù)測(cè)過(guò)程中,由于替換正確三元組的頭/尾實(shí)體,然后計(jì)算實(shí)際的得分進(jìn)行預(yù)測(cè),如果預(yù)測(cè)得到的正確實(shí)體排在前T位,則證明預(yù)測(cè)是有效的,這種預(yù)測(cè)方式成為Hits@T,通常Hits@10在實(shí)驗(yàn)中比較常見(jiàn)[11],本文也選擇了Hits@10和Hits@1作為實(shí)驗(yàn)的驗(yàn)證指標(biāo)。由于替換得到的鏈接三元組可能真實(shí)存在于三元組中(這是由于三元組關(guān)系具有一對(duì)多、多對(duì)一和多對(duì)多特性造成的),這樣會(huì)對(duì)鏈接預(yù)測(cè)結(jié)果產(chǎn)生干擾,于是通常將不做任何處理的鏈接預(yù)測(cè)稱(chēng)為“Raw”指標(biāo),將替換后的真實(shí)存在于知識(shí)圖譜中的三元組數(shù)據(jù)進(jìn)行剔除后的鏈接預(yù)測(cè)稱(chēng)為“Filter”指標(biāo),當(dāng)“Raw”和“Filter”中的Hits@10、Hits@1指標(biāo)越大的時(shí)候,表明性能越好。
實(shí)驗(yàn)的比對(duì)選用的是SE[15]、TransE[11]和TransH[12]3個(gè)模型進(jìn)行比對(duì),實(shí)驗(yàn)指標(biāo)使用“Raw”和“Filter”中的Hits@10、Hits@1指標(biāo),由于在Hits@1中的“Filter”總是大于“Raw”,所以只選擇Hits@1中的“Filter”指標(biāo),對(duì)于負(fù)例三元組的構(gòu)造均采用伯努利分布概率策略。為了加速mTransH的收斂,使用TransE模型的實(shí)體向量表示作為初始化mTransH模型實(shí)體向量。
在WN18數(shù)據(jù)集上,實(shí)體維度和關(guān)系維度k=100,學(xué)習(xí)率τ=0.001,γ=1,C=0.062 5,采用隨機(jī)梯度下降算法作為優(yōu)化方法;在FB15K數(shù)據(jù)集上,在Hits@10的實(shí)驗(yàn)過(guò)程中,選用的實(shí)體和關(guān)系的維度k=100,學(xué)習(xí)率τ=0.001,γ=1,C=0.062 5,對(duì)于Hits@1而言,選用的實(shí)體和關(guān)系的維度k=200,學(xué)習(xí)率τ=0.01,γ=0.5,C=0.062 5,實(shí)驗(yàn)采用“bern”(伯努利分布)和“unif”(均勻分布)來(lái)替換正例三元組中的頭尾實(shí)體,取較好的結(jié)果作為最終的結(jié)果。實(shí)驗(yàn)使用的服務(wù)器的配置為32核的CPU,每個(gè)核心的規(guī)格Intel(R) Xeon(R) CPU E5-2620 v4@2.10GHz,內(nèi)存64 G,無(wú)需使用GPU。實(shí)驗(yàn)比對(duì)的結(jié)果如表2所示。
表2 鏈接預(yù)測(cè)實(shí)驗(yàn)的比對(duì)結(jié)果Tab.2 Comparison results with linking prediction experiment %
由表2的實(shí)驗(yàn)結(jié)果可以看出,無(wú)論是在WN18數(shù)據(jù)集,還是在FB15K數(shù)據(jù)集上,mTransH模型的Hits@10和Hits@1指標(biāo)均高于SE、TransE和TransH模型,最低高出了2.6 %,最高高出了5 %,達(dá)到了較好的實(shí)驗(yàn)結(jié)果。
對(duì)Hits@10指標(biāo)在FB15K數(shù)據(jù)集上的關(guān)系分類(lèi)進(jìn)行研究,得到如表3所示的實(shí)驗(yàn)結(jié)果。
表3 FB15K數(shù)據(jù)集的各類(lèi)關(guān)系的Hit@10值Tab.3 Hit@10 value of each type of relationship in FB15K data set %
由表3的實(shí)驗(yàn)數(shù)據(jù)可知,mTransH模型在FB15K數(shù)據(jù)集上的頭實(shí)體預(yù)測(cè)任務(wù)中,對(duì)于一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的關(guān)系,Hits@10的預(yù)測(cè)精確度均高于SE、TransE、TransH模型,最少提升了2.9 %,最多可以提升9.8 %;在尾實(shí)體的預(yù)測(cè)任務(wù)中,mTransH模型在一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的關(guān)系上,Hits@10的預(yù)測(cè)精確度均高于SE、TransE、TransH模型,最少提升了1.8 %,最多可以提升7.3 %。
綜上所述,mTransH模型相對(duì)SE、TransE和TransH模型在知識(shí)圖譜鏈接預(yù)測(cè)的任務(wù)中表現(xiàn)比較優(yōu)秀,提高了鏈接預(yù)測(cè)的準(zhǔn)確率,證明了mTransH算法在構(gòu)造的損失函數(shù)中,采用單層神經(jīng)網(wǎng)絡(luò)的非線性操作來(lái)精確刻畫(huà)實(shí)體和關(guān)系之間的語(yǔ)義信息,同時(shí)創(chuàng)新性地加入了正、負(fù)三元組之間的頭/尾實(shí)體之間的差異度信息,用于校正正、負(fù)三元組樣本之間的相似度,降低負(fù)例樣本的錯(cuò)誤程度,使模型能夠辨別替換的實(shí)體間的相似度,提高知識(shí)鏈接推理的準(zhǔn)確率。
mTransH模型在構(gòu)造TransH的損失函數(shù)中,采用單層神經(jīng)網(wǎng)絡(luò)的非線性操作來(lái)精確刻畫(huà)實(shí)體和關(guān)系之間的語(yǔ)義信息,同時(shí)創(chuàng)新性地加入了正、負(fù)三元組之間的頭/尾實(shí)體之間的差異度信息,用于校正正、負(fù)三元組樣本之間的聯(lián)系,使模型能夠辨別替換的實(shí)體間的相似度關(guān)系,在知識(shí)圖譜的鏈接預(yù)測(cè)任務(wù)中,降低負(fù)例樣本的錯(cuò)誤程度,提高對(duì)正例樣本的辨識(shí)度,從而提高知識(shí)推理的鏈接預(yù)測(cè)準(zhǔn)確率。mTransH模型還存在著一些不足之處,由于mTransH模型是在TransH基礎(chǔ)上改進(jìn)而來(lái),受限于TransH模型的知識(shí)表示能力,mTransH模型依舊存在頭、尾實(shí)體鏈接預(yù)測(cè)對(duì)一對(duì)多和多對(duì)一關(guān)系敏感的弊端,具有較大的改進(jìn)潛力。