王鑫雷 An Interpretable Reasoning Network for Multi-Relation Question Answering
新闻来源:IR实验室       发布时间:2019/3/28 13:18:06

一.介绍

本文发表于COLING2018,是清华黄民烈老师团队的工作。多关系问答一直是一项具有挑战性的任务,因为需要对知识库中多个事实三元组的问题和推理进行详细分析。本文提出了一种称为可解释推理网络的新模型,该模型采用可解释的逐跳推理过程进行问答。该模型动态地决定每一跳应分析输入问题的哪一部分;预测与当前解析结果相对应的关系;利用预测的关系来更新问题表示和推理过程的状态;然后驱动下一跳推理。实验表明,该模型在两个数据集上产生了最先进的结果。不仅如此,该模型还提供可回溯和可观察的的中间预测结果来进行问答过程中的推理分析和错误诊断,因此可以在预测最终答案时进行人工干预提高性能。

二.相关工作

多关系问答主要分为两类,一类是关系路径问题(A path question),涉及一个实体和一条到最终答案的关系路径。另一类是连接关系问题(A conjuctive question),涉及多个实体和相关关系,最后将多个预测的答案集取交集,答案分布概率最大的即为最终答案。相关的方法主要有以下三种:

1.semantic-parsing-based QA(Yih et al., 2014; Yih et al., 2016)

方法:将问题进行语义分析,表示成逻辑结构,执行SPARQL等查询语句找到答案。

    缺点:需要大量的人工标注特征而且不能灵活的扩展。

 2.embedding-based neural QA(Bordes et al., 2014b; Hao et al., 2017)

方法:把问题和候选答案都映射为分布式表达(Distributed Embedding),通过训练数据对该分布式表达进行训练,通过相似度来选择答案。   

缺点:缺乏推理能力。

3.reading comprehensions (Miller et al., 2016; Wang et al., 2017)

    方法:在一个记忆模块中将三元组作为文档存储然后利用阅读理解进行多跳推理。

缺点:缺乏明确的解释。

基于以上方法的不足,本文提出的IRN(Interpretable Reasoning Network(IRN))模型更注意推理过程的透明性解释性,以及更好的扩展性。

三.模型介绍

1.IRN模型分为三个模块:输入模块,预测模块和答案模块。

输入模块:处理每一跳的输入问题向量。初始问题表示为每个单词的词向量之和,每一跳根据前一跳预测出的关系更新问题表示,公式(2)中M是知识库关系空间到问题空间的转移矩阵。公式(2)的目的是防止分析过的问题部分再次被分析,强制模型关注问题的其他部分。

推理模块:预测当前跳的关系。推理模块的输入是前一跳的状态向量和问题向量,预测出当前跳的关系后,会更新下一跳的问题向量和状态向量,初始的状态s0为问题中识别出的实体。上标h代表第h跳,下标j是知识库中第j个关系,公式(5)中M是关系空间到状态空间的转移矩阵。模型还加入了一个终止关系(terminal relation)来结束推理过程,当预测出的关系为终止关系时,把前一跳的答案模块结果作为答案。

 

答案模块:公式(6)中的M是状态空间到实体空间的变换矩阵,公式(7)中下标j代表知识库中第j个实体。

总体来说,IRN模型采用一个带有记忆模块的多跳神经网络结构,记忆模块R存储了知识库中所有关系向量,将一个回答多关系问题转换成一个一步推理一步的连续过程,在每一跳,挑选出知识库中的一个关系并预测出关联的实体,随着推理的推进,预测出的关系和实体会更新状态向量和问题表示,当预测到终止关系时,推理结束返回答案。

2. loss function

3. Multitask Training for KB Representation

本文受TransE方法启发,将KB embedding 训练和IRN模型训练迭代进行,来获得更丰富的实体向量表示。这样在不完整的知识库中,即使实体间没有连接,没有相关三元组,也可以根据向量相似度得到答案。

 

4.Dealing with Conjunctive Questions

处理方法是将问题分为不同的输入对:  input:the same question but different subjects.

output:the distribution over the candidate answers.

                                        final answer:selected after summing the two distributions.

四.数据集和实验

1.数据集:PathQuestion and WorldCup2014

PathQuestion (PQ) 是作者自己创建的,包括PathQuestion (PQ)和PathQuestion-Large (PQL) datasets。PQ是从Freebase子集FB13中抽取,PQL是从Freebase中抽取两跳,三跳关系建立的数据集,数据规模更大。

 WorldCup2014包括单关系问题(WC-1H),两跳问题(WC-2H),连接关系问题(WC-C),单跳两跳问题的混合(WC-M)。

2.实验结果

Performance of Question Answering :

评价标准是准确率,预测的答案实体在输入问题的答案集中即可。可以看出模型在单关系,两跳,三跳问题上都表现得很好,尤其是在wc-c连接关系数据集问题上有显著的效果。

分析:IRN-weak比前几种基线模型表现好表明在相同弱监督的端到端模型下多跳推理确实能更准确地回答问题。IRN在大多数情况下比Mem和KVMem表现更好,因为Mem和KVMem这两种模型都是以三元组作为训练数据强监督模型,而本文IRN模型以实体和关系作为训练数据,泛化能力更强。在PQL-2H和PQL-3H上达到最高表现表明数据集更大时表现得更好。

Performance under more challenge configurations :

Incomplete  KB:在PQ-2H上移除一半的三元组,实体和关系虽然在,但删除了他们之间的联系。

Unseen relation:删除特定关系对应的训练数据样本,本文实验在数据集中删除了死因,性别和职业相关的问题来进行训练。

分析:在Incomplete KB中,因为有辅助的KB embedding训练帮助预测实体,IRN在PQ-2H数据集上准确率下降了2.3,相比3.7来说更低,说明IRN模型鲁棒性更好,在Unseen relation中三个模型准确率都降到0.5,是因为在基于embedding表示的问答模型中,错误的向量表示对结果很有影响,而且删除样本后,训练样本变少也会导致结果变差。

Interpretable Path Reasoning :

分析:IRN模型在中间结果的预测上也能达到很高的准确率,准确率逐跳变低是因为模型的级联误差。

五.总结

论文提出的模型IRN具有更强的解释性,可以将复杂问题的完整推理路径表示出来,可以帮助问题的推理分析和错误诊断工作,因此就可以在答案预测中通过人工操作进一步提高回答的准确率。不仅如此,本文提供的新数据集对其他多关系问答的任务也有借鉴意义。