?

TransP:一種基于WordNet中PartOf關系的知識圖譜嵌入方法

2022-07-07 02:52李天宇周子力趙曉函陳丹華王凱莉
計算機應用與軟件 2022年5期
關鍵詞:球體圖譜向量

李天宇 周子力 趙曉函 陳丹華 王凱莉

(曲阜師范大學軟件學院 山東 濟寧 273100)

0 引 言

知識圖譜目的在于將人類知識組成機器可閱讀的結構化知識庫,知識圖譜的出現實現了從字符串匹配到智能閱讀理解的躍遷。Freebase、WordNet和YAGO等知識圖譜目前已經成為搜索引擎、自動問答、機器閱讀理解和個性化推薦等有關知識表示、學習、搜索和推理的基礎構件[1]。

知識圖譜是一個大型的多元關系圖,節點表示實體,類型化的邊表示關系[2]。知識圖譜以三元組(h,r,t)的形式編碼世界事實,其中:h表示頭實體,t表示尾實體,r表示兩者之間的關系。知識圖譜嵌入則是把每個實體和關系映射為語義空間中的一個低維向量,這是一種解決知識圖譜表示和推理問題的新方法[3]。它將實體和關系轉換為連續的低維稠密向量,可用來完成知識圖譜補全和三元組分類等任務[4]。

近年來,知識圖譜嵌入方法層出不窮[5-21],如非結構化模型[5]、距離模型[6]、雙線性模型[7]、NTN模型[8]和翻譯模型等。其中,翻譯模型以自身的簡單高效性備受關注,主要包括TransE[9]、TransH[10]、TransR/CTransR[11]、TransD[12]、TransA[13]和TransC[14]等。TransE是將關系作為低維空間實體嵌入的翻譯,它通過不斷訓練三元組(h,r,t)使得h+r≈t。之后提出的TransH、TransR/CTransR、TransD模型,致力于改進TransE[9]對1-N、N-1和N-N復雜關系處理上的不足。TransA則提出了一種自適應的度量標準,使知識圖譜的嵌入更加靈活。上述模型主要研究實體空間和關系空間上的嵌入或投影,而忽略了嵌入過程中PartOf關系三元組中頭實體和尾實體之間的區別。

本文針對WordNet中PartOf關系進行建模,使其保留更多的語義信息,能更好地完成鏈接預測及三元組分類等任務。世界上所有事物都可以分解為多個部分,整體則是由它的各個部分組成。同樣地,對于知識圖譜中的每個實體,一個實體可能是另一個實體的組成部分,也可能是由多個實體組成的整體。在進行知識圖譜嵌入時,不能將PartOf關系三元組中具有這兩個不同屬性的實體同等地編碼為語義空間中的低維向量。本文提出的TransP模型對WordNet知識圖譜中具有PartOf關系三元組中的實體進行區分。具體過程為:將每個知識圖譜中符合條件的實體看作一個球體,球心是實體所對應的低維向量,球體的半徑是判斷兩個球體之間相對位置關系的條件,然后利用兩個球體之間的相對位置關系判斷兩個實體之間是否存在PartOf關系。在WordNet數據集上完成了鏈接預測和三元組分類兩個實驗,實驗結果表明:在不同的度量標準上,TransP相比于TransE和TransH有了一定程度的提升。

1 相關工作

知識圖譜的嵌入學習一直是近幾年的研究熱門領域,各種各樣的嵌入方法被提出。其中基于距離的翻譯模型主要包括TransE、TransH、TransR和TransC等。其他嵌入方法有非結構化模型[5]、結構化嵌入模型[6]、張量神經網絡模型[8]、雙線性模型和學習外部信息的模型等。表1中展示了這些模型定義的關于h和t的評分函數fr(h,t)。

表1 相關模型及其得分函數

續表1

1.1 基于翻譯的模型

TransE的基本思想是,將實體之間的關系表示為實體之間嵌入的翻譯,即對于正確的三元組(h,r,t),滿足h+r≈t,表明(t)應該是(h+r)的最近鄰。因此,TransE的評分函數為:

(1)

若fr(h,t)的值很小,則說明(h,r,t)是正確的三元組。

TransE主要用于處理1-1關系,對于1-N、N-1、N-N關系的處理還存在一些問題。例如,當TransE處理1-N關系時,對于?i∈{0,1,…,m},(hi,r,t)∈S,TransE認為h0=h1…=hm。

TransH用于解決TransE中存在的問題,即實體在涉及不同關系時表現出不同的嵌入特征?;舅枷霝?,對于知識圖譜中的一個關系,TransH將這個關系建模在一個以wr為法向量的超平面上,用r來表示。對于一個三元組(h,r,t),實體h和t首先被投影到以wr為法向量的超平面上,表示為h⊥和t⊥。TransH的評分函數為:

