Differentiable Learning of Logical Rules for Knowledge Base Reasoning

Differentiable Learning of Logical Rules for Knowledge Base Reasoning

来源

2017 Nips
Fan Yang Zhilin Yang William W. Cohen
School of Computer Science
Carnegie Mellon University
{fanyang1,zhiliny,wcohen}@cs.cmu.edu

背景

在人工智能和机器学习领域,学习由一阶逻辑规则组成的集合是一个重要的问题,由于它的可解释性,逻辑规则表示在知识图谱推理任务中非常有用。一个新的事实加入到知识图谱中,规则在不再训的情况下依然保持准确性。通常的底层逻辑是概率逻辑,使用概率逻辑的好处是可以丰富逻辑规则,可以处理更复杂和具有噪声的数据。学习这样概率逻辑规则是非常困难的,不仅要求学习离散空间中的规则结构,还需要学习连续空间中的参数(规则的置信度)。
结构化embedding 方法是知识图谱推理中非常流行的方法,这些方法通常是将实体以及关系表示为潜在语义空间中向量或者张量,基于embedding的方法解释性较差,并且当有新的事实加入到知识图谱中时,可能会导致一些结果的不准确。

Motivation

本文讲探索一个可微的系统可以学习由一阶逻辑规则集合组成的模型,这样的好处是允许使用基于梯度的优化方法和目标规划框架。本文受TensorLog的启发,将推断任务编译成可微的数值矩阵序列,这个方法叫做Neural LP

模型

知识库推理:本文考虑的知识图谱推理任务是对于一个查询和一个尾实体,头实体是查询的答案。目标是检索出实体的排序,使得满足查询的实体有尽可能靠前的排序。对于每个查询,本文的兴趣在于学习具有如下形式的带有权重的链式规则,
在这里插入图片描述
TensorLog:
将实体表示成one-hot的形式,一个关系R表示为邻接矩阵 M R M_R MR M R ( i , j ) = 1 M_R(i,j)=1 MR(i,j)表示实体i 和实体j之间存在关系R。逻辑规则推断可以表示成算子的运算。 P ( Y , Z ) ⋀ Q ( Z , X ) − > R ( Y , X ) P(Y,Z)\bigwedge Q(Z,X)->R(Y,X) P(Y,Z)Q(Z,X)>R(Y,X) 表示为 M P ⋅ M Q ⋅ v x = s M_P\cdot M_Q\cdot v_x = s MPMQvx=s, 如果s是非零向量,则表明存在y,z,x满足 P ( y , z ) P(y,z) P(y,z), Q ( z , x ) Q(z,x) Q(z,x), 类似任意长度的逻辑规则可以归结为算子的运算。

对于每一个查询,期望能够学习到一些带有置信度(权重)的规则:
在这里插入图片描述
在进行推断的时候,给定一个实体 v x v_x vx, 对于检索到的实体进行打分:

在这里插入图片描述
因此对于每个查询来说,我们的目标函数是:
在这里插入图片描述
( x , y ) (x,y) (x,y)是满足查询的实体对, a l a_l al β l \beta_l βl需要学习的,

学习逻辑规则:
可微的逻辑规则学习过程难点在于参数是和每个规则关联的,但是规则是离散的。
为了克服这个困难,将(2)式转化成如下形式:
在这里插入图片描述
T T T表示规则的最大程度, R R R表示关系的数量。
在上面 ( 5 ) (5) (5)中,所有的规则具有相同的长度,为了克服这一点,引入了循环的形式:
在这里插入图片描述
在这里插入图片描述
内存中维护 u t u_t ut, 计算 h t h_t ht使用了lstm模型, i n p u t input input指的是 1 ≤ t ≤ T 1\leq t \leq T 1tT 时的query, 这里的query 指的是关系的向量表示
目标函数:最大化 l o g v y T u log v^T_yu logvyTu

本文逻辑规则推断系统架构如下图:
在这里插入图片描述

实验

  1. 统计关系学习
    在这里插入图片描述
    统计指标是hits@10
    2.网格路径寻找
    在这里插入图片描述
    3. 知识图谱补全
    在这里插入图片描述
    在这里插入图片描述

代码

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值