<A Decomposable Attention Model for Natural Language Inference>(自然语言推理)
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>(自然语言推理)的更多相关文章
- 《Enhanced LSTM for Natural Language Inference》(自然语言推理)
解决的问题 自然语言推理,判断a是否可以推理出b.简单讲就是判断2个句子ab是否有相同的含义. 方法 我们的自然语言推理网络由以下部分组成:输入编码(Input Encoding ),局部推理模型(L ...
- 论文阅读笔记: Natural Language Inference over Interaction Space
这篇文章提出了DIIN(DENSELY INTERACTIVE INFERENCE NETWORK)模型. 是解决NLI(NATURAL LANGUAGE INFERENCE)问题的很好的一种方法. ...
- <<Natural Language Inference over Interaction Space >> 句子匹配
模型结构 code :https://github.com/YichenGong/Densely-Interactive-Inference-Network 首先是模型图: Embedding Lay ...
- 第四篇:NLP(Natural Language Processing)自然语言处理
NLP自然语言处理: 百度AI的 NLP自然语言处理python语言--pythonSDK文档: https://ai.baidu.com/docs#/NLP-Python-SDK/top 第三方模块 ...
- 《Bilateral Multi-Perspective Matching for Natural Language Sentences》(句子匹配)
问题: Natural language sentence matching (NLSM),自然语言句子匹配,是指比较两个句子并判断句子间关系,是许多任务的一项基本技术.针对NLSM任务,目前有两种流 ...
- Bilateral Multi-Perspective Matching for Natural Language Sentences---读书笔记
自然语言句子的双向.多角度匹配,是来自IBM 2017 年的一篇文章.代码github地址:https://github.com/zhiguowang/BiMPM 摘要 这篇论文主要 ...
- 论文笔记:Tracking by Natural Language Specification
Tracking by Natural Language Specification 2018-04-27 15:16:13 Paper: http://openaccess.thecvf.com/ ...
- 【翻译】Knowledge-Aware Natural Language Understanding(摘要及目录)
翻译Pradeep Dasigi的一篇长文 Knowledge-Aware Natural Language Understanding 基于知识感知的自然语言理解 摘要 Natural Langua ...
- BiMPM:Bilateral Multi-Perspctive Matching for Natural Language Sentences
导言 本论文的工作主要是在 'matching-aggregation'的sentence matching的框架下,通过增加模型的特征(实现P与Q的双向匹配和多视角匹配),来增加NLSM(Natur ...
随机推荐
- 二、Laya学习笔记 ---- Laya中如何新建一个场景UI并使用
因为我之前是用Egret的,Egret是场景皮肤HomeSceneSkin.exml,然后在场景代码HomeScene代码中为该场景赋值皮肤this.skinName = "HomeScen ...
- 【CF799E】Aquarium decoration 线段树
[CF799E]Aquarium decoration 题意:有n个物品,小A和小B各自喜欢其中的某些物品,一件物品可能既被小A喜欢又被小B喜欢,也可能既不被小A喜欢又不被小B喜欢.每个物品都有一个价 ...
- Spark2 Dataset行列操作和执行计划
Dataset是一个强类型的特定领域的对象,这种对象可以函数式或者关系操作并行地转换.每个Dataset也有一个被称为一个DataFrame的类型化视图,这种DataFrame是Row类型的Datas ...
- 利用 :first-child 和 :nth-last-child 确定子元素数目
读<css揭秘>时,发现选择器的神奇作用,可以确定子元素数目,比如: li:first-child:nth-last-child(2),li:first-child:nth-last-ch ...
- 170817、Nginx详细配置
Nginx能做什么 nginx主要是做转发,当然也可以做静态资源文件缓存,做转发的时候,比如你有几个url,可以统一通过走nginx,然后通过nginx转发到不同的url上 1.反向代理 反向代理应该 ...
- java字符串的替换
split也是用到了正则表达式 replace 是没有用正则表达式,全部替换 replaceAll 和replaceFirst是用了正则表达式 replaceAll替换所有,replaceFirst是 ...
- opencv学习笔记霍夫变换——直线检测
参考大佬博文:blog.csdn.net/jia20003/article/details/7724530 lps-683.iteye.com/blog/2254368 openCV里有两个函数(比较 ...
- Gym - 101028I March Rain 二分
http://codeforces.com/gym/101028/problem/I 题意:给你n个洞,k个布条,问布条能贴到所有洞时的最小值. 题解:二分答案,因为答案越大就越容易满足条件. 技巧: ...
- complexity_action
大话数据结构 /* 顺序存储的结构 */ #define MAXSIZE 20 //存储空间初始分配量 typedef int ElemType; //ElemType类型根据实际情况而定,这里假设为 ...
- 20144306《网络对抗》MAL_免杀原理与实践
一.基础问题回答 1.杀软是如何检测出恶意代码的? (1)特征码:类似于人的生物特征,恶意代码可能会包含一段或多端数据能代表其特征.杀软一般会对文件内容进行静态扫描,将文件内容与特征库进行匹配,来检测 ...