【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

《Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings》

论文来源:ACL2020

关键词:多跳 KGQA

论文链接:https://www.aclweb.org/anthology/2020.acl-main.412.pdf

代码链接:https://github.com/malllabiisc/EmbedKGQA

知识图谱问答(KGQA):通过在知识图谱上查询知识来回答自然语言问题。

多跳知识图谱问答(Multi-hop KGQA):需要在知识图谱的多条边上进行推理来推测出正确答案。

现在常用的Multi-hop KGQA方法往往限制了候选答案的跳数范围,比如说在问题中实体的3-hop范围内,这种方法会因为正确答案不在范围内而无法得到正确答案。在稀疏的、不完整的KG中,这种情况时常出现,就比如说:

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

如果在Gangster No. 1和Crime间可以有关系has_genre(genre是题材的意思),这个问题就很好回答。但是由于只是图的不完整性,这条边并不存在,那么从Louis Mellis到Crime之间需要经过四跳才能推理出答案。现存的Multi-hop KGQA方法因为固定了邻域范围的限制,比如三跳,就会使正确答案Crime在范围之外。

最近,也有一些相关工作把文本语料库作为外部信息来辅助KGQA,这种方法在KG不完整时是有用的,但是这增加了QA系统的另一种复杂度,而且文本语料库可能并不总是可用的,限制了这种方法的泛化能力。

在知识图谱领域,常利用知识图谱嵌入来进行链接预测工作,减轻KG的稀疏度。本文想通过利用知识图谱嵌入来克服目前Multi-hop KGQA的这些限制,提出EmbedKGQA。接下来我们结合下边这张图就来看看本文具体的算法细节吧。

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

EmbedKGQA有三个模块,问题嵌入模块、KG嵌入模块以及答案选择模块。

一、模型介绍

问题描述:给定一个问题q和q中包含的主题实体,任务是抽取一个可以正确回答问题q的尾实体。本文的工作不需要细粒度的标注,不需要标注问题的类型和确切的逻辑推理步骤。

(1)KG嵌入模块

使用经典的知识表示算法ComplEx来训练所有实体和关系的嵌入,ComplEx把关系和实体嵌入到复数空间,打分函数如下:

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

打分函数为正时,表明三元组为真,否则为假。Re表明一个复数的实部。ComplEx学习的实体嵌入用于学习头实体、问题和答案实体之间的得分函数。基于QA训练集中KG实体的覆盖率,这里学习的实体嵌入要么保持不变,要么允许在后续步骤中进行微调。

(2)问题嵌入模块

该模块将自然语言问题嵌入成一个固定维度的向量,用一个前馈神经网络来完成。首先先用RoBERTa把问题q嵌入成一个768维的向量,然后依次送入4个带ReLU激活函数的全连接层,最后映射到复空间上,维度和实体/关系的嵌入维度相同。给定一个问题q,主题实体h以及答案实体的集合A,通过如下方法来学习问题嵌入:

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

该模型通过最小化分数与目标标签之间的二元交叉熵损失来学习,其中正确答案的目标标签为1,否则为0。当实体总数很大时,将完成标签平滑。

(3)答案选择模块

在推理时,模型为(头实体,问题)和每个可能的答案打分。对于想MetaQA这种相对较小的知识图谱,我们简单的选择拥有最高得分的实体。然而,如果知识图谱比较大,需要修剪候选实体来增进模型性能。

关系匹配:

学习一个打分函数S(r,q),对于每个问题q给关系r排序。S(r,q)的计算方法:

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

这个S(r,q)类似于关系和问题的相似度。在所有的关系中,选择关系得分大于0.5的,称为集合Ra。对于每个候选实体a’(本文的模型是把背景知识库中所有的实体都当作候选实体),找到头实体和a’之间最短路径上的关系,这一部分关系构成集合Ra’。然后把每个候选实体的关系得分定义为两个关系集合交集的大小:

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

用ComplEx得分和关系得分的线性组合来确定最终的正确答案:

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

二、实验

(1)数据集

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

MetaQA:包含电影领域的400k个问题,包含1跳到三跳的问题。MetaQA对应的KG包含135k三元组,43k实体和9个关系。

WebQSP:包含4737个问题的较小数据集。它主要包含1跳和2跳的问题,背景知识库是规模很大的Freebase,本文进行了一些修剪。取包含WebQSP问题提及实体2跳内的所有facts的Freebase的子集,再进一步修剪它通过只包含数据集中有的关系。最终修剪的Freesbase有1.8million实体(全部实体当候选的话,这候选集是真的大…..),5.7million三元组。

(2)结果

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

在MetaQA上的实验结果,可以看出本文模型的优越性,尤其是当背景KG被删除50%的三元组时,也就是说知识图谱的稀疏度更高,这会使问题中的头实体想要到达答案实体之间的路径可能更长。可以看出本文的模型,是带有一些链接预测性质的。

【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

在WebQSP上的实验结果,在这种数据集小但是背景KG大的数据上,本文模型的结果依然效果较好,与MetaQA表现类似。

后边的实验理解部分难度不大,就不多赘述啦~

Original: https://blog.csdn.net/qq_39466623/article/details/109111451
Author: 天才少女101
Title: 【论文阅读】Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/595190/

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

(0)

大家都在看

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