原文链接:https://aclanthology.org/P17-1152.pdf

ACL 2017

概述

对于自然语言推理任务,Bowman等人在2015年提出了一个大数据集,大多数工作就开始使用神经网络来对该任务进行训练。但作者认为序列模型的潜力还没有完全被挖掘,因此提出了一个基于chain LSTMs的序列模型,该模型比先前的模型效果都要好,另外融合循环结构后,性能得到进一步提升,特别是在纳入语法信息后达到了最好的结果。

介绍

自然语言推理(NLI)中一个任务是RTE(recognize textual entailment),就是判断两个句子之间的关系,存在三种情况:矛盾、无关以及蕴含。实际就是看在给定前提p的情况下,能不能推出假说h。例如以下例子:

前提p中表示部分航空公司发现即使调整了通货膨胀后成本增长仍高于预期,从中是可以推测出h这个假说的。

另外,作者认为语法和语义是密切相关的,所以在本文中作者也探究了语法信息对NLP任务的作用,讲语法信息进行编码融入到模型中。

方法

作者提出的模型结构主要包括:input encoding、local inference modeling和inference composition。如下图所示,左部分就是前面提到的序列模型ESIM(主要是使用语义信息来进行训练),右部分是在tree LSTMs中融合了语法信息的结构(主要是用语法信息来进行训练)。(可以只使用ESIM,也可以达到很好的效果,在加入了右边语法信息的结果后,结果会更好。如果两个模型都使用,作者称为HIM)

premise a=(a1,,,ala),hypothesis b=(b1,,,blb),通过预训练的模型对其embedding进行初始化,最后得到两个句子逻辑关系之间的label y。

Input Encoding

作者将双向LSTM(BiLSTM)和Tree-LSTM作为两个模型的基本结构块,但在input encoding部分和inference information部分中有着不同的作用。

在ESIM中,使用BiLSTM来对输入的句子premise和hypothesis进行编码,文中对BiLSTM的具体结构没有进行具体介绍,实际就是将两个不同方向LSTM的隐状态进行concat作为最终的隐状态,另外作者提到这里使用其他循环记忆块(例如GRUs)进行代替的话,效果没有LSTMs好。

如下所示,使用\bar{a}_{i}表示BiLSTM对输入句子a在时间步i的隐藏状态,对b也同理。

对于语法信息,使用树状的LSTM来对节点进行更新。在每个节点中,将向量Xt以及其左右子节点的隐状态作为输入计算该节点的隐向量ht,对于没有叶子的节点,使用{x}'_{t}(类似于unknown word)作为输入。具体结构以及计算公式如下图所示:

其中\sigma表示sigmoid函数,W,U都是可学习的权重矩阵。

Local Inference Modeling

感觉这部分就是得到词与词之间的soft attention,ESIM得到词与词之间语义信息的权重,而另一个使用语法信息的模型得到词与词之间语法关系的权重。

在本文中,计算premise和hypothesis之间的相似度:

在ESIM中,将上诉相似度eij用于premise中单词的隐状态\bar{a}_{i}和hypothesis中相关的语义信息计算,即使用\bar{b}_{j}中相关的向量来表示\tilde{a}_{i}

在语法树中,是对PCFG语法分析器(相关链接:使用Stanford Parser的PDFG算法进行句法分析 - 灰信网(软件开发博客聚合))得到局部短语以及从句的关系进行注意力分数计算。与ESIM中差不多,只是将\bar{a}_{i}\bar{b}_{j}(前提和假说中的embedding)替换成tree-LSTM中对应叶节点的隐状态(由公式3计算得到)。

为了使得元祖中元素之间关系(标签中的三种,矛盾、无关、蕴含)更加明显,作者将\tilde{a}_{i}\tilde{b}_{j}的差值和点积进行与其自身进行concat,对得到的local inference 信息进行增强:

作者认为这是一种高层次的信息交互,另外,作者也将该元祖作为输入,传入一个前馈神经网络中,将最后一层的隐状态添加到上诉concatenation中,但实验结果表明这并没什么用。

Inference Composition

在ESIM中依旧使用BiLSTM对ma和mb的上下文信息进行捕获,计算与前面的公式1和公式2类似。另一个模型中,使用以下公式进行树节点的更新:

为了减少计算量,这里的F是只有一层带有ReLu激活函数的前馈神经网络。

最后通过一个pooling层后传入到分类器中对最终结果进行推测,本文中作者使用了avg和max两种pooling方式,如下所示(对于树结构的模型,在公式20中使用根结点的隐状态进行计算):

整个模型使用多分类的交叉墒损失来进行训练。可以只使用ESIM模型的结果,也可以对两个模型最后的预测结果进行赋权来得到最后的结果。

实验

本文实验使用Bowman等人在2015年提出的SNLI(Stanford Natural Language Inference)数据集,移除了其中一些无法确定的数据。与之前提出的模型进行对比,实验结果如下:

