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可以成功建模分布式知识表示学习和逻辑推理二者间的交互性,逻辑规则中蕴含的丰富知识也能被更好地传递到所学习的分布式表示中。

举例:奥巴马的出生地 /奥巴马的国籍
软规则即认为 一个人出生地即为此人的的国籍
流程图如下:
RUGE流程图

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),我们采用线性点积来对其进行评分:
线性点积评分
其中 [ ⋅ ] m [·]m []m is the m-th entry of a vector, R e Re Re表示取向量的实部。至此,我们进一步引入映射函数 φ φ φ
就是取实部,做sigmoid
从而得出,具有更高真值的三元组更有可能被使用。即正确的三元组得分函数值会较高而不正确的三元组得分函数的值会较低。

为了对规则进行建模,我们采用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,将由 这两个三元组的值来决定。遵循以下逻辑:
在这里插入图片描述

具体算法还是看论文。

结论

这种映射方法好于传统的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.

在这里插入图片描述

运行结果

github的代码稍微一调就能跑,在fb15k数据集上i7运行结果如下:

Complete iteration #1000:
------Current MRR:0.7711088859358056    Current Hits@10:0.88
------Best iteration #650       MRR:0.7753195432856275  Hits@10:0.871
All running time:78662491ms
Success.

和论文结论基本一致。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值