文本匹配、文本相似度模型之ESMI

用于自然语言推理的增强型 LSTM

github: https://github.com/daiyizheng/shortTextMatch/blob/master/src/DL_model/classic_models/models/ESIM.py

本文作者提出了基于LSTM的ESIM模型,该模型优于之前所有的模型。ESMI主要通过链式LSTM(作者也提到了Tree LSTM结构的模型HIM,但是不是重点)与注意力结合的模型,是一个十分复杂但效果在当时很不错的模型。paper用到的数据集是SNI语料库,包含了两个句子和一个标签,这两个句子和标签分表示premise和hypothesis以及0(或者1)。ESIM模型通过预测两个句子的逻辑来判断其之间的关系。

ESIM模型主要由一下组件构成:
(1) input encoding(输入编码)
(2) local inference modeling(局部推理建模)
(3) inference composition(推理组件)

Input Encoding

使用双向LSTM(BiLSTM)作为NLI的基本构建模块之一。使用它来编码输入的premise和hypothesis,可以获得BiLSTM编码局部推理信息及其相互作用。公式如下:

作者也使用了其他的LSTM变种模型,如GRU,但是效果不如LSTM。

Local Inference Modeling

对premise和hypothesis之间的局部次句推理进行建模是确定这两种陈述之间的整体推理的基本组成部分。
在做局部推理之前,需要将两个句子对齐,目前对齐方式有硬对齐或软对齐来关联premise和hypothesis之间的相关性。
本文作者使用软注意对齐层来计算, 通过将注意力权重计算为premise和hypothesis之间的隐藏状态 t u p l e < a i ‾ , b j ‾ > tuple<\overline{a_i}, \overline{b_j}> tuple<ai,bj>的相似性。

局部推理由上述计算出的注意权重 e i j e_{ij} eij决定,用于获得premise和hypothesis之间的局部相关性。然后进行两句话的局部推理,用之前得到的相似度矩阵,结合 a,b 两句话,互相生成彼此相似性加权后的句子,维度保持不变。如下公式:

作者使用通过计算 t u p l e < a ‾ , a ~ > tuple<\overline{a} ,\widetilde{a}> tuple<a,a >以及 t u p l e < b ‾ , b ~ > tuple<\overline{b} , \widetilde{b}> tuple<b,b >的差值和元素级乘积。来增强局部推理信息。最后将四种向量拼接在一起,得到 m a , m b m_a, m_b ma,mb。如下公式:

Inference Composition

这里作者再一次使用了LSTM对上下文进行推理. 其中,作者使用了不同的池化操作,包括MaxPooling 和 AvgPooling,最后接一层全连接层.

注意,作者没有使用SumPooling的原因是:模型对序列长度敏感,因此不鲁棒。

结论

作者提出了用于自然语言推理的神经网络模型,它获得了在SNLI基准测试上报告的最佳结果。结果该模型优于以前的模型,包括那些使用更复杂的网络架构的模型,这表明序列推理模型的潜力尚未得到充分利用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发呆的比目鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值