论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

时间:2024-04-01 19:50:06

论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

  知识库问答(KBQA/KGQA)是指给定一个自然语言问句和对应的知识库,试图从知识库中返回对应正确的答案。现如今一些方法是通过对问句中的候选实体在知识库中对齐,并获得一定跳数范围内的子图,通过排序算法或TopK算法等获得有可能的答案。但是有时候知识库是不充分的,某些目标答案需要经过非常长的推理路径才能获得,而在具有跳数约束情况下是无法获得正确答案的。因此本文结合知识补全的思想来改善知识库问答。该工作被2020年ACL录用。

一、简要信息

序号 属性
1 模型名称 EmbedKGQA
2 所属领域 自然语言处理
3 研究内容 知识库问答
4 核心内容 Knowledge Base Embedding, KBQA
5 GitHub源码 https://github.com/malllabiisc/EmbedKGQA
6 论文PDF https://www.aclweb.org/anthology/2020.acl-main.412.pdf

二、全文摘要翻译

  知识图谱(KG)是一种包含实体(结点)、多关系(边)组成的图结构。基于知识图谱的问答的任务目标是根据自然语言查询问句来寻找答案。多跳(Multi-hop)知识图谱问答需要在知识图谱上进行多条边的推理之后才能找到目标答案实体。知识图谱通常是不完善的,表现为缺失多条边(两个实体之间存在语义但并没有边相连)。最近的研究使用相关的额外文本解决这类问题,但这些数据通常难以获取。知识图谱表征被提出通过连接预测(link prediction)用于降低知识图谱的稀疏问题。因为这种表征方法尽管有很高的相关性,但并没有被用于问答领域,因此本文填补这一个空白,提出EmbedKGQA模型。该模型放宽了从预先指定的邻域中选择答案的要求,这是先前的多跳KGQA方法实施的次优约束。拓展实验表明我们的模型有效的超越了最优基线模型。

三、问题介绍

  知识图谱问答是指给定一个问句以及问句对应的一个目标实体,通过自然语言理解这个问句并从知识库中寻找正确答案实体。多跳的问答则需要对关系路径进行推理。由于知识库不充分原因,现有的工作引入额外的文本弥补知识库稀疏问题。另外也有工作是通过目标实体从知识库中抽取多跳范围内的子图,在该子图内进行答案的检索。作者认为这是一种启发式的划定答案所在的领域,如下图所示:
论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
当寻找对应的答案时,由于知识库不充分,“Louis Mellis”与答案“Crime”没有直接的边相连,则需要经过较长的路径推理。而启发式的设定跳数为3时(灰色区域),使得答案不在这个领域内,促使无法寻找到答案。

  本文的贡献点在于:
(1)首次将知识库表征引入知识库问答任务;
(2)不需要启发式地设定具体的领域范围;
(3)在相关数据集上效果最好。

四、相关工作

  现如今的KBQA(KGQA)主要有几种方法

  • 根据目标实体抽取子图;
  • 学习一种相似度得分函数,并计算问句和答案配对的得分;
  • 向量表征方法则是将问句表征为向量后,并通过排序方法寻找答案;
  • 将问答视为一种分类任务,即给定问句,判断其属于什么关系(根据三元组(h,r,t)(h,r,t),目已知的标实体 hh 加上对应的关系 rr 则可以找到答案 tt)。

  知识库补全,主要体现于连接预测(link prediction),其目标是给定两个实体,预测它们之间的关系是否存在。现如今方法均是基于得分函数 ϕ(h,r,t)\phi(h,r,t) 和排序法实现的,例如RESCAL、TransE、ConvE等。

  知识表示学习(知识库表征),是一种将知识图谱中实体与边映射到低维度空间的向量的方法。其通常基于得分函数 ϕ(h,r,t)\phi(h,r,t) 展开的,如果两个实体之间存在关系,则它们的得分应该尽可能的高,否则尽可能的低,在训练过程中则通常使用 ground truth 和负采样进行训练;
特别说明的是,ComlEx是一种将实体和关系嵌入到复数空间的知识表示方法,其得分函数记作 ϕ(h,r,t)\phi(h,r,t)

五、方法

  给定一个知识库 g=(E,R,K)\mathcal{g}=(\mathcal{E,R,K}), 其中 E\mathcal{E} 为实体集合,R\mathcal{R} 为关系集合,K\mathcal{K} 为三元组集合,其中(h,r,t)K(h,r,t)\in\mathcal{K}h,tEh,t\in\mathcal{E}rRr\in\mathcal{R}。给定一个问句记作 qq,其对应的目标实体(主题词topic entity)记作 ehEe_h\in\mathcal{E},正确的答案记作 etEe_t\in\mathcal{E}

  作者提出的模型EmbedKGQA主要包括三个模块:

