短文本匹配模型-ESIM

论文来源:TACL 2017

论文链接:http://tongtianta.site/paper/11096

文本匹配是智能问答(社区问答)中的关键环节,用于判断两个句子的语义是否相似。机器智能问答FAQ中,输入新文本(语音转文本)后,和对话库内已有句子进行匹配,匹配完成后输出对应问题答案。而这里主要研究的就是两个句子如何计算它们之间语义相似度的问题。 

一、原理

Enhanced LSTM for Natural Language Inference(ESIM)是最近提出的效果比较好的一个文本相似度计算模型,该模型横扫了很多比赛,我们这里介绍该模型的基本原理和pytorch版本实现。

从ESIM的全名可以看出,这是一种转为自然语言推断而生的加强版LSTM,由原文中知这种精心设计的链式LSTM顺序推理模型可以胜过以前很多复杂的模型。

ESIM的模型架构如图1所示,它的主要组成为:输入编码,局部推理建模和推理组合。图1中垂直方向描绘了三个主要组件,水平方向,左侧代表连续语言推断模型,名为ESIM,右侧代表在树LSTM中包含语法分析信息的网络。

图1 ESIM模型图

这里用a=(a_1, ...,a_{l_a})b=(b_1, ...,b_{l_b})分别表示两个句子,其中l_a表示句子a的长度,l_b表示句子b的长度,这里在原文中a又称为前提,b为假设。

1.输入编码

采用BiLSTM(双向LSTM)构建输入编码,使用该模型对输入的两个句子分别编码,表示如下(1)(2)所示:

                                                          \bar{a}_{i}=BiLSTM(a, i),\forall i\in [1, ...,l_a]          (1)

                                                           \bar{b}_{i}=BiLSTM(b, i),\forall i\in [1, ...,l_b]          (2)

我们将输入序列a在时间i由BiLSTM生成的隐藏(输出)状态写为\bar{a}。这同样适用于b

2.局部推理建模

这里使用点积的方式计算\bar{a}\bar{b}之间的attention权重,公式如(3)所示,论文作者提到attention权重他们也尝试了其他更加复杂的方法,但是并没有取得更好的效果。

                                                                                   e_{ij}=\bar{a}_{i}^{T}\bar{b}_j                            (3)

计算两个句子之间的交互表示:

                                                        \tilde{a}_{i}=\sum _{j=1}^{l_b}\frac{exp(e_{ij})}{\sum_{k=1}^{l_b}exp(e_{ik})}\bar{b_{j}},\forall i\in [1, ...,l_a]     (4)

                                                         \tilde{b}_{j}=\sum _{i=1}^{l_a}\frac{exp(e_{ij})}{\sum_{k=1}^{l_b}exp(e_{kj})}\bar{a_{i}},\forall j\in [1, ...,l_b]    (5)

其中\tilde{a}_i\{\bar{b}_j\}_{j=1}^{l_b}的加权求和。

通过计算元组<\bar{a}, \tilde{a}>以及<\bar{b}, \tilde{b}>的差和元素乘积来增强局部推理信息。增强后的局部推理信息如下:

                                                                     m_a=[\bar{a};\tilde{a};\bar{a}-\tilde{a};\bar{a}\bigodot \tilde{a}]                  (6)

                                                                      m_b=[\bar{b};\tilde{b};\bar{b}-\tilde{b};\bar{b}\bigodot \tilde{b}]                    (7)

3.推理组成

使用BiLSTM来提取m_am_b的局部推理信息,对于BiLSTM提取到的信息,作者认为求和对序列长度比较敏感,不太健壮,因此他们采用了:最大池化和平均池化的方案,并将池化后的结果连接为固定长度的向量。如下:

                                                              

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值