呂 燕 俞耀維
(河海大學計算機與信息學院 南京 211100)
知識圖譜(knowledge graph,KG)[1~2]是一個多關系圖,它用節(jié)點表示實體或概念,用邊表示實體間關系或?qū)嶓w的屬性。Freebase[3]和 DBpedia[4]等許多KG 已被廣泛地應用于關系抽?。?]、知識庫問答[6]等基于知識的應用中。
知識圖譜嵌入[1~2]是將KG 的元素(實體、關系等)在連續(xù)的低維向量空間中進行適當表示,以便于鏈接預測、三元組分類、關系抽取、知識庫問答等下游任務的執(zhí)行。近年來,很多知識圖譜嵌入模型被提出,它們主要分為兩大類[1~2]:1)翻譯距離模型(translational distance models),典型的有 TransE[7]、TransH[8]、TransR[9]、TransD[10]、KR-EAR[11];2)語義匹配模型(semantic matching models),典型的有RESCAL[12]和 DistMult[13]。
KR-EAR[11]是一個著名的 KG 嵌入模型,它區(qū)分KG中兩類關系:實體間的聯(lián)系和實體的屬性,并在兩個向量空間中分別表示它們。眾所周知,實體可以有多值屬性(multivalued attributes)——這種屬性可以具有與同一個實體相關聯(lián)的多個值。例如,一個人(實體類型Person)會講多種自然語言(如:漢語、英語、法語等),因此,該實體的屬性languageSpoken 就是一個多值屬性。多值屬性在實際中和知識圖譜中普遍存在,例如,KR-EAR 的論文[11]使用的實驗數(shù)據(jù)集(知識圖譜)FB24k 中共有314 個屬性,其中含有140 個多值屬性(占44.6%)。然而,KR-EAR 未能精細地表示多值屬性,從而影響下游任務的準確度(accuracy),其根本原因是該模型用實體及其屬性值的嵌入(向量)來定義相應的屬性三元組的評分函數(shù)(scoring function),導致為多值屬性的不同屬性值學得的嵌入很相似。
為了解決上述問題,本文通過改進KR-EAR模型的屬性三元組表示來提出一種精細表示多值屬性的知識圖譜嵌入模型(稱為KGE-EAV)。在KGE-EAV 的屬性值空間中,每個實體都對應一個超平面,該實體的每個屬性值嵌入都在該超平面上形成一個投影向量;KGE-EAV 用這樣的投影向量(而不是屬性值嵌入)來定義屬性三元組的評分函數(shù),從而可以為多值屬性的不同屬性值學得不同的嵌入,即KGE-EAV 模型精細地表示了實體的多值屬性。
如同 KR-EAR,KGE-EAV 也將 KG 中的關系區(qū)分為實體間的聯(lián)系和實體的屬性,并分別在關系空間和屬性值空間中表示它們;兩個模型的不同之處在于屬性三元組的評分函數(shù)定義不同。
圖1示意了KGE-EAV 模型的基本思想。關系空間中表示了實體e1,…,e5之間聯(lián)系的嵌入(向量r1,…,r4);屬性空間中表示了這些實體的屬性值的嵌入(V1和V2分別是屬性a1(單值屬性)和a2(多值屬性)的值域。在屬性值空間中,KGE-EAV 為每個實體(如e∈{e1,…,e5})創(chuàng)建一個超平面(其法向量是we),該超平面包含通過屬性特定的單層神經(jīng)網(wǎng)絡(single-layer neural network)將實體嵌入(如向量e∈{e1,…,e5})從關系空間轉換到屬性值空間后得到的向量(如向量e')。在表示屬性三元組時,KGE-EAV先將每個實體的每個屬性的每個屬性值∈Vi的嵌入(如向量v)都投影到為該實體創(chuàng)建的超平面上,得到各個屬性值的投影向量(如向量v⊥),然后利用投影向量為相應的屬性三元組定義評分函數(shù)。
圖1 KGE-EAV模型的基本思想
表1給出了描述KGE-EAV 模型用到的數(shù)學符號,其中前9個符號是文獻[11]中引入的。
表1 數(shù)學符號及其含義
2.2.1 關系三元組的表示
KGE-EAV 與 KR-EAR 一樣,采用TransE[7]和TransR[9]來表示關系三元組(relational triple)(h,r,t),其評分函數(shù)分別用式(1)和(2)定義:
其中,b1是偏置常數(shù)(bias constant),Mr是關系r的投影矩陣。
2.2.2 屬性三元組的表示
KGE-EAV使用下列三個步驟來定義屬性三元組(attribute triple)(e,a,v)的評分函數(shù)。
第一步,給定實體e∈E(其在關系空間中的嵌入為e)及其屬性a∈A(其在屬性值空間中的嵌入為a),為該實體創(chuàng)建一個超平面,它包含通過屬性特定的單層神經(jīng)網(wǎng)絡把e從關系空間轉換到屬性值空間后得到的向量e',它用式(3)定義:
其中,單層神經(jīng)網(wǎng)絡f()是一個非線性函數(shù),如雙曲函數(shù)tanh。
第二步,將每個實體e∈E的每個屬性的每個屬性值嵌入v都投影到為該實體創(chuàng)建的超平面(設其法向量是we)上,得到屬性值嵌入的投影向量v⊥,它用式(4)定義:
第三步,用v⊥為每個屬性三元組(e,a,v)∈Y定義評分函數(shù)h(e,a,v),其用式(5)定義:
其中b2是偏置常數(shù)。
另外,與 KR-EAR 的做法一樣,KGE-EAV 也考慮實體的多個屬性之間的相關性(attribute correlations,AC)[11]。具體來說,對一個實體e和它的屬性三元組(e,a,v),KG 中該實體除此屬性三元組外的所有已知的屬性三元組表示為屬性相關性的評分函數(shù)用式(6)[11]來定義:
其中,(a,v) 是屬性-值對,是Y(e) 中的屬性-值對;表示在給定的情況下(a,v)的條件概率,表示兩個屬性-值對之間的相關性;是向量a和的點積,表示屬性a和aˉ之間的相關性。
給定知識圖譜G,我們的目標是學得G中實體、關系、屬性的嵌入X。令S和Y分別表示G中所有關系三元組和屬性三元組,并假設S和Y是條件獨立的,P(S|X)表示S的條件概率,P(Y|X)表示Y的條件概率。與KR-EAR 的做法一樣,KGE-EAV 通過最大化給定X情況下S和Y的聯(lián)合概率P(S,Y|X)來定義目標函數(shù),即用式(7)[11]來定義目標函數(shù):
其中,P((h,r,t)|X)是關系三元組 (h,r,t)的條件概率,P((e,a,v)|X)是屬性三元組 (e,a,v)的條件概率,它們分別用式(8)[14]和(9)[11]來定義:
進一步地,與KR-EAR的做法一樣,KGE-EAV也采用負采樣(negative sampling)[15]來近似上述式(8)和(9)中的條件概率。例如,P(h|r,t,X)用式(10)[11]來近似:
其中,σ(x)=1/(1+exp(-x)) 是一個 sigmoid 函數(shù),是無效的(invalid)關系三元組的集合,P(S-)是用來從S-中隨機抽樣的函數(shù),g()是前文已定義的關系三元組的評分函數(shù)。
同KR-EAR 的做法,KGE-EAV 將優(yōu)化函數(shù)O(X)定義為目標函數(shù)的對數(shù)似然(log-likelihood)函數(shù),即優(yōu)化函數(shù)用式(11)[11]來定義:
其中,γ是一個超參數(shù),用于對正則化因子C(X)加權。C(X)用式(12)來定義:
其中,[x]+=max(0,x)是指取0和x之間的最大數(shù);最后一個求和項中的f(eWi+bi)表示通過屬性特定的單層神經(jīng)網(wǎng)絡把實體嵌入e從關系空間轉換到屬性值空間后得到的向量e'(參見式(3)定義),于是,最后一個求和項是一個約束條件,用于保證e' 位于為實體e創(chuàng)建的超平面上,實驗中設置ε=0.1。
為了得到最優(yōu)結果,本文使用隨機梯度下降(SGD)方法來最小化式(11)定義的優(yōu)化函數(shù)。
3.1.1 實驗任務
我們在兩種典型的下游任務即實體預測(預測三元組中缺失的頭/尾實體)和屬性預測(預測三元組中缺失的屬性值)上對KGE-EAV、KR-EAR以及三個基線模型(TransE[7]、TransH[8]、TransR[9])進行預測準確度的實驗對比。
3.1.2 模型實現(xiàn)
KR-EAR 直接用論文[11]公布的C++代碼(網(wǎng)址:https://github.com/thunlp/KR-EAR)。KGE-EAV的代碼是通過修改KR-EAR 的C++代碼而成的,主要修改了兩個部分:屬性三元組的評分函數(shù)計算和模型訓練中正則化因子C(X)的計算。由于采用了與文獻[11]中完全相同的實驗數(shù)據(jù)集和參數(shù)設置,按照本領域中慣例,三個基線模型的實驗結果直接取自文獻[11]中給出的相關實驗結果。
3.1.3 參數(shù)設置
我們的實驗完全按照文獻[11]中給出的最佳配置來設置KR-EAR 的參數(shù)。KGE-EAV 模型的參數(shù)設置如下:SGD 的學習率λ取值于{0.1,0.01,0.001},權重γ取值于{0.1,0.01,0.001},向量空間維度n和m均取值于{20,50,80,100},所有偏置常數(shù)b1,b2,c1,c2在-10~10 中取值。我們通過網(wǎng)格搜索(grid search)來確定KGE-EAV 的如下最佳配 置 :λ=0.001 、γ=0.1 、n=100 、m=100 、b1=10、b2=-7、c1=10、c2=1,使用L1范數(shù)。同文獻[11]的做法,模型訓練的迭代次數(shù)為1000。
3.1.4 數(shù)據(jù)集
我們使用與文獻[11]中相同的數(shù)據(jù)集(即FB24k)及其劃分、交叉驗證方式來進行實驗評價。FB24k 是文獻[11]通過從大型知識圖譜Freebase[3]中抽取三元組構建的數(shù)據(jù)集,低頻率的(即在少于30個三元組中出現(xiàn)的)實體和關系以及逆(reverse)關系被過濾掉,數(shù)據(jù)集中三元組被劃分為“relations”和“attributes”兩個部分。該數(shù)據(jù)集被隨機地劃分為訓練集和測試集,通過訓練集上的5 折交叉驗證來調(diào)試模型[11]。
3.1.5 評價指標
我們使用兩個評價指標Mean Rank(正確實體的平均排名)和Hits@N(排名前N 位的實體中正確實體的比例)來評估模型的性能。與論文[11]中做法相同,這些指標值的計算過程如下:對于實體預測任務,首先用實體集E中所有實體逐個替換測試集中每個關系三元組的頭實體和尾實體,獲得兩個損壞的(corrupted)三元組;然后用式(1)和式(2)定義的評分函數(shù)來計算損壞的三元組的排名分數(shù);最后將E中實體按排名分數(shù)的升序進行排列后得到正確實體的排名,并籍此計算上述兩個評價指標值。對于屬性預測任務,兩個指標值的計算過程與上述計算過程類似,但不同的是用屬性值集V中所有屬性值逐個替換測試集中每個屬性三元組中的屬性值,獲得一個損壞的三元組,然后用式(5)和(6)定義的評分函數(shù)來計算損壞的三元組的排名分數(shù)。
值得指出的是,上述替換后得到的損壞的三元組也有可能存在于知識圖譜中,因此該三元組應該被判定為正確的(positive)三元組。與現(xiàn)有工作[7~11]一樣,我們的實驗也采用“Raw”和“Filter”兩種常用評價設置:“Raw”指不過濾掉損壞但正確的三元組,而“Filter”指過濾掉損壞但正確的三元組。
表2列出了各個實驗對比模型在數(shù)據(jù)集FB24k上執(zhí)行實體預測任務的實驗結果(Mean Rank 與Hits@10 指標值),其中,Head 列中的數(shù)據(jù)表示預測頭實體的結果,Tail 列中的數(shù)據(jù)表示預測尾實體的結果,Total 列中的數(shù)據(jù)是預測頭實體結果、預測尾實體結果的算術平均值。觀察這些實驗結果,我們有如下發(fā)現(xiàn):
1)在兩個性能指標上,KGE-EAV 略優(yōu)于KR-EAR,并明顯優(yōu)于三個基線模型。
2)從Total列的數(shù)據(jù)中可看出,在Hits@10指標上,“Filter”設置下 KGE-EAV(TransE)比 KR-EAR(TransE)提 高 了 0.5% ,KGE-EAV(TransR)比KR-EAR(TransR)提高了0.9%。
3)從Total列的數(shù)據(jù)中可看出,在Hits@10指標上,“Filter”設置下KGE-EAV(TransR)的指標值高于KGE-EAV(TransE)的指標值(3.2%),這說明在表示關系三元組時,KGE-EAV 模型使用TransR 更佳。
表2 實體預測的實驗結果
根據(jù)上述發(fā)現(xiàn)可得出結論:由于KGE-EAV 能更合理地表示實體嵌入,其實體預測的性能優(yōu)于KR-EAR和三個基線模型。
在屬性預測時,正如前文所述,KR-EAR 和KGE-EAV都可考慮實體的多個屬性之間的相關性(AC)。在下文給出實驗結果時,將考慮了AC 的模型用模型名稱+AC來標識。
表3 列出了各個模型在數(shù)據(jù)集FB24k 上執(zhí)行屬性預測任務的實驗結果(Mean Rank 與Hits@1 指標值)。觀察這些實驗結果,有如下發(fā)現(xiàn):
表3 屬性預測的實驗結果
1)在兩個評價指標上,KGE-EAV 略優(yōu)于KR-EAR,并明顯優(yōu)于基線模型。
2)在 Hits@1 指 標 上 ,“Filter”設 置 下 ,KGE-EAV(TransE)比 KR-EAR(TransE)提高了1.2%,KGE-EAV(TransR)比KR-EAR(TransR)提高了0.6%。
3)在 Hits@1 指 標 上 ,“Filter”設 置 下 ,KGE-EAV(TransE)+AC 比KR-EAR(TransE)+AC提高了0.7%,KGE-EAV(TransR)+AC 比KR-EAR(TransR)+AC提高了0.7%。
4)在 Hits@1 指標上,“Filter”設置下,考慮了實體的多個屬性之間的相關性(AC)后,KGE-EAV(TransE)+AC 比KGE-EAV(TransE)提高了0.9%,KGE-EAV(TransR)+AC 比KGE-EAV(TransR)提高了1.1%,這說明考慮屬性之間的相關性更有利于提高屬性預測的準確度。這與文獻[11]中KR-EAR(TransE)+AC 和KR-EAR(TransR)+AC的性能提高情況類似。
根據(jù)上述發(fā)現(xiàn)可得出結論:由于KGE-EAV 能更合理地表示多值屬性的屬性值嵌入,其屬性預測的性能優(yōu)于KR-EAR和三個基線模型。
本文通過改進KR-EAR 的屬性三元組表示來提出一種精細表示多值屬性的知識圖譜嵌入模型KGE-EAV。在KGE-EAV 的屬性值空間中,為每個實體創(chuàng)建一個超平面,該實體的每個屬性值嵌入都在該超平面上形成一個投影向量,KGE-EAV 使用這樣的投影向量來定義屬性三元組的評分函數(shù)。實驗表明,在實體預測和屬性預測兩項任務上,KGE-EAV 的準確度均優(yōu)于KR-EAR 和三個基線模型(TransE、TransH和TransR)。