论文分享 | 如何在自然语言推理模型中引入外部知识
Posted 华东师大ICA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文分享 | 如何在自然语言推理模型中引入外部知识相关的知识,希望对你有一定的参考价值。
作者 | 张琪
学校 | 华东师大-小i机器人联合实验室
研究方向 | 自然语言推理
自然语言推理,又名文本蕴含,是自然语言理解中一个重要的任务,其任务的形式为:给定一个前提 (Premise) ,根据这个前提去推断假设 (Hypothesis) 与前提的关系。在这里关系分为三种,蕴含关系 (Entailment)、矛盾关系 (Contradiction) 以及中立关系 (Neutral)。比如给定前提“乔布斯创建了苹果”,我们可以推出假设“乔布斯是苹果公司的创始人”为真,所以这里前提和假设之间为“蕴含关系”。自然语言推理是自然语言理解的一个标杆,如果一个模型在自然语言推理任务上取得不错的效果,那么我们可以认为这个模型有了一定的自然语言理解能力。
当前自然语言推理任务的一个难点在于,如何将人在推理的过程中运用到的常识知识融入机器推理模型中。因此,我们将介绍这篇Qian Chen等人在ACL2018发表的关于在自然语言推理模型中引入外部知识的文章。
Qian Chen等人提出的"Neural Natural Language Inference Models Enhanced withExternal Knowledge"首次将外部知识引入到神经自然语言推理模型中。他们认为,现有的大规模的训练数据并不能很好地给模型带来知识,因此他们显示地将WordNet中的语义知识直接融入模型中。
图1 模型架构
具体方法分为四步,如图1。首先是编码层,作者使用BiLSTM模型对前提和假设进行编码;其次是Knowledge-Enriched Co-Attention, 顾名思义,这里就是在计算attention的过程中把知识给加进去,具体来说作者直接使用了一个超参数λ,把它直接加在权重计算的后面,如公式1,其中rij是指词ai和词bj在WordNet中对应的关系。
公式1
第三层是Inference层,通常的做法都是把上面得到的编码信息和交互信息做匹配操作,然后把得到的信息拼接起来。这篇文章的作者在这里的拼接中多了一个内容,就是带权重的关系信息,如公式2。
公式2
在得到inference信息后进入最后一层,作者对这些信息做了一个composition操作,首先再次使用一个BiLSTM对公式2中得到的信息进行聚合,然后使用带权重的关系信息计算权重,得到加权后的信息表示,最后将这些信息进行pooling操作再接一个MLP做分类即可。
实验结果如图2和图3,作者提出的KIM模型在SNLI和MultiNLI数据集上比baseline模型都有较大的提升。经过在不同训练数据量上的Ablation Study,作者发现在训练数据较少的情况下,外部知识才有助于co-attention和composition而对collecting local inference information来说,外部知识一直是有帮助的。
图2 KIM在SNLI数据集上的效果
图3 KIM在MultiNLI数据集上的结果
同时,作者进一步使用MultiNLI数据集(Williams等,2017)提供的supplementary annotations进行更多分析。这些supplementary annotations在域内(in-domain)和域外(out-domain)都有495个样本(约占整个开发集的1/20) 组。 他们将13种推理类型与ESIM模型的模型输出进行比较。 图4为实验结果。 可以看到,KIM在开发集的域内和跨域子集的总体准确度方面优于ESIM。 在跨域设置中,KIM在13个类别中的10个类别中优于或等于ESIM,而在域内设置中,13个类别中仅有7个类别。 它表明外部知识有助于更多跨域设置。 特别是,对于跨域集中的反义词类别,KIM的表现明显优于ESIM,因为外部知识捕获的反义词特征将有助于看不见的跨域样本。
图4 KIM模型和ESIM模型在不同数据类别上的准确率
总的来说,越来越多的模型关注于将一些结构化的外部知识引入模型当中,但是知识的形式多种多样,我们到底引入什么知识,如何编码知识,如何将知识以一种恰当的方式注入模型中,这些都是值得深入研究的问题。
以上是关于论文分享 | 如何在自然语言推理模型中引入外部知识的主要内容,如果未能解决你的问题,请参考以下文章
论文泛读117通过中文自然语言推理研究多语言预训练语言模型中的迁移学习