天天看點

Knowledge Graph Embedding with Iterative Guidance from Soft Rules 論文筆記

現在做的事需要得到一個knowledge embedding.找到了今年的一篇新論文,并且以Java實作,源碼在GitHub上現成的。

動機

在NLP中,word 可以比映射成一個低維向量來表示這個詞。同理的,在knowledge base中,實體和關系也可以表示到連續的向量空間中。本文考慮的問題是如何将知識庫的分布式表示和邏輯規則結合起來,提出了一個新的表示學習方法 RUGE(Rule-Guided Embedding)。

主要貢獻

  • 本文提出的模型是首個邏輯推理和嵌入學習互相互動作用的模型
  • 我們證明了自動提取軟規則在KG嵌入中的有效性,進而消除了手工建立規則的繁瑣。
  • 本文提出的 RUGE方法 具有很好的通用型,對于不同的邏輯規則和不同置信度的規則的魯棒性較好

核心思想

本文作者提出了一種新的知識圖譜分布式表示學習方法——規則引導嵌入(rule-guided embedding,簡記為 RUGE),借助軟規則的疊代引導完成知識圖譜表示學習。所謂軟規則,就是那些不總是成立、帶置信度的規則。這類規則可以經由算法從知識圖譜中自動抽取。具體來說,RUGE同時利用标注三元組(labeled Triples)、未标注三元組(Unlabeled Triples)、自動抽取出的軟規則(soft rules)這三種資源以疊代的方式進行知識圖譜表示學習。每一輪疊代在軟标簽預測和表示修正這兩個步驟間交替進行。前者利用目前學到的表示和軟規則為未标注三元組預測軟标簽;後者進一步利用标注三元組(硬标簽)和未标注三元組(軟标簽)對目前表示進行修正。通過這個疊代過程,RUGE可以成功模組化分布式知識表示學習和邏輯推理二者間的互動性,邏輯規則中蘊含的豐富知識也能被更好地傳遞到所學習的分布式表示中。

舉例:奧巴馬的出生地 /奧巴馬的國籍

軟規則即認為 一個人出生地即為此人的的國籍

流程圖如下:

Knowledge Graph Embedding with Iterative Guidance from Soft Rules 論文筆記

Rule-Guided Knowledge Graph embedding

上圖看出,RUGE使嵌入模型能夠以疊代方式同時從标記的三元組、未标記的三元組和軟規則中學習。在每次疊代中,模型交替在soft labels 預測階段和 embeddings校正階段之間。在下文中,我們首先描述我們的學習資源,然後較長的描述這兩個交替的階段。

learning Resources

假設我們在知識圖譜中觀測到了一個三元組集合,i.e, O = f ( e i , r k , e j ) {O = f(e_i,r_k, e_j)} O=f(ei​,rk​,ej​)。每個三元組都由兩個實體(entity)和一個關系(relation)組成。

Labeled Triples

我們将觀測到的三元組表示為正三元組(positive triple)。對于每個positive triple ( e i , r k , e j ) {(e_i, r_k,e_j)} (ei​,rk​,ej​),我們随機消除掉頭部實體(ei)或尾部實體(ej),然後在知識庫中排除此實體,随機選擇一個實體填充,以此構成negative triple。然後将這些Triples 做标記

  • positive triple y=1
  • negative triple y=0

Unlabeled Triples

除了已标記的三元組,我們還定義集合U來存放未标記三元組Unlabeled Triples。事實上,任何未标記的三元組,都可以算作Unlabeled Triples。但在本文中,我們隻考慮那些能被軟規則(soft rules)編碼的三元組。

Soft Rules

本文考慮了一組不同置信度水準的FOL規則,定義為 F = ( f p , λ p ) p = 1 P {F = {(f_p,λ_p)^P_{p=1}}} F=(fp​,λp​)p=1P​,在這裡 f p f_p fp​是規則集合中第p個規則。e.g. 對于 ∀ x , y ∀x,y ∀x,y: ( x , r s , y ) (x,r_s,y) (x,rs​,y) => ( x , r t , y ) (x,r_t,y) (x,rt​,y) 表示 x , y x,y x,y既可以以 r s r_s rs​關系來連結,也可以以 r t r_t rt​關系連接配接。我們稱左邊為“前提”(premise),後者稱“結論”(conclusion)。在本論文中将 f p f_p fp​限制為Horn邏輯規則。規則 f p f_p fp​的置信度定義為 λ p ∈ [ 0 , 1 ] λ_p ∈[0,1] λp​∈[0,1]。當置信度=1時,規則為hard rule。規則提取的方法是

modern rule mining systems like AMIE and AMIE+