论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

5.1 KG Embedding Module (知识图谱表征):

  作者使用ComplEx算法对整个知识库中的实体和边嵌入到固定大小的向量,记作 eh,er,etCde_h,e_r,e_t\in\mathbb{C}^{d}。其中 Cd\mathbb{C}^{d} 表示复数空间中的维度为 dd。作者之所以选择ComplEx算法,是因为该算法采用的是张量分解法,更能够捕捉更全面的特征。但在具体实验中,只获取实部的参数。

5.2 Question Embedding (问句表征):

  对于问句 qq, 作者使用 RoBERTa 预训练语言模型获得768维度的向量,并通过4层全连接层(**函数为ReLU)映射到与知识表示相同维度的空间,记做 eqCde_q\in\mathbb{C}^d
  在微调过程中,作者将问句替换到得分函数中的关系,形成 ϕ(eh,eq,ea)\phi(e_h,e_q,e_a),这是一个比较巧妙的创新点,其借助ComplEx(或者说是知识表示学习的方法)的得分函数 ϕ\phi 和排序损失函数训练的机制,促使目标实体 hh 和答案 tt之间的语义关系是问句qq在复数空间中的表示。因此有:

ϕ(eh,eq,et)>0;aA\phi(e_h,e_q,e_t) > 0;\forall a\in\mathcal{A}

ϕ(eh,eq,ea)>0;aA\phi(e_h,e_q,e_{\overline {a}}) > 0;\forall a\notin\mathcal{A}

其表示为当正确答案 aa 在候选答案 A\mathcal{A} 中,则让得分大于0;否则就是负样本 a\overline{a},让得分小于0。因为在有的知识库比较大,候选关系非常多,因此作者使用标签平滑方法。

