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