(2)

TransR認為TransE和TransH模型僅僅是簡單地假設實體和關系處于一個相同的語義空間。事實上,知識圖譜中的每個實體都具有多種屬性,單純在一個語義空間中對實體和關系建立模型無法表示出實體的多種屬性。其主要思想為:分別在實體空間和關系空間構建實體和關系的嵌入,然后進行嵌入學習。對于每個三元組(h,r,t),將實體和關系分別嵌入到兩個不同的向量空間。對每個關系r,為其設置一個投影矩陣Mr,然后將實體從實體空間投影到關系空間。在此投影矩陣下,實體向量被定義為:hr=hMr,tr=tMr,相應的評分函數被定義為:

(3)

TransC認為之前的模型將實體和關系同等地編碼為低維語義空間中的向量,忽略了實體中概念與實例的差異。因此考慮在同一空間中以不同的方式表示概念、實例和關系。具體而言,TransC把知識圖譜中的每個概念編碼為球體,同時將每個實例編碼為語義空間中的向量。然后使用兩個球體之間的相對位置模擬概念和實例之間的關系及概念和子概念之間的關系。TransC定義了不同評分函數來優化相對位置嵌入空間,然后基于翻譯的模型共同學習概念、實例和關系的表示。

1.2 其他模型

非結構化模型(UM)[5]是TransE模型的一個前身,通過設定所有的r=0,定義評分函數為:

(4)

此模型并未考慮到關系的差異性。

結構化嵌入模型(SE)[6]為頭實體和尾實體設計了兩個特定的關系矩陣Mr1、Mr2,評分函數為:

fr(h,t)=‖Mr1h-Mr2t‖1

(5)

盡管SE模型使用兩個不同的矩陣來進行優化,但它無法捕獲到實體和關系之間的精確聯系。

張量神經網絡模型(NTN)[8]為知識圖譜嵌入定義的評分函數為:

(6)

式中:ur是一個與關系相關的線性層;g(·)是tanh函數;Mr是一個三階張量;Mr1、Mr2是與關系r有關的投影矩陣。該模型的復雜度比較高,很難處理大規模的知識圖譜。

RESCAL模型是第一個雙線性模型。它將每個實體與向量相關聯以此來捕獲潛在的語義。模型損失函數在表1中列出:其中,es表示主語s的嵌入向量,eo表示主語o的嵌入向量,Wr表示關系矩陣。它把每個關系都表示為一個矩陣,來模擬潛在因素之間的相互作用。近年來,通過限制雙線性損失函數,提出了RESCAL的許多擴展。例如,DistMult模型[15]把三元組(關系,主語,賓語)的嵌入向量分別表示為ωr、es、eo,通過將表示關系的矩陣限制為對角矩陣來簡化RESCAL。HolE模型[16]將RESCAL的表達能力與DistMult的效率和簡便性相結合,其中F(·)和F-1(·)表示快速傅里葉變換及其逆函數。ComplEx模型[17]通過引入復數值嵌入擴展了DistMult,以便更好地對非對稱關系建模,它的損失函數Re(x)表示取x的實部。

2 TransP模型

2.1 問題描述

圖1給出了PartOf關系三元組中整體屬性實體和部分屬性實體的示例,例如圖中三元組(Labial_vein, PartOf, lip),其中頭實體Labial_vein具有部分屬性,尾實體lip具有整體屬性,它們之間存在PartOf關系。在進行知識圖譜嵌入時,針對PartOf關系三元組,應以不同的方式學習實體、關系的嵌入。

圖1 關于WordNet中PartOf關系三元組的示意圖

首先,將知識圖譜KG定義為:KG={P,O,R,S},其中:P表示知識圖譜中PartOf關系三元組中實體組成的集合;O表示知識圖譜中組成其他關系三元組的實體集;R被定義為:R=Rp∪Ro,Rp是PartOf關系,Ro是知識圖譜中其他關系的集合?;诖?,三元組集S將被分為兩個不相交的子集:

然后,給定知識圖譜KG,TransP將在相同的空間Rk中學習PartOf關系三元組中實體、關系及其他關系三元組中實體、關系的嵌入。對于每個p∈P,建立一個球體模型s(q,m),q∈Rk表示球心,m表示半徑。

2.2 模型介紹

TransP模型主要用于區分WordNet中PartOf關系三元組中的實體在嵌入時的不同。模型利用球體來表示PartOf關系三元組中的頭實體和尾實體,然后利用兩個球體之間的相對位置關系表示PartOf關系。模型定義不同的損失函數測量PartOf關系三元組中頭、尾實體在嵌入空間中的相對位置,同時在模型中學習數據集中所有實體和關系的嵌入表示。

