知識圖譜經典方法 Knowledge Graph Embedding:從TransE,TransH到TransR

1.背景

知識圖譜編碼了實體和它們豐富的關聯之間的結構化信息,但是現實場景中的實體和關係成千上萬,想把一個知識圖譜填充滿是一件很難的事情。因此,知識圖譜填充即是基於已有的圖譜建立實體到實體的關係。KG 中實體和關係都是通過Embedding建立關聯,讓實體和關係有一個好的表達能夠更好的完成知識圖譜的填充任務。

2.演變

最簡單最有效的方法是TransE。TransE將起始實體,關係,指向實體映射成同一空間的向量,如果(head,relation,tail)存在,那麼 h+rth+r \approx t,目標函數爲:
fr(h,t)=h+rt22f_{r}(h,t) = \left\|h+r-t\right\|_{2}^{2}
TransE是符合直覺的,但是TransE卻無法解決一對多,多對多的問題。舉個例子,假設存在mm不同的實體,都有 hi+rth_{i}+r \approx t,其中 0<i<=m0<i<=m,那麼按照TransE的方法則認定爲這mm個實體是同一個實體,但是顯然不是。
爲了解決一對多和多對多的問題,可以考慮將具有以上關係的實體放置與同一個平面,TransH即是基於這樣的考慮。通過關係rr的法向量wrw_{r}建立一個關係平面,然後將實體hh和實體tt映射到該平面,分別得到hh_{\perp}tt_{\perp}。剩下的就是和TransE一樣的公式來最小化目標函數:
fr(h,t)=h+rt22f_{r}(h,t) = \left\|h_{\perp}+r-t_{\perp}\right\|_{2}^{2}
其中,h=hwrThwrh_{\perp}=h-w_{r}^\mathrm{T}hw_{r}t=twrTtwrt_{\perp}=t-w_{r}^\mathrm{T}tw_{r}
進行到這裏,好像沒什麼問題了。但是TransH的假設是實體和關係都處於同一個空間,這樣纔有映射到一個關係平面去求實體的映射。假如關係空間不同於實體空間,TransH就無能爲力了。而且,好像實體和關係處於不同空間更貼近真實場景(實體是名詞,關係是動詞,好像有點牽強,hh)。TransR通過關係矩陣將實體映射到關係空間,再最小化三元組的距離。
在這裏插入圖片描述
其中,hr=hMrh_{r}=hM_{r}tr=tMrt_{r}=tM_{r}
在這裏插入圖片描述

3.應用

  • 推薦系統
    Relational Collaborative Filtering: Modeling Multiple Item Relations for Recommendation,SIGIR 2019.
    Collaborative Knowledge Base Embedding for Recommender Systems,KDD 2016
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章