论文导读 | 复杂知识图谱问答新进展

复杂问题往往具有在知识图谱上的多跳,聚合,比较,判断等多种特点中的一个甚至多个。对于这些自然语言问题,基于知识库的复杂问答系统(KBQA system)可以给出传统的搜索引擎等方式无法给出的答案。一般的KBQA系统可以被分为两大类:基于语义解析的方法和基于信息检索的方法。

基于信息检索的方法的处理流程可以分为四步(见上图):

(1)从主题实体出发抽取kb的子图,作为候选

(2)结合子图,编码问题,给出推理指令(一个向量)

(3)基于推理指令和图,更新当前状态(如关系表示、预测实体的分布)

(4)对图中实体进行打分与排序,得到答案。

基于语义解析的方法的处理流程同样可以分为四步(见上图):

(1)对问题进行编码

(2)将问题编码转化为某种未实例化的逻辑表示

(3)根据kb,将逻辑表示实例化,得到最终的可执行的逻辑表示

(4)执行查询,得到答案

本文将对这两条路线下的一些新工作进行介绍。

  • 一、基于信息检索的方法

  • TERP(coling 22)

该方法旨在将路径信息引入候选实体打分中,其中有两个难点:如何表示路径、如何将路径表示与问题表示相结合。具体地,作者使用预训练语言模型对问题进行编码。路径是指问题中的主题实体和候选答案实体间的最短关系路径,其表示由kg嵌入(RotatE模型)和问题嵌入(将关系的文字表述进行拼接,输入预训练语言模型)共同组成。当存在多条最短路径时,使用问题表示以及注意力机制,选出最相关的一条。

得到问题表示和路径表示后,需要对主题实体进行分别“旋转”和“伸缩”,即基于这两个表示分别计算旋转角度和伸缩倍数,得到两个新的点,并分别对候选实体进行打分(即距离),将分数加权得到最终得分。

  • 二、基于语义解析的方法

  • SSKGQA(coling 22)

该工作旨在基于自然语言问题生成对应的查询图,试图利用问题的语义结构信息来排除错误的查询图结构。文中预定义了6个查询图模板,先预测问题对应的模板,再对实例化的查询图进行排序。在模板预测步骤,作者使用BERT对问题进行编码以及TransE对主题实体进行编码,再用RotatE将二者进行融合,基于此对结构进行分类任务。

得到结构后,从主题实体出发,找到该结构对应的所有候选查询图。在排序步骤中,作者同样使用BERT分别对问题、正确查询图以及错误查询图进行表示,其中查询图根据三元组中空格和“.”进行分割得到序列输入形式,通过三元损失函数训练。

端到端生成sparql(emnlp findings 21)

该文章提出现有方法受限于预定义逻辑形式的限制,难以覆盖所有情况,如“filter”、“order_by”等,且难以处理unseen实体问题,提出直接端到端生成sparql语句,理论上可以生成任何约束条件。此外,将sparql中的实体ID替换为变量(如“c1”),并在最后加上filter条件,‘filter(str(?c1) = “实体名”)’,从而通过语言模型去学习实体名和问题之间的关系,并生成实体名即可。

首先,在数据预处理中,对主题实体和约束分别进行替换、标记操作,并同意答案、中间变量名称。借助Freebase API得到主题实体的ID和对应的类型,将类型和问题一同作为端到端生成模型的输入,该模型可以为GRU,Bert2Bert,GPT2GPT2,BART-large等。得到生成的sparql后进行后处理,即将主题实体替换为ID,约束进行filter转换(见上图)。最后执行sparql得到答案。

CBR-KBQA(emnlp 21)

该文章旨在利用类似的问题及解决方案(case)来解决新问题,在本设定中,case问自然语言问题及其对应的逻辑表示。给定问题q,先在case memory(也就是训练集)中检索类似的问题;通过重用case中的组件,生成q对应的逻辑表示,并进行实体链接;由于case可能无法完全覆盖,或kb存在不完整的情况,需要根据实际的kb局部情况对逻辑表示进行修正;最后执行查询,得到答案。

在检索阶段,使用ROBERTA-base对问题进行编码,基于余弦相似度得到最相近的k个case。为了减小实体对问题相似度的影响,以一定概率将问题中的实体用[BLANK]遮掉。重用阶段使用BIGBIRD模型避免模型复杂度带来的输入长度限制。该步的输入为问题以及case的拼接,其中mention后面会加上对应实体的ID。训练时的损失函数包含了交叉熵损失和KL散度两部分,后者的目的为避免模型在加入case后过度偏离单问题输入的情况。修正阶段,使用TransE和ROBERTA-base对实体相连的关系进行表示,选择与case中最相似的作为最终的路径,优点为无需训练,缺点为不能改变查询结构,1对N的情况无法处理。

RnG-KBQA(acl 22)

该方法先通过KB搜索,得到候选逻辑形式,并排序,再基于问题和top-k候选生成最终逻辑形式。第一步提高覆盖率(要素),第二步提升泛化能力(约束、聚合等)。

首先,从问题中的实体出发,找到两条内的所有路径,并转换为s-expression。将候选路径和问题拼接输入BERT,输出这二者的相似度作为排序的依据。训练中需要正负例,作者使用了bootstrapping负例采样,即前几个epoch随机采样,之后选取得分高的负例(更易混淆的)。

最后的生成器使用T5,输入为问题和top-k候选的拼接,基于交叉熵损失训练,推理时使用beam search。

  • 三、实验对比

为了直观对比这几篇工作在复杂问题上的表现,下表中汇总了它们在ComplexWebQuestion和WebQuestionSP上的实验结果。可以看到基于信息检索的方法在更复杂的问题上表现会下降,可能是由于其很难获取所有的相关实体,计算复杂度过高。基于解析的方法中,SSKGQA定义的问题形式会决定其表达能力的上限,而后三篇工作选择基于语言模型直接生成灵活的query形式,难度更大,但带来的表示能力的收益是可观的。

欢迎关注北京大学王选计算机研究所数据管理实验室微信公众号“图谱学苑“
实验室官网:https://mod.wict.pku.edu.cn/
微信社区群:请回复“社区”获取

实验室开源产品图数据库gStore:
gStore官网:http://www.gstore.cn/
GitHub:https://github.com/pkumod/gStore
Gitee:https://gitee.com/PKUMOD/gStore

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值