Multi-hop QA based KG

论文: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之间的链接缺失掉,而启发式搜索领域范围是三跳,正确答案在范围之外,无法得到正确答案。

Multi-hop QA based KG

方法二:首次利用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模型

  1. 定义KG:知识图谱由实体关系组成的三元组,表示形式为(h,r,t);h,t表示主图实体和客观实体,r表示两实体的关系
  2. link prediction:利用secoring function — s = φ(h, r, t) ∈ R
  3. KG Embeddings: 构建评分函数对每一个三元组(h,r,t)得到secore,正确的三元组,即有边secore>0,不正确三元组,即无边 secore

Multi-hop QA based KG

EmbedKGQA: Proposed Method

##1 问题描述:

根据给定问题q和话题实体

Multi-hop QA based KG,抽取实体Multi-hop QA based KG作为问题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激活,最终映射到复数空间Multi-hop QA based KG;目标是学习问题嵌入神经网络,使ComplEx评分 函数将正确三元组评分为正,错误三元组评分为负,交叉熵损失最低

1.4答案选择模块:

对于像MetaQA这样相对较小的KG,直接选择高评分的实体,如下公式

Multi-hop QA based KG

对于相对大的KG,采用 关系匹配:令r为关系,问题为q,

Multi-hop QA based KG为r的嵌入,q’为问题的分 词,具体为,将q’输入RoBERTa得到Multi-hop QA based KGMulti-hop QA based KGMulti-hop QA based KG点积求sigmoid,将高于0.5的放入集 合Multi-hop QA based KG 中,公式吐下:

Multi-hop QA based KG

之后选择头实体和候选答案实体中路径长度最短的关系组成列表

Multi-hop QA based KG,最后其关系评分为Multi-hop QA based KGMulti-hop QA based KGj交集,公式如下:

Multi-hop QA based KG

关系匹配算法最后结果是ComplEx评分和关系评分的线性叠加,其中γ是超参数,公式如下:

Multi-hop QA based KG

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表现较差。如图所示:

Multi-hop QA based KG

2、在WebQuestionsSP上进行分析

即使是非常小的数据集中,EmbedKGQA仍然表现出比较好的效果:

Multi-hop QA based KG

##4、QA on KG with missing links

第三个实验:仅一跳QA 删掉答案三元组,仅凭链路预测获取答案

实验图示:

Multi-hop QA based KG

EmbedKGQA不仅基于知识图谱信息,而且加入关系评分函数并在问答系统模型上进行训练,效果要优于只包含知识图谱信息的ComplEx

##5、Effect of Answer Selection Module

进行消融试验验证关系匹配重要性,作者将答案的选取限定在2-hop之内,进行消融试验。

试验结果如图所示:

Multi-hop QA based KG

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球