[Gal´arraga et al. 2013] Gal´arraga, L. A.; Teflioudi, C.; Hose, K.;

and Suchanek, F. M. 2013. AMIE: Association rule mining under

incomplete evidence in ontological knowledge bases. In WWW,

413–422.

[Gal´arraga et al. 2015] Gal´arraga, L. A.; Teflioudi, C.; Hose, K.;

and Suchanek, F. M. 2015. Fast rule mining in ontological knowledge

bases with AMIE+. VLDB J 24(6):707–730.

然後,我們對規則進行命題化,來得到“grounding”。舉例:

∀ x , y ∀x,y ∀x,y: ( x ; B o r n I n C o u n t r y ; y ) (x; BornInCountry; y) (x;BornInCountry;y) => ( x ; N a t i o n a l i t y ; y ) (x; Nationality; y) (x;Nationality;y) ,可以以兩個實體“EmmanuelMacron”和“France”來執行個體化,此時,就得到了這兩個實體關于此規則的grounding:

(EmmanuelMacron; BornInCountry; France) => (EmmanuelMacron; Nationality; France)

顯然,随着知識圖譜的不斷擴大,将存在數量巨大的“groundings”。是以在本文中,我們隻觀察 p r e m i s e t r i p l e s premise triples premisetriples ,即前提三元組。這就意味着,當觀察集合0中,隻存在(EmmanuelMacron; BornInCountry; France) 三元組,而不存在 (EmmanuelMacron; Nationality; France)三元組時,我們認為上述的grounding規則有效。也就是說對于一個規則 f p f_p fp​,必定有一個對應的valid groundings集合。是以,定義 G p G_p Gp​ = g p q {g_{pq}} gpq​ q = 1 Q q ^{Q_q}_{q=1} q=1Qq​​。所有的premise triples包含在觀察集合O中,但單一的conclusion triple則不。

以上結論被用于構造未标記三元組。這也就意味着未标記三元組不是直接由kg觀察而來,而是通過推測得到。

Modeling Triples and Rules

給定labeled triples集合 L L L和unlabeled triples集合 U U U,以及FOL規則 G p G_p Gp​ = g p {g_{p}} gp​ p = 1 P ^{P}_{p=1} p=1P​。我們讨論如何使用這些在 K G KG KG e m b e d d i n g embedding embedding中。對三元組模組化采用的方法是ComplEx (Trouillon et al. 2016)。具體來說,假設三元組向量是具有複值的向量嵌入。對于一個給定的三元組 ( e i , r k , e j ) {(e_i,r_k,e_j)} (ei​,rk​,ej​),我們采用線性點積來對其進行評分:

Knowledge Graph Embedding with Iterative Guidance from Soft Rules 論文筆記

其中 [ ⋅ ] m [·]m [⋅]m is the m-th entry of a vector, R e Re Re表示取向量的實部。至此,我們進一步引入映射函數 φ φ φ:

Knowledge Graph Embedding with Iterative Guidance from Soft Rules 論文筆記

進而得出,具有更高真值的三元組更有可能被使用。即正确的三元組得分函數值會較高而不正确的三元組得分函數的值會較低。

為了對規則進行模組化,我們采用t-norm based fuzzy logics。其主要思想是通過特定邏輯,将命題化的規則和positive triples 聯系起來。舉例:對于一個grounded rule ( e u , r s , e v ) (e_u,r_s,e_v) (eu​,rs​,ev​)=> ( e u , r s , e v ) (e_u,r_s,e_v) (eu​,rs​,ev​)的truth value,将由 這兩個三元組的值來決定。遵循以下邏輯:

Knowledge Graph Embedding with Iterative Guidance from Soft Rules 論文筆記

具體算法還是看論文。

結論

這種映射方法好于傳統的Trans系列方法。我認為這篇論文的創新性在于提出了軟規則,并且采用了更複雜的映射表示----複數。至于複數的引入的原因,以及為性能帶來了多大的影響,看另一篇論文:

[Trouillon et al. 2016] Trouillon, T.; Welbl, J.; Riedel, S.; Gaussier,

E.; and Bouchard, G. 2016. Complex embeddings for simple link

prediction. In ICML, 2071–2080.

Knowledge Graph Embedding with Iterative Guidance from Soft Rules 論文筆記

運作結果

github的代碼稍微一調就能跑,在fb15k資料集上i7運作結果如下:

Complete iteration #1000:
------Current MRR:0.7711088859358056    Current [email protected]:0.88
------Best iteration #650       MRR:0.7753195432856275  [email protected]:0.871
All running time:78662491ms
Success.
           

和論文結論基本一緻。