Traversing Knowledge Graphs in Vector Space解读

探讨知识图谱在推理和问答系统中的应用局限,介绍了一种通过组合向量空间模型来有效回答路径查询的方法,该方法克服了知识图谱不完整性和级联错误的问题,提高了系统的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源

EMNLP 2015
斯坦福大学
Kelvin Guu
Stanford University
kguu@stanford.edu
John Miller
Stanford University
millerjp@stanford.edu
Percy Liang
Stanford University
pliang@cs.stanford.edu

背景

知识图谱在推理和问答系统中有非常广泛的应用,但是知识图谱的不完整性限制了系统的性能。向量空间模型丢失了原始知识库支持组合查询的优势,性能受困于级联错误的影响。这篇文章通过组合向量空间模型用于回答路径查询。

模型

路径查询定义: 给定一个起始实体 s s s,和一条关系路径 p p p,所有从实体 s s s出发,经过路径 p p p到达的目标实体的集合。
在这里插入图片描述
定义一个路径查询的候选集合 C ( q ) C(q) C(q)和不正确的答案 N ( q ) N(q) N(q)
在这里插入图片描述
举例说明是如何组合向量空间模型来回答路径查询的,这里以双线性模型为例:
对三元组 ( s , r , t ) (s,r,t) (s,r,t)进行打分
在这里插入图片描述
回答查询 q = s / r 1 / r 2 / r 3 . . . r k q=s/r_1/r_2/r_3...r_k q=s/r1/r2/r3...rk,计算得分
在这里插入图片描述
结果是 [ [ q ] ] = { t : s c o r e ( q , t ) > 0 } [[q]]=\{ t: score(q,t )>0\} [[q]]={t:score(q,t)>0}

一个通用的组合表示框架,上面的双线性模型是一个特例:
在这里插入图片描述
将组合表示框架表示为(7)的形式

在这里插入图片描述
在这里插入图片描述
训练
组合训练目标函数:
N条路径,长度范围从1-L
在这里插入图片描述
参数:
在这里插入图片描述
mark:不是所有的模型都可以组合表示,这样的方法不涉及单独表示s / r而没有t的中间向量的方式组合s,r和t
.
本文以TransE模型为例
打分函数:
s c o r e ( s / r , t ) = − ∥ x s + w r − x t ∥ score(s/r,t) = -\|x_s+w_r-x_t\| score(s/r,t)=xs+wrxt
membership operator:
M ( v , x t ) = − ∥ v − x t ∥ M(v, x_t) = -\|v-x_t\| M(v,xt)=vxt
traversal operator:
T r ( x s ) = x s + w r T_r(x_s) = x_s + w_r Tr(xs)=xs+wr
TransE 函数处理路径查询 q = s / r 1 / r 2 / . . . / r k q=s/r_1/r_2/.../r_k q=s/r1/r2/.../rk
s c o r e ( q , t ) = − ∥ x s + w 1 + w 2 + . . . + w k − x t ∥ score(q,t) = -\|x_s + w_1+w_2+...+w_k- x_t\| score(q,t)=xs+w1+w2+...+wkxt

数据集

基础数据集:WordNet 和 Freebase
mark: 对于一个在边 ( s , r , t ) (s, r, t) (s,r,t)上的查询 q q q, 如果 ( s , r − 1 , t ) (s, r^{-1}, t) (s,r1,t)在训练集中出现,则这个查询很容易得到,在测试的时候,排除类似这样平凡的查询
查询训练数据集“
G t r a i n G_{train} Gtrain 是训练集知识图谱,只包含训练集中的边。生成路径查询采用随机游走的方式,通过以下步骤产生查询样例:

  1. 按照均匀分布产生一个开始的实体 s s s,均匀分布的产生一个路径长度 L ∈ { 1 , 2 , . . . , L m a x } L \in \{1,2,...,L_{max}\} L{1,2,...,Lmax}
  2. s s s开始随机游动 L L L步]
  3. 输出一个查询-答案对 ( q , r ) (q,r) (q,r), q = s / r 1 / r 2 / . . . / r L q=s/r_1/r_2/.../r_L q=s/r1/r2/.../rL, t t t是随机游走到的最终实体
    mark: 实际上不采样长度为1的路径,而是直接将 G t r a i n 中 G_{train}中 Gtrain所有的边加入
    测试集:
    G f u l l G_{full} Gfull 知识图谱上按照上面相同的方法生成查询集合,并删除同时出现在训练集合上的查询,最终得到测试集。
    按照上述方法可以得到base和路径分别的训练集和测试集
    在这里插入图片描述

实验结果

在这里插入图片描述
解释一下度量指标 M Q MQ MQ
在这里插入图片描述
对预一个查询 q q q,一个正确答案 t t t的分位数是排序在 t t t后面不正确答案的百分比,显然 M Q MQ MQ的范围在0-1之间,如果为1时是最优的。
实验二:
在这里插入图片描述
deduction 查询集:对于查询 q = s / p q=s/p q=s/p, 源实体 s s s和目标实体集 [ [ q ] ] [[q]] [[q]] G t r a i n G_{train} Gtrain中是通过关系 p p p是相连的,但是查询 q q q不直接出现在训练集中,目的是为了考察模型近似潜在训练图谱和从单边集合中预测路径的能力
induciton集合: 是除去deduction的集合,意味着从源实体到目标实体按照查询关系链 p p p的所有路径至少缺少一条边,目的是为了考察模型的泛化能力以及鲁棒性。

分析组合训练对路径查询和知识图谱补全性能提升的影响

级联错误导致single-edge训练的效果不好,single-edge训练鼓励 x t x_t xt更加接近于于 x s T W r x^T_sW_r xsTWr相比预不正确的目标实体 x t ′ x_{t^\prime} xt, 一旦margin为1之后,就不能再接近了。使用重建质量 R Q RQ RQ 这个指标来衡量模型在每一步是如何处理的在这里插入图片描述
在这里插入图片描述
当所有正确实体排在不正确实体前边时, R Q = 1 RQ=1 RQ=1

知识图谱补全任务:
在路径上训练提供某种形式的结构化正则,减少级联错误。考虑Horn clause p − > r p->r p>r, p p p是路径类型, r r r是被预测的关系
在这里插入图片描述
为了说明组合训练更能够捕获 p p p r r r的关系,期望 p r e c ( p ) prec(p) prec(p)越大, d i s t ( p , r ) dist(p,r) dist(p,r)收缩越多在这里插入图片描述
建立二者之间的关系
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值