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

简单有效的文本匹配,具有更丰富的对齐功能

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

本文作者提出了一种快速、强神经网络的通用文本匹配方法。保持序列间对齐可用的三个关键特征:原始点方向特征、先前对齐特征和上下文特征,同时简化所有其余组件。在自然语言推理、意译识别和答案选择任务上达到了很好的性能。

RE2架构如下图所示。embedding层首先映射离散token。然后由encoder层、alignment层和fusion层组成的多个相同结构的块对序列进行连续处理。这些块由增强的残差来连接。pooling层将顺序表示聚合成向量,最后由prediction层处理这些向量以给出最终的预测。

Augmented Residual Connections

为了提供更丰富的对齐功能,RE2采用了增强残差连接来连接连续的block。对于长度为 l l l的序列,我们将第n个bloc的输入和输出表示为 x ( n ) = ( x 1 ( n ) , x 2 ( n ) , . . . , x l ( n ) ) x^{(n)} = (x^{(n)}_1 , x^{(n)}_2 , ... , x^{(n)}_l) x(n)=(x1(n),x2(n),...,xl(n)) o ( n ) = ( o 1 ( n ) , o 2 ( n ) , . . . , o l ( n ) ) o^{(n)} = (o^{(n)}_1 , o^{(n)}_2 , ... , o^{(n)}_l) o(n)=(o1(n),o2(n),...,ol(n)),其中,设 o ( 0 ) o^{(0)} o(0)是零向量的序列。第 n b l o c k x ( n ) n block x^{(n)} nblockx(n)(n≥2)的输入是第 1 b l o c k x ( 1 ) 1 block x^{(1)} 1blockx(1)的输入的串联,以及前两个block的输出的求和。

其中 ; ; ;表示连接操作

Alignment Layer

对齐层将两个序列的特性作为输入,并计算对齐后的表示作为输出。长度为 l a l_a la的第一个序列的输入表示为 a = ( a 1 , a 2 , … , a l a ) a = (a_1, a_2,…, a_{l_a}) a=(a1,a2ala),长度为lb的第二个序列的输入记为 b = ( b 1 , b 2 , … ( b l b ) b = (b_1, b_2,…(b_{l_b}) b=(b1,b2(blb) a i a_i ai b j b_j bj之间的相似度 e i j e_{ij} eij被计算为投影向量的点积:

F F F是一个恒等函数或单层前馈网络。这个选择被视为一个超参数。

输出向量 a ′ a' a b ′ b' b是由其他序列表示的加权和计算出来的。该总和由当前位置与其他序列中相应位置之间的相似度评分进行加权。

Fusion Layer

融合层从三个角度比较局部和对齐的表示,然后将它们融合在一起。第一个序列 a ‾ \overline{a} a的融合层输出由

式中,G1、G2、G3、G为参数独立的单层前馈网络, ⋅ \cdot 为逐元乘法。减法运算符强调两个向量之间的差异,而乘法则强调相似性。 b ‾ \overline{b} b的公式类似,此处省略。

Prediction Layer

预测层将来自池化层的两个序列 v 1 v1 v1 v 2 v2 v2的向量表示作为输入,并根据Mou et al.(2016)预测最终目标。

H H H是一种多层前馈神经网络。在一个分类任务中, y ^ ∈ R C \hat{y} \in R^C y^RC表示所有类的非归一化预测得分,其中 C C C为类的数量。预测的类是 y ^ = a r g m a x i y i \hat{y} = argmax_i y_i y^=argmaxiyi。在回归任务中, y ^ \hat{y} y^是预测的scala值。

在像意译识别这样的对称任务中,预测层的对称版本被用于更好的泛化

简化的预测层可以表示为

自然语言推理的结果

释义识别的结果

结论

提出了一种高效的通用文本匹配方法RE2。经过充分研究的数据集上实现了SOAT,三个不同的文本匹配任务,得到只有少量的参数和非常高的推理速度。突出了三个关键特征,即先前的对齐特征、原始的点方向特征和序列间对齐的上下文特征,并简化了大多数其他组件。该模型速度快,性能强,适用于广泛的相关应用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

发呆的比目鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值