作者对模型中的主要部分进行了消融实验,结果如下:

作者对Tree-LSTM和BiLSTM中各个词之间的注意力分数进行了可视化和分析:

总结

本文提出了一个序列模型,在SNLI数据集上达到了目前最好的效果,在结合语法信息后达到效果会更好。作者认为序列模型的潜力害没有完全被发掘出来,未来将进一步探索使用额外信息(例如Word-Net和contrasting-meaning embedding)来帮助词级别的推理关系。

(不知道为啥,这篇论文看完后花了接近一天的时间来写这篇博客,其实模型也不是很难,可能是我表述能力的问题吧!就是我能大概知道这个模型是怎么训练的,但是跟着论文来写一遍的时候还是会很慢很慢

ESIM:Enhanced LSTM for Natural Language Inference相关推荐

  1. 论文笔记翻译——Enhanced LSTM for Natural Language Inference(ESIM)

    文章目录 0.前言 1. 模型结构 1.1 input encoding 1.2 local inference modeling 1.3 inference composition 2. 模型实现 ...

  2. ESIM (Enhanced LSTM for Natural Language Inference)

    ESIM历史意义: 1. 深层次的挖掘文本间的语义关系特征 2.加入文本语法结构信息 本文主要结构如下: 一.Abstract 1.推理是人工智能的关键体现 2.SNLI为推理模型提供数据支撑 3.文 ...

  3. Enhanced LSTM for Natural Language Inference-学习笔记

    Enhanced LSTM for Natural Language Inference 自然语言推理(NLI: natural language inference)问题:即判断能否从一个前提p中推 ...

  4. EMNLP2020 | 近期必读Natural Language Inference精选论文

    **AMiner平台**由清华大学计算机系研发,拥有我国完全自主知识产权.平台包含了超过2.3亿学术论文/专利和1.36亿学者的科技图谱,提供学者评价.专家发现.智能指派.学术地图等科技情报专业化服务 ...

  5. 论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference

    论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference   随着 ...

  6. NATURAL LANGUAGE INFERENCE OVER INTERACTION SPACE

    文章目录 ABSTRACT 1 INTRODUCTION 2 RELATED WORK 3 MODEL 3.1 INTERACTIVE INFERENCE NETWORK 3.2 DENSELY IN ...

  7. 论文解读: Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference

    前言:在自然语言研究领域,某些自然语言处理任务可以利用"预训练模型+任务描述"方式的无监督学习来解决.然而,已有的"预训练模型+任务描述"的无监督学习方法不如有 ...

  8. 【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference

    论文信息 名称 内容 论文标题 Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inf ...

  9. Natural Language Inference Over Interaction Space(DIIN)阅读笔记

    文章目录 Introduction Model Interactive Inference Network(IIN) Densely Interactive Inference Network(DII ...

最新文章

  1. Python游戏开发,pygame模块,Python实现打砖块小游戏
  2. linux启动数据库orl,linux5.4下oracle问题
  3. php扩展的xdebug,安装php扩展:Xdebug
  4. 【转】从 ArcGIS for Desktop 发布地图服务
  5. Docker 基本操作
  6. c语言编写keil 设置memory model的编辑器,keil C51的Memory Model 说明[三种Model的选择对编译的影响]】...
  7. 潦草字体在线识别_想要知道某些字是什么字体?帮助你以最快的方式识别
  8. 【语言-c#】应用程序正常初始化(0xc000007b)失败。请单击“确定”,终止应用程序。
  9. OPPO 数据湖统一存储技术实践
  10. 不要再问芝士和奶酪有什么区别了!一次解释清楚
  11. IT项目启示录——来自泰坦尼克号的教训(第十篇)(转)
  12. 赶紧注册你的@live.xx邮箱吧!
  13. Leetcode 组合总和问题
  14. 从头开始学习JAVA
  15. merge into 的用法
  16. 正高职称 程序员_研究员级高级工程师和高级工程师有什么区别,副研究员与高级工程师有什么差别...
  17. Ubuntu运行vmware时报错Vmware Unable to install all modules!Use shipped Linux kernel AIO access library解决。
  18. (三)软件测试理论(了解软件的缺陷知识)
  19. nexus 7 一代 android l,Nexus 7(2012)一代刷机
  20. 笔试代码题--搜狗--汪仔做对的题数范围

热门文章

  1. 01、顺序表SeqList
  2. python语言特点强制可读-Python中文件的读写、写读和追加写读三种模式的特点
  3. 走进小程序【七】微信小程序【常见问题总结】
  4. 硬件系统工程师宝典-好书推荐
  5. 如何将word图片粘贴到FCKEditor里面
  6. USG6000V测试
  7. 左上角或右上角显示提醒圆点
  8. 《浪潮之巅》第三版读书总结--了解过去,才能把握未来(二)
  9. Educational Codeforces Round 94 (Rated for Div. 2)题解ABCD
  10. 老猫:台湾城邦成长的秘密