作者:舒意恒(南京大学硕士生,知识图谱方向)
编辑 | 丛末
1
背景
什么是知识图谱问答?
知识图谱(KG)是一个多关系图,其中包含数以百万计的实体,以及连接实体的关系。知识图谱问答(Question Answering over Knowledge Graph, KGQA)是利用知识图谱信息的一项研究领域。给定一个自然语言问题和一个知识图谱,通过分析问题和 KG 中包含的信息,KGQA 系统尝试给出正确的答案。
多跳知识图谱问答指的是,该问答系统需要通过知识图谱上的多条边执行推理,以获得正确答案。
多跳知识图谱问答面临的挑战
知识图谱作为一种知识存储的形式,其中最重要的缺陷之一是它们通常都是不完整的,而这给 KGQA 提出了额外的挑战,尤其是多跳 KGQA。如上图所示,多跳 QA 需要一个长路径,而该路径上任意三元组的缺失都将导致真正的答案无法被搜索到。因此,采取某种方式预测知识图谱中缺失的链接,对于提升多跳 QA 的表现是有帮助的。当前缓解知识图谱不完整性的方法主要有:将 KG 与外部文本语料库结合,或者对知识图谱内的三元组进行补全等。
链接预测
链接预测的任务即预测知识图谱中缺失的链接,以减缓知识图谱的稀疏性。知识图谱嵌入是一种常见的链接预测方法,它为知识图谱中的实体和关系学习高维向量表示,但作者发现它尚未应用于多跳 KGQA 中。作者首次将嵌入用于多跳 KGQA,其目的在于充分利用嵌入方法在应对知识图谱稀疏性上的良好表现,增强模型的多跳推理能力。
论文题目:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
论文链接:https://arxiv.org/abs/1910.03262v1
2
技术简介
如下图所示,该文将其 KGQA 方法称为 EmbedKGQA。其中包含三个关键模块。
- KG 嵌入模块:为 KG 中所有实体构建嵌入。
- 问题嵌入模块:为问题找到嵌入。
- 答案选择模块:减小候选答案实体的集合,并选择最终的答案。
KG 嵌入模块
作者直接选择了 ComplEx [1] 作为嵌入模型。实体嵌入被用于学习头实体、问题和答案实体构成的三元组评分函数。作者没有在 KG 嵌入模块进行过多关注和额外设计。
问题嵌入模块
答案选择模块
效果
数据集:实验所用数据集是 MetaQA 和 WebQuestionsSP。
MetaQA 是一个大规模多跳 KGQA 数据集,包含电影领域中超过四十万个问题。在 QA 之外,该数据集包含 13.5 万项三元组和 4.3 万个实体,以及 9 种关系。
WebQuestionSP 是一个较小的 QA 数据集,包含 4737 个问题,问题为 1 跳或 2 跳,可通过 Freebase 回答。作者选取了 Freebase 的子集用于该数据集的实验,其中包含 180 万个以上的实体和 570 万项以上的三元组。
显然,后者所用的知识图谱规模要远大于前者。在实验部分中重点关注后者,可以窥见该模型能否良好地适应较大规模的知识图谱。
竞争算法:作者将 EmbedKGQA 与 Key-Value Memory Network[4] 、VRN[5] 、GraftNet[6] 、PullNet[7] 进行了对比。这些算法都实现了多跳 KGQA。其中,PullNet 限制答案实体在抽取的问题子图中,这种抽取问题子图的方法在本质上限制了长路径的多跳推理能力。而 EmbedKGQA 本质上可以应对头实体和答案实体不连通的情况,统一的嵌入空间在某种程度上已经包含了任意实体之间的关系,这超越了 PullNet 局部子图的思路。
实验结果:下图是 MetaQA 数据集上的实验结果,KG-50 表示知识图谱的 50%. 评价指标是 hit@1. 括号中的数字表示文本被用于增强不完整的 QA 时的实验结果。
作者使用 50% 的知识图谱进行测试,其目标是测试模型在不完整知识图谱上进行链接预测的能力。MetaQA KG-50 实际上很稀疏,导致结点间的路径很可能变得更长。
下图是 WebQSP 数据集上的实验。EmbedKGQA 在链接预测上展现出非常好的表现,但 KG-Full 上尚未取得超过 SOTA。
3
总结
EmbedKGQA 构建方法简单且有效,充分利用了现有嵌入方法在应对知识图谱稀疏性与实现链接预测方面的良好表现,实现了多跳 QA。
不过,个人认为该文的瑕疵是,由于关系匹配部分中,候选答案实体选择的方法细节并未在文中被阐述清楚,在大型知识图谱上的多跳 QA 效果可能值得深究。
参考文献: