http://www.xue63.com/toutiaojy/20180327G0DXP000.html

本文提出一种简单的自然语言推理任务下的神经网络结构,利用注意力机制(Attention Mechanism)将问题分解为可以单独解决的子问题,从而实现了并行化。在斯坦福自然语言推理(SNLI)数据集上,本文工作取得了极好的效果,并且比之前的工作减少了一个数量级的参数数量,而且模型结构不依赖任何单词顺序信息。延伸模型加入了句子内的Attention以考虑一部分单词词序信息,得到更好的提升效果。

1.背景介绍

a) Natural Language Inference自然语言推理任务

使用自然语言进行推理的能力是许多NLP任务(如信息提取,机器翻译和问答)的基本前提条件。NLI任务是给定两个句子A和B,预测句子间的关系:

·推演(Entailment):如果文本A是真的,那么文本B一定为真。

·矛盾(Contradiction):如果文本A是真的,那么文本B一定为假。

·中性(Neutral):上述两者都不是。

例如:

应用:文本相似度,意见挖掘,关系抽取,知识推理/问答等等。

b)Attention Model注意力模型

人类利用有限的注意力资源从大量信息中快速筛选出高价值信息的手段,可以极大地提高信息处理的效率与准确性。深度学习抽象出了注意力机制的本质思想,对输入序列计算概率分布信息。

2.相关工作

自然语言推理任务的方法分为以下两种:

传统方法:

(1)基于特征结合的分类:多种相似度如词性标注、命名实体的自然语言处理基础技术;

(2)基于对齐的方法:利用文本的相关性如N-gram,动词反义词等的对应关系。

深度学习方法:

(1)基于句子表示的方法:Sentence Embedding(LSTM/CNN/…),把句子表示成向量再分类;

(2)基于句子匹配的方法:引入Attention机制,关注对判断句子蕴含关系起到重要作用的词,给予相对较高的权重。

本文主要讨论的是深度学习相关方法,下面讨论两篇相关工作:

a) LSTM + Feedforward Neural Network (Bowman et al. 2015)

b)LSTM + Attention (Rocktaschel et al. 2016)

3.本文方法

动机:

(1)现在大部分模型的工作都是利用预训练的词向量,得到句子向量表达,依赖主流的语言模型求解思路完成句子的匹配和概率生成;

(2)对句子进行编码-解码耗时、参数多,例如LSTM/GRU等模型结构,对长句子做sentence representation的时候较为困难,不一定能很好的表达语义;

(3)使用seq2seq模型还存在的问题是不能并行计算,使得时间周期长。

本文提出在NLI任务上,不需要对句子进行复杂建模,而是分解问题——单词的对齐,实现并行解决;相比其他模型减少了更多参数(减少到10%),并达到很好的效果。

1.Attend

2.Compare

3.Aggregate

除了上述的基础模型之外,可以在每个句子中使用句子内的attention方式来加强输入词语的语义信息。

比如对于英-中机器翻译来说,source是英文句子,target是对应的翻译出的中文句子,inner-attention机制发生在target的元素query和source中的所有元素之间。

而intra-attention机制发生在source内部元素之间或者Target内部元素之间。Intra-attention可以捕获同一个句子内单词之间的联系,例如语法特征、语义特征等;计算过程中会直接将句子中任意两个单词的联系通过一个计算步骤直接联系起来,所以远距离依赖特征之间的距离被极大缩短,有利于有效地利用这些特征;可以增加计算的并行性。

4. 实验及结果

数据集:SNLI (Bowman et al. 2015)

5. 总结

(1) 在NLI任务上分解成子问题,并行解决,相比其他模型减少了更多参数,并达到很好的效果;

(2) NLP工作的新思路,不需要句子结构深入建模,通过对齐文本也能达到很好的实验结果。

(3) 本文将NLI任务当做是关键问题,并直接解决这个问题,因此比单独给句子编码有巨大的优势;Bowman等其他方法则更关注问题的泛化,也是针对此来构建模型,适用的场景会比本文模型更广泛。