在2.1節中,三元組集合S被分為兩個不相交的子集Sp和So,針對這兩種三元組,模型分別定義不同損失函數。

1) PartOf三元組(Sp)表示。

對于給定的PartOf三元組實例(pi,rp,pj),將pi、pj編碼為兩個球體si(qi,mi)和sj(qj,mj),則兩個球心之間的距離表示為:

d=‖qi-qj‖2

(7)

若給定的實例(pi,r,pj)是正確三元組,則球體si與球體sj是相分離的(如圖2(a)所示),以此來表示整體部分的關系。此外,球體si與球體sj還存在其他三種位置關系。對此分別設置不同損失函數:

(1) 球體si與球體sj相交(如圖2(b)所示)。在這種條件下,實體的嵌入仍需要優化,兩個球體需要彼此遠離,以達到圖2(a)的形式。損失函數定義為:

fp(pi,pj)=‖qi-qj‖2-mi-mj

(8)

(2) 球體si在球體sj內部(如圖2(c))所示,損失函數定義為:

fp(pi,pj)=‖qi-qj‖2-mi-mj

(9)

(3) 球體si與球體sj相離(如圖2(d)所示)。此時與目標相反,即球體si的半徑大于球體sj的半徑,應該使mi減小,同時使mj增大。因此,損失函數定義為:

fp(pi,pj)=mi-mj

(10)

實驗中,對損失函數加入限制條件:‖Q‖2≤1。

2) 普通三元組(So)表示。

給定三元組(h,r,t)∈So,TransP為每個實體和關系學習一個低維向量h,r,t∈Rk。然后使用TransE的損失函數訓練此類三元組,因此損失函數為:

(11)

(a) d≥|mi+mj|∧mi

(c) d<|mi-mj| (d) d≥|mi+mj|∧mi≥mj圖2 球體si與球體sj之間的相對位置關系

2.3 訓練方法

(12)

式中:[x]+max(0,x),即max(0,x)函數用來得到模型的輸出值0或x;γp為邊際參數,用來控制正確元組與錯誤元組之間的距離。普通三元組的損失函數為:

(13)

最后,將整體的損失函數定義為以上兩個損失函數的線性組合:

L=Lp+Lo

(14)

TransP的目標就是使得式(14)取得最小值,并且采用隨機梯度下降的方法迭代更新PartOf關系三元組實體、普通三元組實體及關系的嵌入。

數據集中每個三元組都有一個標簽,用來區分該三元組的正誤。但是,知識圖譜只包含正確的三元組,所以模型需要生成錯誤的三元組。對于一個普通的三元組(h,r,t),要替換頭實體h或尾實體t來生成錯誤的三元組,即(h′,r,t)或(h,r,t′)。因此,可以將負例集合形式化地描述為:

{(h,r,t′)|t′∈O,(h,r,t′)?So}

同樣地,PartOf三元組的負例集合也以相同方法生成。在替換整體性實體、部分性實體以及普通實體時,和TransH采用一樣的策略,即“unif(等概率采樣方法)”和“bern(伯努利采樣方法)”。

3 實驗及結果分析

3.1 數據集

知識圖譜WordNet是由普林斯頓大學認知科學實驗室與計算機系聯合開發的一個英語詞庫,它包含超過十萬個詞匯的語義知識,涉及的詞性有名詞、動詞、形容詞和副詞等[22]。WN18是WordNet的一個子集,大多數基于距離的翻譯模型用它來驗證其方法的有效性,本文也在WN18上進行TransP模型的驗證實驗。實驗之前對WN18中的實體與關系進行重新劃分,劃分步驟如下:

(1) 若WN18中的實體在PartOf關系三元組中出現,則屬于集合P,同時將PartOf關系歸入集合Rp。

(2) WN18中其他實體屬于普通實體集O,實體之間的關系屬于普通關系集Ro。

(3) 對于WN18中每個PartOf三元組(h,r,t),若pi∈P∧pj∈P∧rp∈Rp,則此三元組屬于PartOf三元組集Sp。

(4) 將WN18中剩余三元組歸入普通三元組集So。

(5) 最終的三元組集S=Sp∪So,關系集R=Rp∪Ro。

表2給出了WN18具體劃分結果。

表2 數據集的統計信息

3.2 鏈接預測

鏈接預測旨在預測普通三元組(h,r,t)丟失的頭實體h或尾實體t。該任務需要從知識圖譜中給出候選實體的排名列表,而并非給出一個最佳結果[23]。對于每一個用于測試的普通三元組(h,r,t),將從知識圖譜所有實體中隨機選取一個來替換其頭實體h或尾實體t。然后,按照損失函數fr計算的距離對原給定的三元組和打亂的三元組進行升序排列。

