PaperReading-TransD,ACL2015,《Knowledge Graph Embedding via Dynamic Mapping Matrix 》

本文記錄了在閱讀TransD論文時的相關內容,如果有同學在做相關工作,歡迎郵件與我溝通聯繫 [email protected]

背景

TransE無法解決的自反、一對多、多對一關係問題,在TransR/CTransR中通過將實體和關係在不同空間表示的方法進行了解決。
TransR的做法是讓實體空間單純的表示實體的屬性信息,關係空間單純的表示實體之間的關係,對於每個實體都有一個特定的映射矩陣,通過這個矩陣將實體映射到關係的空間中,在關係空間中進行TransE.
但是TRansR存在幾個問題

  1. 從實體空間到關係空間的映射只和關係有關,這是不合理的,實體到關係的映射,應該是實體和關係都有作用纔對
  2. 在同一個關係下,所有的實體公用一個映射矩陣。關係其實是考慮了實體的不同的屬性,在實體中這個被關注到的屬性的分佈是不一樣的,而且在一個三元組中,頭實體和尾實體公用一個映射矩陣也是不合理的,同一個關係實際上在三元組中關注到的屬性在頭實體和尾實體中是不一樣的,那麼映射矩陣應該是對於每個實體而言都不一樣的纔對。
  3. 參數量太大,每個實體都有一個映射矩陣,映射矩陣的維度是 實體向量長度*關係向量長度,訓練困難

思路

TransD 的思路就是改進了TransR中的映射方法,將每個關係固定的映射矩陣進行了拆分,在映射時,關係和實體都有參與,那麼對於每個 實體-關係 對兒而言,他的映射方法就是不一樣的。
爲了達到這樣的方法,對於每個實體和關係都要有兩個向量,一個用來構造語義,一個用來構造映射矩陣。

1

論文上的對於每個實體-關係對都有一個映射矩陣MrhM_{rh},而這個映射矩陣是動態生成的,

1

論文中給出了這個矩陣得到的方法,是通過實體的映射向量hpTh_p^T和關係的映射向量rpr_p通過做內積得到的,這樣的方法,可以給每個實體-關係對兒都有一個獨特的映射方法,而且參數量不大,TransD的整體參數量是 2*實體個數*實體維度+2*關係個數*關係維度,是O(n)。但是TransR的參數量是 實體個數*實體維度+關係個數*關係維度+關係個數*實體維度*關係維度是O(n2)O(n^2)

求助

我在網絡上搜索了很多,都沒有找到很好的TransD的代碼,如果您手裏有,如果方便分享的話,請您郵件與我聯繫 [email protected] ,在此提前謝過了!

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