知識圖譜表示學習 TransH: Knowledge Graph Embedding by Translating on Hyperplanes

知識圖譜表示學習 TransH: Knowledge Graph Embedding by Translating on Hyperplanes

表示學習是深度學習的基礎,將數據用更有效的方式表達出來,才能讓深度學習發揮出更強大的作用。表示學習避免了手動提取數據特徵的繁瑣,允許計算機學習特徵的同時,也學習如何提取特徵。儘管舉例基於翻譯(translation)的知識圖譜表示學習已經過去了五六年的時間,但是仍不可忽略其重要意義。本文聚焦於TransH模型。

1. 摘要和引言

TransE模型簡單有效的方法,在鏈接預測達到了state-of-the-art的效果。但在知識圖譜中,關係的屬性在嵌入時也應當被考慮,如一對多,多對一,和多對多的關係。本文注意到TransE不能很好地處理這些類型的關係。有些模型可以保留不同類別的關係,但是犧牲了處理的效率。爲了達到一個效率和模型能力的權衡,本文提出了TransH。利用一對多,多對一的關係,本文提出了一個簡單的技巧,可以幫助減少負採樣過程中假負例的出現概率。

在TransH中,每一個關係使用兩個向量來刻畫,其中一個單位向量wrw_r用來表示超平面,另外一個向h量drd_r用來將向量投影到此超平面。

2. 相關工作

(1)TransE詳情請點擊

(2)非結構化表示 Unstructured:將不同實體用嵌入方式表示,得分函數爲ht||h-t||。顯然這種方式不能區分不同的關係。

(3)距離模型 Distant Model:將頭實體和尾實體用兩個不同的矩陣WrhW_{rh}WrtW_{rt}投影,相似程度用WrhhW_{rh}hWrttW_{rt}tL1L_1距離來度量。此模型不能很好捕捉實體和關係的相關性。

(4)雙線性模型 Bilinear Model:模型認爲實體之間是二階相關的,用htWrth^tW_rt來建模。

(5)單層網絡模型 Single Layer Model:使用神經網絡的非線性變換,將h,th, t作爲輸入,並加以非線性層,最後用線性單元計算得分urf(Wrhh+Wrtt+br)u_r f(W_{rh}h+W_{rt}t+b_r)

(6)神經張量網絡 Neural Tensor Network:在此篇文章中的神經張量網絡之後加入了非線性單元。

3. TransH

爲了克服TransE在對一對多,多對一和多對多的關係上的不足,我們提出了一種針對不同關係的分佈式表示方法,TransH。如圖所示,對於一個關係rr,設置一個關係翻譯向量drd_r,在關係所在的超平面wrw_r中(wrw_r是單位向量),而不是在整個嵌入表示的空間中。具體而言,對於一個三元組(h,r,t)(h, r, t)h,th, t的嵌入表示首先投影到超平面wrw_r, 他們的投影分別是h,th_{\perp}, t_{\perp}。假定在超平面內,關係滿足向量加法,即h+r=th_{\perp} + r = t_{\perp},那麼誤差即爲h+drt22||h_{\perp} + d_{r} - t_{\perp}||_2^2。約束wr2=1||w_r||_2=1,那麼
h=hwrThwrt=twrTtwr h_{\perp}=h-w_r^Thw_r \\ t_{\perp}=t-w_r^Ttw_r
最終得分函數爲
fr(h,t)=(hwrThwr)+dr(twrTtwr)22 f_r(h, t) = ||(h-w_r^Thw_r)+d_r-(t-w^T_rtw_r)||_2^2

在這裏插入圖片描述

上述爲TransH的基本模型,除此之外,還有一定的約束條件,如下
eE,e21rR.wrTdr/dr2ϵrR,wr2=1 \forall e \in E, ||e||_2 \le 1 \\ \forall r \in R. |w_r^Td_r|/||d_r||_2 \le \epsilon \\ \forall r \in R, ||w_r||_2 = 1
含義分別爲

  1. 所有實體爲的L2範數小於等於1,避免模型通過調整實體嵌入表示的大小,來達到目的。
  2. 對於每個關係平面的法向量,和平面上的翻譯向量,要滿足相互垂直。
  3. 每個關係平面的法向量應該爲單位向量。

在考慮到上述的約束之後,損失函數爲
L=(h,r,t)(h,r,t)[fr(h,t)+γfr(h,t)]+C{eE[e221]+rR[(wrTdr)2dr22ϵ2]} L = \sum_{(h,r,t)\in\triangle} \sum_{(h',r',t')\in \triangle'}[f_r(h, t) + \gamma - f_{r'}(h', t')] + C\{\sum_{e\in E}[||e||_2^2-1] + \sum_{r\in R}[\frac{(w_r^Td_r)^2}{||d_r||^2_2} - \epsilon^2]\}
CC爲超參數,用於調節約束的重要程度。

在訓練時,仍然使用了負採樣的技術。但由於一對多,多對一和多對多的關係關係存在,若隨機採樣作爲負樣本,則很容易出現假負例,影響訓練效果。本文提出了一種依據概率進行選取的方法,在構造負樣本的時候,對於一對多的關係更傾向於替換頭實體,而對於多對一的關係更傾向於替換尾實體。

首先需要統計兩個數值,平均每個頭實體鏈接的尾實體數目,記作tphtph;平均每個尾實體鏈接的頭實體數目,記作hpthpt。對於一個樣本(h,r,t)(h,r,t),以tphtph+hpt\frac{tph}{tph+hpt}的概率替換頭實體,以hpttph+hpt\frac{hpt}{tph+hpt}的概率替換尾實體。

4. 實驗

選擇了三個實驗來驗證模型的效果,並分別計算了mean rankmean\ rankhit@10hit@10。其具體計算和含義可參照此處

(1)鏈接預測(同TransE)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-AFEfIesJ-1593179897190)(C:\Users\pengw\AppData\Roaming\Typora\typora-user-images\image-20200626213519676.png)]

此外,也給出了對於不同關係TransH和TransE的對比。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-tVzVOESw-1593179897191)(C:\Users\pengw\AppData\Roaming\Typora\typora-user-images\image-20200626215512108.png)]

(2)三元組分類

判斷一個給定的三元組爲正確或錯誤,或者說頭實體和尾實體是否存在給定的關係。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fvznXzNq-1593179897194)(C:\Users\pengw\AppData\Roaming\Typora\typora-user-images\image-20200626215431890.png)]

(3)文本關係提取

文本關係提取是擴充知識圖譜的重要方式。通過知識圖譜的嵌入表示,不需要任何額外的文本內容,就能夠對候選實事進行評分。此處選取了數據集中最普及的50條斷言,數據集被分爲兩部分,一部分作爲訓練,另一部分作爲測試。通過AUC來對模型進行評價,與X軸和Y軸圍成的面積越大越好。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zjxkKgPH-1593179897197)(C:\Users\pengw\AppData\Roaming\Typora\typora-user-images\image-20200626215554637.png)]

5. 結論

本文提出了TransH,一種用於知識圖譜嵌入的新的方法。TransH克服了TransE在一對多,多對一和多對多關係上表現的不足。實驗證明在鏈接預測,三元組分類和文本關係提取三個任務上,和TransE相比均有提升。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章