該任務包含兩個評估指標:(1) 所有正確三元組的平均倒數排名(MRR);(2) 排名不大于N的正確三元組的比例(Hits@N)。MRR和Hits@N的值越高,模型的效果越好。但是,若個別被破壞的三元組也存在于知識圖譜中,則導致任務的評估指標降低,無法對模型進行有效預測。因此,在對每一個測試三元組進行排名之前,把這些被破壞的三元組從知識圖譜中過濾掉,該過程稱為“Filter”,過濾之前的數據集稱為“Raw”。實驗參數設置如下:隨機梯度下降的學習率λ∈{0.1,0.01,0.001},邊際參數γp,γo∈{0.1,0.3,1,2},實體向量和關系向量的維度n={20,50,100}。鏈接預測任務中最優的參數配置為:γp=0.3,γo=1,λ=0.001,n=100,以及L1范式。

WN18上的實驗結果如表3所示,表中加粗表示模型取得的最優結果??梢钥闯觯?1) TransP在MRR、Hits@1、Hits@3、Hits@5和Hits@10的排名上均高于其他模型,這表明TransP能夠得到實體與關系的更多嵌入信息內容,從而實現了更好的鏈接預測。(2) 在MRR上,對比TransE,TransP(bern)的結果相差不大,這可能因為訓練過程中的三元組數量較少,使其性能不佳。(3) 在TransP的MRR上,“Filter”實驗結果優于“Raw”,“bern”實驗結果優于“unif”。

表3 WN18數據集上普通三元組的鏈接預測實驗結果

3.3 三元組分類

三元組分類任務用于判斷給定三元組的正誤,即對一個三元組進行二分類任務。本文中,三元組分類包括普通三元組分類和PartOf三元組分類兩種。首先,按照TransC中的構造方法生成實驗需要的錯誤三元組。然后劃分驗證集和測試集,兩者中的三元組數量相等。

該任務包括四個評估指標:準確率(Accuracy)、查準率(Precision)、查全率(Recall)和F1調和平均(F1-Score)。

本實驗中,對于給定的測試三元組(h,r,t),若相異性得分(根據損失函數)低于一個特定關系的閾值σ,則預測為正確元組,否則為錯誤元組。特定關系的閾值σ根據最大化驗證集的分類準確性確定。實驗參數的選擇與鏈接預測任務中相同,同時采用L1范式作為相似性度量,對所有訓練的三元組設置迭代次數為1 000。在這個任務中,最佳參數配置為:γp=1,γo=1,λ=0.001,n=100以及L1范式。

普通三元組實驗結果與PartOf關系三元組實驗結果分別如表4、表5所示。由表4可得:(1) TransP在各項評估指標中均取得了較高的實驗結果,這證明了TransP模型更好地學習了實體及關系的嵌入表示特征。(2) 在準確率(Accuracy)這項指標中TransP高于TransE,但是比較相近。這可能是在訓練過程中采用了鏈接預測的參數最優配置,使得三元組分類實驗的結果沒有達到最優。由表5可得:(1) TransP在準確率(Accuracy)、查準率(Precision)、查全率(Recall)以及F1調和平均(F1-Score)四個評價指標上都優于TransE和TransH,表明了TransP在對PartOf關系三元組進行嵌入表示時的優勢,所學習的實體及關系向量包含更為具體的屬性信息。(2) 在TransP中“bern”采樣方法優于“unif”。

表4 WN18數據集上普通三元組的實驗對比結果(%)

表5 WN18數據集上PartOf關系三元組的實驗對比結果(%)

4 結 語

本文主要提出一種新的知識圖譜嵌入模型TransP。該模型將PartOf關系三元組與其他關系三元組區分開,然后將這兩類三元組中的實體、關系以不同的方式嵌入到相同的空間,使得到的嵌入向量包含更豐富的語義信息。同時,本文重新劃分了WN18數據集,并在鏈接預測和三元組分類兩個任務上驗證TransP的有效性。

下一步工作將繼續改進TransP模型,使其性能得到更好的提升,主要研究方向分為以下兩點:(1) 在WordNet中提取更多的PartOf關系三元組加入到訓練數據集中,使模型得到更充分的訓練;(2) 考慮在本模型的基礎上加入更多的實體屬性特征,提升模型性能。

猜你喜歡
球體圖譜向量
“植物界大熊貓”完整基因組圖譜首次發布
基于偽譜法的水下航行體快速操舵變深圖譜研究
向量的分解
越來越圓的足球
計算機生成均值隨機點推理三、四維球體公式和表面積公式
圖表
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
中國知名官方智庫圖譜
腦筋急轉彎
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合