论文:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
ACL 2020的一篇论文,涉及multi-hop QA,有完整代码。
作者:Apoorv Saxena∗ Aditay Tripathi∗ Partha Talukdar
github:https://github.com/malllabiisc/EmbedKGQA
文章地址:https://www.aclweb.org/anthology/2020.acl-main.412.pdf
Abstract:
由于知识图谱经常出现链接的缺失,因此对知识图谱的问答(KGQA)很大挑战尤其是多跳KGQA,本文将KG embedding方法引入到知识图谱中(EmbedKGQA),预测缺失的链接,来降低KG的稀疏性,同时,EmbedKGQA避免了采用启发式邻域搜索答案的限制。
Introduction
在多跳KGQA中,需要在知识图谱的多条边进行推理得出正确答案,但是知识图谱不完整,这就对KGQA有很大挑战
方法一:使用外部语料库,因为启发式搜索领域范围原因,正确答案的可能在范围之外。例如下图,在Gangster No.1 与Crime之间的链接缺失掉,而启发式搜索领域范围是三跳,正确答案在范围之外,无法得到正确答案。
方法二:首次利用KG embedding预测知识图谱中的链接缺失,其方式是将KG中的实体和关系映射到高维度嵌入中,提出EmbedKGQA,避免了采用启发式邻域搜索造成的难以找到正确答案的问题。
Related Work
知识图谱问答:
- 利用嵌入实现问答,其工作需要对于每一个问题添加ground truth关系标签,但是在多跳问答是不用标签。
- 对头部实体构建子图并映射到高维空间中预测答案。方法:构建相关子图,或构建相关子图的高维映射,实现问答
- 训练神经网络,构建答案评分函数,或将关系标签问题作为多分类问题,实现问答
知识图谱链路预测【介绍的都是已有的工作】:
- KG embeddings 进行链路预测方法:定义三元组(h,r,t)评分函数,训练模型,正确三元组评分高于错误三元组评分
- RESCAL、DistMult训练评分函数,包含头实体和尾实体向量间的双线性乘积和关系矩阵
- ComplEx 在复杂空间进行实体向量和关系矩阵的表示
- SimplE 使用Canonical Polyadic(CP)分解,TuckER使用Tucker 分解
- TransE将实体嵌入到高维实空间中,将关系作为头实体和尾实体的转换
- RotatE将实体映射到复杂空间中,将关系作为复杂空间的旋转
- ConvE利用卷积神经网络学习评分函数
- InteractE增加特征交互,改善ConvE
Background
首先定义KG->描述链接预测->描述KG embedding->讲解ComplEX embedding模型
- 定义KG:知识图谱由实体关系组成的三元组,表示形式为(h,r,t);h,t表示主图实体和客观实体,r表示两实体的关系
- link prediction:利用secoring function — s = φ(h, r, t) ∈ R
- KG Embeddings: 构建评分函数对每一个三元组(h,r,t)得到secore,正确的三元组,即有边secore>0,不正确三元组,即无边 secore
EmbedKGQA: Proposed Method
##1 问题描述:
根据给定问题q和话题实体
,抽取实体作为问题q的正确答案。EmbedKGQA answer multi-hop questions steps 大体为:
KG映射到嵌入空间->将问题转为question embedding->连接两个embedding 预测answer
1.1 模型包括下列模块:知识图谱嵌入模块、问题嵌入模块、答案选择模块
1.2 知识图谱嵌入模块:利用所有实体和关系,训练ComplEx嵌入。实体嵌入的目标是训练(h, q, a)三元组评分函数。其中h、q、a分别代表头实体、问题和答案实体
1.3 问题嵌入模块:使用RoBERTa 将问题q映射到768维度的向量中,之后通过4个全连接层用 ReLU激活,最终映射到复数空间;目标是学习问题嵌入神经网络,使ComplEx评分 函数将正确三元组评分为正,错误三元组评分为负,交叉熵损失最低
1.4答案选择模块:
对于像MetaQA这样相对较小的KG,直接选择高评分的实体,如下公式
对于相对大的KG,采用 关系匹配:令r为关系,问题为q,
为r的嵌入,q’为问题的分 词,具体为,将q’输入RoBERTa得到,与点积求sigmoid,将高于0.5的放入集 合 中,公式吐下:
之后选择头实体和候选答案实体中路径长度最短的关系组成列表
,最后其关系评分为 与j交集,公式如下:关系匹配算法最后结果是ComplEx评分和关系评分的线性叠加,其中γ是超参数,公式如下:
Experimental Details
##1、数据集
MetaQA 包含超过40万条数据,1-hop、2-hop、3-hop问题。同时提供QA,包含13.5万条三元组、4.3万个实体、9种关系
WebQuestionsSP 包括1-hop和2-hop 具有4737个问题,QA基于Freebase,为便于实验,将Freebase QA中所有涉及WebQuestionsSP 2-hop以内的实体和关系的部分裁剪下来,组成180万个实体和570万个三元组。
##2、Baselines
在WebQuestionsSP数据集上我们的模型与Key-Value Memory Network、GraftNet以及Pullnet进行对比,对于MetaQA数据库,与VRN对比,除了VRN外,这些方法都是使用多跳KGQA,使用外部文本语料库缓解KG图的稀疏性。
VRN:使用 变分学习算法执行多跳QA
Key-Value Memory Network (KVMem):使用外部预料库缓解KG稀疏性的第一个方法,其主要包含一个memory table来储存KB事实,将文本编码到key-value对中进行检索
GraftNet:使用启发式方法获取外部预料库中知识图谱的内容(事实、实体、语句),并使用GNN进行推理。
PullNet:也是用生成特定问题子图的方法,而不是启发式方法,同样也是使用GNN进行推理。
在实验中作者将KG中一半的三元组移除,这个KG称为KG–50,完整的KG称为KG-Full
作者并设置了一些问题,之后章节中进行解答
Q1:KG embedding可以实现多跳QA吗?
Q2:当头部实体和答案实体之间链接缺失的时候,EmbedKGQA可以回答问题吗?
Q3:在提出的模型中,答案选择模块作用多大?
##3、KGQA result
在这个章节中将提出的模型与baseline进行对比
1、在MetaQA数据集上分析[MetaQA包含QA及其KG]
首先,说一下作者为什么要用这个数据集
这个数据集包括1-hop、2-hop、3-hop问题并且由13.5万个三元组以及4.3万个实体组成,可以看出,KG中关系是非常多的,作者将移除掉一半的三元组之后,这个KG图是非常稀疏的(因此需要多跳才能得到答案)。作者将完整的KG图称为KG-Full,将去掉一半的三元组之后的图称为KG-50。
一方面是在1-hop中, EmbedKGQA和目前最好的模型相比并不差,另一方面,在2-hop和3-hop中,EmbedKGQA完胜baseline,Pullnet 和GraftNet表现较差。如图所示:
2、在WebQuestionsSP上进行分析
即使是非常小的数据集中,EmbedKGQA仍然表现出比较好的效果:
##4、QA on KG with missing links
第三个实验:仅一跳QA ,删掉答案三元组,仅凭链路预测获取答案
实验图示:
EmbedKGQA不仅基于知识图谱信息,而且加入关系评分函数并在问答系统模型上进行训练,效果要优于只包含知识图谱信息的ComplEx
##5、Effect of Answer Selection Module
进行消融试验验证关系匹配重要性,作者将答案的选取限定在2-hop之内,进行消融试验。
试验结果如图所示:
Conclusion
本篇文章提出EmbedKGQA,解决KG的稀疏性,EmbedKGQA首先训练KG实体嵌入->使用实体嵌入学习问题嵌入->在整个预测过程中,计算所有实体的评分->选择最高的分数实体作为答案。EmbedKGQA克服了在已存在的方法中邻域限制问题。
Original: https://blog.csdn.net/AlanxZhang/article/details/121001801
Author: 菜小鸡同志要永远朝光明前进
Title: Multi-hop QA based KG
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/595602/
转载文章受原作者版权保护。转载请注明原作者出处!