引言
点击下面卡片,关注我呀,每天给你送来AI技术干货!
来自:复旦DISC
目前在各种推理任务中,预训练模型都取得了不错的效果,展现了一定的隐式推理能力,然而大多数工作的推理过程还是不透明的。如何对问题进行显式推理,为每一步推理预测提供可解释性依据越来越受关注。
本次Fudan DISC实验室将分享两篇EMNLP 2020以及一篇ICLR 2021论文,来介绍一些关于可解释性推理的方向和尝试。
文章概览
PROVER: 基于规则的可解释性推理的证明生成
PROVER: Proof Generation for Interpretable Reasoning over Rules
论文地址:
https://www.aclweb.org/anthology/2020.emnlp-main.9.pdf
该篇文章针对基于自然语言规则库的推理问题,模拟了形式定理证明器,提出了一个基于Transformer的可解释模型,在回答问题的同时生成相应的证明图。
知识感知问答的可扩展性多跳关系推理模型
Scalable Multi-Hop Relational Reasoning for Knowledge-Aware Question Answering
论文地址:
https://www.aclweb.org/anthology/2020.emnlp-main.99
该篇文章关注于基于知识图谱的问答,提出了一个multi-hop graph relation network(MHGRN)模型,将基于路径的推理方法与图神经网络相结合,同时具有更好的可解释性和可扩展性。
RNNLogic: 学习知识图谱推理中的逻辑规则
RNNLogic: Learning Logic Rules for Reasoning on Knowledge Graphs
论文地址:
https://openreview.net/pdf?id=tGZu6DlbreV
逻辑规则可以为模型预测提供可解释性,该篇文章为学习知识图谱推理中的逻辑规则,提出了RNNLogic模型,将逻辑规则视为潜在变量,同时用逻辑规则训练规则生成器和推理预测器,并基于EM算法优化。
论文细节
1
论文动机
在基于自然语言规则库的推理任务中,Transformer可以充当“软定理证明者”,以高准确率预测出答案。但是一个可靠的自然语言推理模型,还应该同时生成相应的证明,为预测的答案提供可解释性依据。
因此文章提出了PROVER,一个基于transformer的模型,在回答基于自然语言规则库的问题同时还生成对应证明图。
证明表示
一条证明是一个有向图 P=(N,E), 其中 n∈N是节点, ϵ∈E是边,每个节点可能是一条事实 f∈F,一条规则 r∈R或者一个特殊节点 NAF(用来表示否定和失败),每条边的方向可能是从事实(或者 NAF)连接规则或者一条规则连接另一条规则。如下图,展示了两个规则库,以及基于规则提出的问题答案和对应的证明图。
模型
PROVER模型基于RoBERTa,包含三个模块,分别是问答(QA)模块、节点(Node)模块和边(Edge)模块,具体结构如下图。
1. QA模块
在QA模块中,为预测问题的二元答案,将context 和question 串联起来输入到RoBERTa中,其中context是由所有的事实和规则构成 ,具体输入公式如下:
基于 的表示加了一个QA分类层,计算得到每个答案类别的概率。
2. Node模块
Node模块用于预测哪些事实和规则是当前证明图的一部分。首先对每个事实或规则节点的所有tokens表示做一个mean pooling操作,得到每个节点的表示, 的表示通过对 表示线性转化得到。对每个节点表示通过一个节点分类器,判断当前节点是否在证明图中。
3. Edge模块
Edge模块用于预测两个节点之间是否存在边以及边的方向。节点 到 之间的边表示为,其中 是方向向量。对每一条边的表示通过一个边分类器,判断当前边是否存在于证明图中。
4. 整数线性规划推导
证明图的生成存在一些全局限制,基于这些限制,我们可以将问题形式化成整数线性规划问题。比如证明图是一个连通图,则从源节点到目标节点存在一个最大流总和为 ;只有存在于证明图中的节点之前才可能存在边;边的方向都是从事实节点或者规则节点或者 到规则节点。最终边的预测问题可以被定义成如下优化问题:
其中 表示边 存在于图中的概率(通过Edge模块计算得到), 是我们优化的0/1变量,表示边 是否是证明图的一部分。
实验
模型分别在DU0-DU5, Birds-Electricity, ParaRules数据集上都进行了自动评估,比较了答案准确率,节点准确率,边准确率,证明准确率以及全部准确率。
模型在所有的数据集上都取得了和RuleTaker相当的QA表现,并且同时生成了可解释的证明。其中Birds-Electricity显示了模型的迁移能力能力,并且QA也得到了较大提升,ParaRules显示了模型在较为复杂的人工标注数据上也可以取得不错效果。
文章还对模型在不同推理深度的数据上训练的泛化能力进行了评估,如下图。
可以看出即便在推理深度为0的数据上训练,PROVER也有着较强的泛化能力,能够回答很大一部分推理深度最大为5的问题。
最后文章还评估了不同训练数据的规模对PROVER模型的影响,可以看出,在仅需要40%的训练数据时, PROVER就可以达到几乎完美的QA准确率。
2
论文动机
需要多跳推理的知识图谱问答,通常有有两大类方法:
知识图谱中的关系路径自然地为答案提供证据,可以帮助提高模型的推理能力和可解释性,因此一类方法是直接建模这些关系路径,如KagNet和MH-PGM用序列模型对提取的关系路径进行编码,从而使多跳关系得到显式建模。然而这些模型很难扩展,因为图中可能的路径数是节点数的多项式级别,是路径长度的指数级别。
另一类方法是图神经网络,其消息传递范式具有更好的可伸缩性,但这些模型没有区分不同邻居或关系类型的重要性,因此无法为模型行为解释提供明确的关系路径,缺乏透明度和可解释性。
为结合基于路径模型的解释性与GNN的扩展性,本文提出了多跳图关系网络(MHGRN),保留消息传递范式的同时将结构化的关系注意机制引入到消息传递路径的建模中。具体是在单层内执行多跳消息传递,以允许每个节点直接连接其多跳邻居,从而实现多跳关系推理。
模型
文章采取多选题任务,如下图,给定一个外部知识图和一个问题 ,抽取问题相关子图 ,分别对文本和图进行编码,从而计算每个答案的合理性得分。
整个多跳图关系网络(MHGRN)框架结构如下:
为了让模型知道节点类型(问题节点、答案节点、其他节点),首先对所有节点表示做一个类型特定线性转换,得到 。
之后对图做多跳消息传递,直接对最大长度为 的路径建模。 跳关系有效路径定义以及在上面的 -hop消息传递如下。
其中不同路径的注意力权重可以看作一个关系序列的概率,可以通过概率图模型如条件随机场计算。
通过把
-hop分解成单跳关系和两跳关系建模。
可解释性
在推导的阶段,对于模型的预测,可以解码出对应推理路径作为依据:将合理性得分最高的选项作为答案 ,然后找到连接答案的分数最高的路径的长度 ,最后找到所有长度为 中注意力得分最高的路径,作为答案的推理路径。
实验
本文将ConceptNet作为外部知识图谱,参考KagNet预处理。模型在CommonsenseQA, OpenBookQA数据集上进行了自动评估,都取得了同等参数规模的模型中最优表现。
文章分析了跳数 对模型性能的影响,下图显示当 时,性能开始下降,这可能是由于长关系路径的指数噪音。
文章还进一步分析了模型的可扩展性,可以看出,MHGRN的时间只是RGCN的两倍,是与K相关的线性时间。
最后文章还列举出了两个问题的推理路径,可以看出这些路径很好的为答案预测提供了解释。
3
论文动机
知识图谱推理任务中,通常都会通过学习如下的逻辑规则来提供可解释的依据。
之前的工作大致分为两类:
枚举所有的关系路径作为候选逻辑规则,对每一条学习一个权重,这种方法往往搜索空间太大;
将逻辑规则的学习看作一个序列决策过程,并使用强化学习来生成,这种方法的弊端是reward非常稀疏导致优化无效。
本文中提出RNNLogic,将逻辑规则视为潜在变量,并同时使用逻辑规则训练规则生成器和推理预测器,并基于EM算法优化。
模型
逻辑规则是 个关系的合取形式,将可以解释一个问题的所有逻辑规则集合看作一个隐式变量 ,整个任务框架如下图,包含一个规则生成器和一个推理预测器,并通过EM算法优化规则生成器。
规则生成器
在生成逻辑规则是,为了规则在不同实体上的泛化性,只考虑路径中的关系而不考虑实体。通过RNN来生成一条规则(一个关系序列), 个规则的生成概率则可以看作是一个多项式分布。
推理预测器
文章采用一个log-linear模型用来推理,如下图,每个候选答案被推理出来的得分由所有的规则和路径得分得到。这里路径的得分采取两种设置:(1)所有路径得分都为1;(2)按照RotatE的思路,计算路径推导出来的尾实体表示和实际表示之间的相似度作为得分。
最后得
EM算法
RNNLogic是基于EM的算法的。在每次迭代中,都会更新推理预测器以探索一些生成的逻辑规则进行推理。然后在E-step中,通过后验推理从所有生成的规则中选择一组高质量规则。然后在M-step中,使用在E-step中选择的规则更新规则生成器。
实验
模型在FB15k237, WN18RR, Kinship, UMLS数据集上进行了自动评估,对于每一个三元组 , 都构造两个问题: 和 ,模型在所有数据集上都几乎取得了最优表现,同时可以看出推理预测器中给每条路径根据embedding打分的效果更好。
文章通过比较不同模型学习出来的相同数目逻辑规则,对于答案推理的影响,分析了学习的逻辑规则的质量,RNNLogic在学习相同数目的逻辑规则时表现最好,表明了RNNLogic学习的逻辑规则质量最高。
文章还比较了训练数据规模对模型效果的影响,可以看出RNNLogic对于数据稀疏更鲁棒。
最后,文章还列举出了一些在推理中生成的逻辑规则,都为推理过程提供了较好的可解释性依据。
总结
本次分享的三篇文章都尝试在推理任务中将中间步骤的推理路径显式的学习出来,具体表现为证明、关系路径以及逻辑规则,为推理预测提供一定的可解释性依据,同时也可以为错误预测找到出错的原因。当然在学习可解释性依据的同时,更需要考虑如何使用他们进一步帮助推理预测。
供稿丨王思远 编辑丨邹瑞祥 责编丨李志伟供稿人:王思远丨研究生三年级丨研究方向:基于文本的问题生成、知识建模丨邮箱:wangsy18@fudan.edu.cn
说个正事哈
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方“深度学习自然语言处理”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注呦
点击上面卡片,关注我呀,每天推送AI技术干货~
整理不易,还望给个在看!