您的位置:首页 > 其它

Traversing Knowledge Graphs in Vector Space解读

2019-03-01 21:45 597 查看

来源

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

背景

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

模型

路径查询定义: 给定一个起始实体sss,和一条关系路径ppp,所有从实体sss出发,经过路径ppp到达的目标实体的集合。

定义一个路径查询的候选集合C(q)C(q)C(q)和不正确的答案N(q)N(q)N(q)

举例说明是如何组合向量空间模型来回答路径查询的,这里以双线性模型为例:
对三元组(s,r,t)(s,r,t)(s,r,t)进行打分

回答查询q=s/r1/r2/r3...rkq=s/r_1/r_2/r_3...r_kq=s/r1​/r2​/r3​...rk​,计算得分

结果是[[q]]={t:score(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模型为例
打分函数:
score(s/r,t)=−∥xs+wr−xt∥score(s/r,t) = -\|x_s+w_r-x_t\|score(s/r,t)=−∥xs​+wr​−xt​∥
membership operator:
M(v,xt)=−∥v−xt∥M(v, x_t) = -\|v-x_t\|M(v,xt​)=−∥v−xt​∥
traversal operator:
Tr(xs)=xs+wrT_r(x_s) = x_s + w_rTr​(xs​)=xs​+wr​
TransE 函数处理路径查询q=s/r1/r2/.../rkq=s/r_1/r_2/.../r_kq=s/r1​/r2​/.../rk​
score(q,t)=−∥xs+w1+w2+...+wk−xt∥score(q,t) = -\|x_s + w_1+w_2+...+w_k- x_t\|score(q,t)=−∥xs​+w1​+w2​+...+wk​−xt​∥

数据集

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

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

实验结果


解释一下度量指标MQMQMQ

对预一个查询qqq,一个正确答案ttt的分位数是排序在ttt后面不正确答案的百分比,显然MQMQMQ的范围在0-1之间,如果为1时是最优的。
实验二:

deduction 查询集:对于查询q=s/pq=s/pq=s/p, 源实体sss和目标实体集[[q]][[q]][[q]]在GtrainG_{train}Gtrain​中是通过关系ppp是相连的,但是查询qqq不直接出现在训练集中,目的是为了考察模型近似潜在训练图谱和从单边集合中预测路径的能力
induciton集合: 是除去deduction的集合,意味着从源实体到目标实体按照查询关系链ppp的所有路径至少缺少一条边,目的是为了考察模型的泛化能力以及鲁棒性。

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

级联错误导致single-edge训练的效果不好,single-edge训练鼓励xtx_txt​更加接近于于xsTWrx^T_sW_rxsT​Wr​相比预不正确的目标实体xt′x_{t^\prime}xt′​, 一旦margin为1之后,就不能再接近了。使用重建质量RQRQRQ 这个指标来衡量模型在每一步是如何处理的

当所有正确实体排在不正确实体前边时, RQ=1RQ=1RQ=1

知识图谱补全任务:
在路径上训练提供某种形式的结构化正则,减少级联错误。考虑Horn clause p−>rp->rp−>r, ppp是路径类型, rrr是被预测的关系

为了说明组合训练更能够捕获ppp和rrr的关系,期望prec(p)prec(p)prec(p)越大,dist(p,r)dist(p,r)dist(p,r)收缩越多
建立二者之间的关系

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