知識圖譜表示學習 TransH: Knowledge Graph Embedding by Translating on Hyperplanes
表示學習是深度學習的基礎,將數據用更有效的方式表達出來,才能讓深度學習發揮出更強大的作用。表示學習避免了手動提取數據特徵的繁瑣,允許計算機學習特徵的同時,也學習如何提取特徵。儘管舉例基於翻譯(translation)的知識圖譜表示學習已經過去了五六年的時間,但是仍不可忽略其重要意義。本文聚焦於TransH模型。
1. 摘要和引言
TransE模型簡單有效的方法,在鏈接預測達到了state-of-the-art的效果。但在知識圖譜中,關係的屬性在嵌入時也應當被考慮,如一對多,多對一,和多對多的關係。本文注意到TransE不能很好地處理這些類型的關係。有些模型可以保留不同類別的關係,但是犧牲了處理的效率。爲了達到一個效率和模型能力的權衡,本文提出了TransH。利用一對多,多對一的關係,本文提出了一個簡單的技巧,可以幫助減少負採樣過程中假負例的出現概率。
在TransH中,每一個關係使用兩個向量來刻畫,其中一個單位向量用來表示超平面,另外一個向h量用來將向量投影到此超平面。
2. 相關工作
(1)TransE:詳情請點擊
(2)非結構化表示 Unstructured:將不同實體用嵌入方式表示,得分函數爲。顯然這種方式不能區分不同的關係。
(3)距離模型 Distant Model:將頭實體和尾實體用兩個不同的矩陣和投影,相似程度用和的距離來度量。此模型不能很好捕捉實體和關係的相關性。
(4)雙線性模型 Bilinear Model:模型認爲實體之間是二階相關的,用來建模。
(5)單層網絡模型 Single Layer Model:使用神經網絡的非線性變換,將作爲輸入,並加以非線性層,最後用線性單元計算得分。
(6)神經張量網絡 Neural Tensor Network:在此篇文章中的神經張量網絡之後加入了非線性單元。
3. TransH
爲了克服TransE在對一對多,多對一和多對多的關係上的不足,我們提出了一種針對不同關係的分佈式表示方法,TransH。如圖所示,對於一個關係,設置一個關係翻譯向量,在關係所在的超平面中(是單位向量),而不是在整個嵌入表示的空間中。具體而言,對於一個三元組,的嵌入表示首先投影到超平面, 他們的投影分別是。假定在超平面內,關係滿足向量加法,即,那麼誤差即爲。約束,那麼
最終得分函數爲
上述爲TransH的基本模型,除此之外,還有一定的約束條件,如下
含義分別爲
- 所有實體爲的L2範數小於等於1,避免模型通過調整實體嵌入表示的大小,來達到目的。
- 對於每個關係平面的法向量,和平面上的翻譯向量,要滿足相互垂直。
- 每個關係平面的法向量應該爲單位向量。
在考慮到上述的約束之後,損失函數爲
爲超參數,用於調節約束的重要程度。
在訓練時,仍然使用了負採樣的技術。但由於一對多,多對一和多對多的關係關係存在,若隨機採樣作爲負樣本,則很容易出現假負例,影響訓練效果。本文提出了一種依據概率進行選取的方法,在構造負樣本的時候,對於一對多的關係更傾向於替換頭實體,而對於多對一的關係更傾向於替換尾實體。
首先需要統計兩個數值,平均每個頭實體鏈接的尾實體數目,記作;平均每個尾實體鏈接的頭實體數目,記作。對於一個樣本,以的概率替換頭實體,以的概率替換尾實體。
4. 實驗
選擇了三個實驗來驗證模型的效果,並分別計算了和。其具體計算和含義可參照此處。
(1)鏈接預測(同TransE)
此外,也給出了對於不同關係TransH和TransE的對比。
(2)三元組分類
判斷一個給定的三元組爲正確或錯誤,或者說頭實體和尾實體是否存在給定的關係。
(3)文本關係提取
文本關係提取是擴充知識圖譜的重要方式。通過知識圖譜的嵌入表示,不需要任何額外的文本內容,就能夠對候選實事進行評分。此處選取了數據集中最普及的50條斷言,數據集被分爲兩部分,一部分作爲訓練,另一部分作爲測試。通過AUC來對模型進行評價,與X軸和Y軸圍成的面積越大越好。
5. 結論
本文提出了TransH,一種用於知識圖譜嵌入的新的方法。TransH克服了TransE在一對多,多對一和多對多關係上表現的不足。實驗證明在鏈接預測,三元組分類和文本關係提取三個任務上,和TransE相比均有提升。