论文:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings
ACL 2020的一篇论文,涉及multi-hop QA
,有完整代码。
- 作者:Apoorv Saxena,Aditay Tripathi,Partha Talukdar
- pdf:https://www.aclweb.org/anthology/2020.acl-main.412.pdf
- github:https://github.com/malllabiisc/EmbedKGQA
0. Abstract
由于知识图谱通常不够完整,缺失链接,给基于知识图谱的问答系统(KGQA)带来了很大挑战。本文首次将知识图谱嵌入方法应用于多跳问题上,提出EmbedKGQA模型,通过缺失链路预测来降低知识图谱稀疏性。同时,新方法避免了采用启发式邻域搜索答案的限制,从而避免了搜索不到合适的答案。
1. Introduction
知识图谱的不完整性造成推理困难。一个改进点是结合外部文本,降低知识图谱稀疏性。但搜集相关外部文本本身就具有挑战。同时,该类方法采用启发式邻域搜索,由于答案搜索范围受到邻域大小的限制,导致模型难以获得正确答案。例如,下图由于Ganster No.1
和Crime
之间的关系缺失,导致搜索路径增加了2格,大大增加了搜索正确答案的难度。
另一种缓解知识图谱稀疏性的方法是知识嵌入方法。本文首次采用知识嵌入方法解决多跳问答问题。由于采用知识嵌入的方式,从而避免了采用启发式邻域搜索造成的难以找到正确答案的问题,实现了SOTA。
2. Related Work
知识图谱问答
TransE
等方法利用嵌入实现问答,由于需要ground truth
(解释:正确标记的token
是ground truth
,错误标记的则不是),因此不适用于多跳问题- 构建相关子图,或构建相关子图的高维映射,实现问答
- 训练神经网络,构建答案评分函数,或将关系标签问题作为多分类问题,实现问答
知识图谱链路预测
- 基于知识嵌入实现链路预测是研究重点,框架是定义
(h, r, t)
的评分函数,训练模型,使正确三元组的评分高于不正确三元组 RESCAL
、DistMult
训练评分函数,包含头实体和尾实体向量间的双线性乘积和关系矩阵ComplEx
在复杂空间进行实体向量和关系矩阵的表示SimplE
使用Canonical Polyadic (CP)
分解TuckER
使用Tucker
分解TransE
将实体嵌入到高维实空间中,将关系作为头实体和尾实体的转换RotatE
将实体映射到复杂空间中,将关系作为复杂空间的旋转ConvE
利用卷积神经网络学习评分函数InteractE
增加特征交互,改善ConvE
3. Background
本节定义了知识图谱,介绍了不完整知识图谱的链路预测任务,介绍了知识图谱嵌入,最后分析了ComplEx
模型
3.1 知识图谱
知识图谱是(h, r, t)
三元组的集合
3.2 链接预测
链接预测目标是构建评分函数,对(h, r, t)
三元组进行正确性评分
3.3 知识图谱嵌入
训练实体向量ee
和关系向量er
,构建评分函数Φ
并训练,使正确三元组的评分函数大于0,错误小于0
4. EmbedKGQA: Proposed Method
4.1 问题陈述
根据给定问题q
和话题实体eh
,抽取实体et
作为问题q
的正确答案。模型包括下列模块
- 知识图谱嵌入模块,为知识图谱中所有实体创建嵌入
- 问题嵌入模块,构建问题嵌入
- 答案选择模块,减少候选答案实体,选择最终答案
4.2 知识图谱嵌入模块
利用所有实体和关系,训练ComplEx
嵌入。实体嵌入的目标是训练(h, q, a)
三元组评分函数。其中h
、q
、a
分别代表头实体、问题和答案实体。
4.3 问题嵌入模块
利用RoBERTa
将问题q
映射为768维向量,再将向量输入到4层采用ReLU
激活函数的全连接层,将问题映射到复杂空间Cd
目标是学习问题嵌入神经网络,使ComplEx
评分函数将正确三元组评分为正,错误三元组评分为负,交叉熵损失最低
4.4 答案选择模块
针对每个答案集合,对于小的知识图谱(如MetaQA
)直接选择ComplEx
评分最高的答案,对于大的知识图谱则采用关系匹配算法
关系匹配算法除了ComplEx
评分,还新增了由关系匹配函数和路径长度获取的关系评分
关系匹配函数,令hr
为关系r
的嵌入向量,将问题q
拆分成单词列表q'
,令hq
为将q'
输入到RoBERTa
获得的嵌入向量,关系匹配函数为hq
和hr
的点乘并进行sigmoid
处理。将结果高于0.5的关系放入列表Ra
中
Comments | NOTHING