5.3 Answer Selection Module (答案挑选):

  这一部分是核心,在已知知识图谱表征、每个三元组的得分以及问句的表征后,需要对候选答案进行筛选。给定一个问句和目标实体,即固定rt,eqr_t,e_q,对所有知识库中可能的答案 a(aa)a'(a'\neq a)通过得分函数 ϕ(et,eq,ea)\phi(e_t,e_q,e_{a'}) 可以获得最高得分对应的实体 eanse_{ans}
  对于知识库不大的可以按照上述的方法计算,但对于知识库较大的,则需要对候选的答案集合进行缩减(pruning),作者借鉴了PullNet算法,提出一种简单的缩减方法(Relation Matching):
  给定的问句qq,通过预处理后得到 q=(<s>,w1,...,wq,</s>)q'=(<s>, w_1, ..., w_{|q|}, </s>), 喂入到 RoBERTa模型后,得到 hqh_q 。首先对于的主题词会有一系列相连的边(关系rr),通过PullNet中的得分函数 S(q,r)S(q,r),对所有的关系进行排序。得分函数定义为:

S(q,r)=sigmoid(hqThr)S(q,r) = sigmoid(h_q^{\mathbb{T}}h_r)

其中 hrh_r 表示预训练的关系向量。作则选择得分大于0.5的所有关系 rr 组成集合记做 Ra\mathcal{R}_a 。其次将候选答案 aa'(可以是所有知识库内的实体,或者数据集给定的一个候选答案集合),该答案实体与目标实体之间的最短路径(多跳关系组成的边的集合)记做Ra\mathcal{R}_{a'}。作者定义relation score为 RelScorea=RaRaRelScore_{a'} = |\mathcal{R}_a\cap\mathcal{R}_{a'}|。直观理解是,如果得分函数 S(q,r)S(q,r) 筛选的关系在候选答案的对应关系集合中出现的数量越多,说明该得分函数筛选关系的能力越高,该问句与对应的关系 rr 匹配程度也就越高。
  最后作者通过如下公式寻找答案:

eans=arg maxaNhϕ(eh,eq,ea)+γRelScoreae_{ans} = \argmax_{a'\in\mathcal{N}_h}\phi(e_h,e_q,e_{a'}) + \gamma *RelScore_{a'}

即可知,上式同时考虑每个答案与问句的匹配程度,也考虑了每个问句与相应关系的匹配程度。γ\gamma 为超参数,当其为0时,则只考虑前者。

  该模型需要思考的是,如何利用了知识表示(KGE)?如何避免在启发式划定的子图范围内挑选答案带来的问题?理论上分析是:
(1)对问句 qq 的表征不是通过传统的CNN或RNN,而是先使用预训练的语言模型,再通过ComplEx得分函数来学习 eqe_q,致使问句即包含了现实中语言的信息,又紧紧地与知识库中的表征相关联。因此KGE主要体现在这里;
(2)因为是通过KGE来表征问句的,因此在寻找答案是,完全可以依照 link prediction 的策略,即根据得分函数来选择尾实体 tt,这样即便是答案与目标实体没有直接的边相连,也可以通过得分函数来寻找。因此这便是作者在摘要部分所谓的“ EmbedKGQA also relaxes the requirement of answer selection from a prespecified neighborhood, a sub-optimal constraint enforced by previous multi-hop KGQA methods”。

六、实验

6.1 数据集

  作者在两个数据集上进行了实验,分别是MetaQA(包含3跳)和WebQSP(复杂问答),统计信息如下图:
论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

6.2 基线模型

  基线模型包括 VRNKVMemCraftNetPullNet,在后续会给出详细的介绍。作者为了体现出模型可以在不充分的知识库上得以有较高的效果,随机对知识库的每个三元组以0.5的概率进行删除,形成的新的知识库命名为 KG-50,原始的知识库为 KG-Full。评价指标采用 [email protected],即表示模型排序的前K个中存在答案的准确率,作者设定K=1。

(1)MetaQA with KG-Full
  MetaQA 数据集包含1-hop、2-hop和3-hop三种类型的推理路径,1-hop则表示目标实体与答案有直接的边相连,2-hop和3-hop则表示需要2和3条推理路径。在KG-Full(充分的知识库上)实验发现,我们的模型与基线模型效果差不多,如下图:

论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
(2)MetaQA with KG-50
  在知识库不充分的时候,可以发现,现有的一些基线模型(基于子图划定范围来挑选答案)的方法来说,我们的方法大大提升了预测的效果。究其原因,由于知识库不充分,许多答案需要推理的路径要超过3条边,而那些基于子图或者启发式跳数划分的领域,则无法寻找到正确答案,而本方法则可以证明通过知识表示的方法,即便是没有边相连,也可以寻找到正确答案。

(3)WebQSP with KG-Full and KG-50
  作者在WebQSP上进行了实验。WebQSP训练数据集不多(只有2000多个问句),但知识库很大,因此许多实体并没有被训练集包含。在KG-Full数据集上,PullNet达到最优,是因为其利用了额外的文本数据。但是如果知识库是不充分的(KG-50),则先前的方法准确率明显下降了许多。
论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
  作者分析了为什么基于知识表示(KGE)可以弥补知识库补全导致的“在有限的跳数内找不到答案”的问题:通过知识表示学习,可以不受到具体的邻接边的约束,即使没有边相连,只要得分函数很高,则认为其有边相连(link prediction的思想)

论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
  为了验证这一点,作者将问句对应的答案与该目标实体所有相连的边全部删除,换句话说,此时的答案不可能显式地与目标实体相连,传统的基于路径筛选的方法都将无法使用,理应预测的[email protected]=0。但是作者发现,使用EmbedKGQA依然可以得到29.9%的准确率,这表明了即使没有边与答案相连,也可以通过知识表示学习去预测出对应的边。

  在1-hop中(目标实体与答案有直接的边相连),此时的问答就相当于预测尾实体任务,该方法准确率[email protected]=20.1.作者认为我们的模型可以同时使用知识库和QA数据来训练模型。

  最后作者进行了消融实验,验证Answer Selection的作用,如下图所示,设定在2-hop范围内(2-hop filtering)。可知当只在2-hop范围内进行问答时,该方法的评估准确率会提升,而在此基础上去掉relation matching模块后,效果会降低很多
论文解读:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings

七、总结

  该模型可以很好的解决由于知识库补全导致的推理路径过大问题,不需要引入额外的文本辅助增强。同时避免由于启发式地限定跳数,使得划分的子图范围内没有答案的问题。该工作依然也有几个改进之处:
(1)虽然使用知识库表征来训练问句,但通常问句与实体是在不同的语义空间中,因此直接将问句与实体使用知识表示学习训练过于牵强;
(2)本文使用最简单的排序算法,且只挑选一个答案,但在实际问答中,答案的数量并不是唯一的,并且作者没有考虑到带有约束的问答(the first等等);


参考文献:
【1】《Pullnet: Open domain question answering with iterative retrieval on knowledge bases and text》.
【2】知识表示学习专栏
【3】《 Complex embeddings for simple link prediction》


  博客记录着学习的脚步,分享着最新的技术,非常感谢您的阅读,本博客将不断进行更新,希望能够给您在技术上带来帮助。