<A Decomposable Attention Model for Natural Language Inference>(自然语言推理)的更多相关文章

  1. 《Enhanced LSTM for Natural Language Inference》(自然语言推理)

    解决的问题 自然语言推理,判断a是否可以推理出b.简单讲就是判断2个句子ab是否有相同的含义. 方法 我们的自然语言推理网络由以下部分组成:输入编码(Input Encoding ),局部推理模型(L ...

  2. 论文阅读笔记: Natural Language Inference over Interaction Space

    这篇文章提出了DIIN(DENSELY INTERACTIVE INFERENCE NETWORK)模型. 是解决NLI(NATURAL LANGUAGE INFERENCE)问题的很好的一种方法. ...

  3. <<Natural Language Inference over Interaction Space >> 句子匹配

    模型结构 code :https://github.com/YichenGong/Densely-Interactive-Inference-Network 首先是模型图: Embedding Lay ...

  4. 第四篇:NLP(Natural Language Processing)自然语言处理

    NLP自然语言处理: 百度AI的 NLP自然语言处理python语言--pythonSDK文档: https://ai.baidu.com/docs#/NLP-Python-SDK/top 第三方模块 ...

  5. 《Bilateral Multi-Perspective Matching for Natural Language Sentences》(句子匹配)

    问题: Natural language sentence matching (NLSM),自然语言句子匹配,是指比较两个句子并判断句子间关系,是许多任务的一项基本技术.针对NLSM任务,目前有两种流 ...

  6. Bilateral Multi-Perspective Matching for Natural Language Sentences---读书笔记

    自然语言句子的双向.多角度匹配,是来自IBM 2017 年的一篇文章.代码github地址:https://github.com/zhiguowang/BiMPM 摘要          这篇论文主要 ...

  7. 论文笔记:Tracking by Natural Language Specification

    Tracking by Natural Language Specification 2018-04-27 15:16:13  Paper: http://openaccess.thecvf.com/ ...

  8. 【翻译】Knowledge-Aware Natural Language Understanding(摘要及目录)

    翻译Pradeep Dasigi的一篇长文 Knowledge-Aware Natural Language Understanding 基于知识感知的自然语言理解 摘要 Natural Langua ...

  9. BiMPM:Bilateral Multi-Perspctive Matching for Natural Language Sentences

    导言 本论文的工作主要是在 'matching-aggregation'的sentence matching的框架下,通过增加模型的特征(实现P与Q的双向匹配和多视角匹配),来增加NLSM(Natur ...

随机推荐

  1. SSH用户枚举漏洞(CVE-2018-15473)原理学习

    一.漏洞简介 1.漏洞编号和类型 CVE-2018-15473 SSH 用户名(USERNAME)暴力枚举漏洞 2.漏洞影响范围 OpenSSH 7.7及其以前版本 3.漏洞利用方式 由于SSH本身的 ...

  2. Android服务开发——WebService

    我在学习Android开发过程中遇到的第一个疑问就是Android客户端是怎么跟服务器数据库进行交互的呢?这个问题是我当初初次接触Android时所困扰我的一个很大的问题,直到几年前的一天,我突然想到 ...

  3. python pytest测试框架介绍一

    一.安装 pytest不是python默认的package,需要自动手工安装. pytest支持python 2.6--3.5之间的版本,同时可以在unix及windows上安装 安装方式: pip ...

  4. [分布式系统学习] 6.824 LEC3 GFS 笔记

    Google File System 第三课的准备是阅读论文GFS.该论文是分布式系统中经典论文之一. 读完做一点小总结. GFS的feature 1. 非POXIS接口API,支持对文件和文件夹的创 ...

  5. android 常见内存泄漏原因及解决办法

    android常见内存泄漏主要有以下几类: 一.Handler 引起的内存泄漏. 在Android开发中,我们经常会使用Handler来控制主线程UI程序的界面变化,使用非常简单方便,但是稍不注意,很 ...

  6. logstash实战input插件syslog

    vim /etc/logstash/conf.d/syslog.conf input{ syslog{ type => "system-syslog" port => ...

  7. Python装饰函数

    from time import ctime, sleep def tsfunc(func): def wrappedFunc(): print('[%s] %s() classed' % (ctim ...

  8. iOS服务器证书不受信任的解决版本

    参考文章链接: https://www.cnblogs.com/v-jing/p/6008964.html http://www.cocoachina.com/ios/20151021/13722.h ...

  9. 《前端JavaScript面试技巧》笔记一

    思考: 拿到一个面试题,你第一时间看到的是什么 -> 考点 又如何看待网上搜出来的永远也看不完的题海 -> 不变应万变 如何对待接下来遇到的面试题 -> 题目到知识再到题目 知识体系 ...

  10. Zero-Copy技术

    概述 考虑这样一种常用的情形:你需要将静态内容(类似图片.文件)展示给用户.那么这个情形就意味着你需要先将静态内容从磁盘中拷贝出来放到一个内存buf中,然后将这个buf通过socket传输给用户,进而 ...