论文阅读:Enhanced LSTM for Natural Language Inference

一、摘要

Chen, Q., Zhu, X., Ling, Z., Wei, S., Jiang, H., & Inkpen, D. (2016). Enhanced LSTM for Natural Language Inference, (2008). https://doi.org/10.18653/v1/P17-1152

发表于ACL 2017

arxiv地址:http://arxiv.org/abs/1609.06038

代码:https://github.com/lukecq1231/nli

这篇论文认为序列推理模型并没有被好好研究,很多取得好效果的方法都是设计了很复杂的模型,所以他们提出 ESIM (Enhancing Sequential Inference Model) ,并融合了基于句法树的 tree-LSTM,能在 SNLI 上达到最佳效果(accuracy = 88.6%)。

二、问题

自然语言推理(NLI: natural language inference)问题:即判断能否从一个前提p中推导出假设h,简单来说,就是判断给定两个句子的三种关系:蕴含、矛盾或无关。

使用数据集是 Stanford Natural Language Inference (SNLI) dataset,570k English sentence pairs

这个问题和计算句子相似度有一个比较明显的不同,是结果是非对称的,但我也看到有人用这个模型计算句子的相似度(需要做一点改动)。

三、方法

image-20181008164804595

先放一张模型结构图,可以看到分为左右两边,左侧就是 ESIM,右侧是基于句法树的 tree-LSTM,两者合在一起交 HIM (Hybrid Inference Model)。整个模型从下往上看,分为三部分:input encoding,local inference modeling, and inference composition.

为了避免重复和麻烦,这篇笔记会只是用左侧 ESIM 的部分的标记和模型,右侧的处理方法基本一致。

3.1 notation

ab 是两个句子词向量(可能是预训练或者解析数)组成的矩阵

image-20181008154213870

3.2 input encoding

使用 BiLSTM 分别学习ab 的词与上下文信息,得到新的向量表示:

image-20181008154424931

注意这里的 a 和 b 是有下标的,表示的是词,词向量的维度是一样的。

3.3 local inference modeling

使用软对齐的方法 (soft alignment or soft attention)

3.3.1 计算词相似度矩阵

image-20181008155131108

3.3.2 句子相互表示做局部推理

image-20181008155248753

b 中所有词向量来表示 a 中每个位置的词,使用 3.3.1 中计算的相似度进行加权 (softmax)

3.3.3 局部推理信息增强

image-20181008155614228

将以上得到的对两个句子的表示做差和点积(element-wise product,每个元素单独相乘),更清晰地区别a和a(hat)的局部的推断信息,获取例如“对立”的推断关系。

下面用 , 和 , 表示 3.2 和 3.3.2 产出的结果。

这里可以检查一下,如果词向量的维度是300,a 有10个词, 和 都是 10 * 300 的矩阵,所以 ma 的维度应该是 10 * 1200,相当于把每个词的表示从300维扩充到1200维。

3.4 inference composition

仍然是用 BiLSTM 组合 ma 和 mb,公式与 3.2 中相同,但目标变成了获取 local inference ma and mb 的上下文信息。

为了控制模型复杂度,使用了1层网络+relu激活处理 ma 和 mb,经 BiLSTM 之后得到的句子矩阵表示分别是 va 和 vb。

然后使用 avg + max pooling 得到一个定长的向量,输入到全连接网络中

image-20181008162311966

这里经过 pooling 之后的结果就与句子中词的个数 la 和 lb 无关了,v 是一个 4800 维的向量了。

3.5 MLP

  • 一个隐层(tanh激活)

  • 一个softmax的输出层

  • 用 multi-class cross entropy 作为 loss

四、实验与效果

  • 词向量用 Glove pre-train 300维,训练过程不 fix
  • 优化 adam,第一个 momentum 0.9, 第二个 0.999
  • learning rate 0.0004
  • batch size 32
  • 所有 LSTM, tree-LSTM 隐状态都是 300 维
  • dropout 0.5
image-20181008164505885

单独 ESIM 已经达到88%,超越了之前的很多模型,在融合 tree-LSTM 之后进一步提升到 88.6%

参考

  • https://www.jianshu.com/p/1f5b19644c2c
  • https://www.cnblogs.com/zle1992/p/9100780.html

你可能感兴趣的:(论文阅读:Enhanced LSTM for Natural Language Inference)