Traversing Knowledge Graphs in Vector Space解读
来源
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 是训练集知识图谱,只包含训练集中的边。生成路径查询采用随机游走的方式,通过以下步骤产生查询样例:
- 按照均匀分布产生一个开始的实体sss,均匀分布的产生一个路径长度L∈{1,2,...,Lmax}L \in \{1,2,...,L_{max}\}L∈{1,2,...,Lmax}
- 从sss开始随机游动LLL步]
- 输出一个查询-答案对(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_rxsTWr相比预不正确的目标实体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)收缩越多
建立二者之间的关系
- Efficient Estimation of Word Representations in Vector Space
- 【Deep Learning学习笔记】Efficient Estimation of Word Representations in Vector Space_google2013
- 【deep learning学习笔记】New Directions in Vector Space Models of Meaningful_Edward_acl2014Tutorial
- 【Deep Learning学习笔记】Efficient Estimation of Word Representations in Vector Space_google2013 标题:Effic
- NRL论文解读:《Deep Network Embedding for Graph Representation Learning in Signed Networks》
- 【Deep Learning学习笔记】Efficient Estimation of Word Representations in Vector Space_google2013
- Memory space manipulating in Java(Section three:Basic Knowledge of Java Process Heap )
- 【Deep Learning学习笔记】Efficient Estimation of Word Representations in Vector Space_google2013
- Efficient Estimation of Word Representations in Vector Space
- 读论文《Efficient Estimation of Word Representations in Vector Space》
- ORA-1652: unable to extend temp segment by 16 in tablespace APPS_TS_MEDIA - 问题记录
- 【未解决】Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
- Connectivity and Knowledge Management in Virtual Organizations: Networking and Developing Interactiv
- 向量空间模型(VSM:Vector Space M…
- Spark GraphX in Action 1.1
- Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
- 小程序scroll-view组件使用时,子元素虽设置样式display:inline-flex;whit-space:nowrap
- ORA-00604: error occurred at recursive SQL level 1 ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
- Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
- 从频率到意义:语义向量空间模型(1)(From Frequency to Meaning: Vector Space Models of Semantics)