本文主要是介绍论文笔记 | Simple and Effective Text Matching with Richer Alignment Features,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
作者:李瑾
单位:燕山大学
论文地址: https://arxiv.org/pdf/1908.00300.pdf
代码地址:https://github.com/hitvoice/RE2
目录
- 一、 概述
- 二、 模型
- 2.1 模型介绍
- 2.2 Augmented Residual Connections
- 2.3 Alignment Layer
- 2.4 Fusion Layer
- 2.5 Prediction Layer
- 三、 实验分析
一、 概述
文本匹配任务是自然语言处理的核心任务。包括自然语言推断(Natural Language Inference)、释义识别(Paraphrase Identification)、回答选择(Answer Selection)等众多的任务。因此,对于通用文本匹配模型的研究非常重要。
论文提出了RE2模型,作者在SNLI、SciTail 、Quora Question 、WikiQA数据集上分别与之前的模型做了比较。相比较之前的模型来说,RE2模型的速度更快,鲁棒性也有所提升,同时在不同的文本匹配任务上都取得更好的效果。
二、 模型
2.1 模型介绍
图中的白色矩形表示词向量,带条纹的矩形表示经过模块输出后的残差向量,黑色矩形表示经过Encoder编码后的向量。
在RE2模型中,将需要进行文本匹配的文本分别输入图中所示模型(右侧模型与左侧一致)。将Encoder、Alignment和Fusion打包成一个块,连续堆叠N次。在块中,将Encoder得到的向量与它的输入进行拼接作为Alignment和Fusion的输入,在每一次堆叠的过程中都将上一次Fusion的结果作为Encoder输入。最后将N次堆叠结果送入Polling层,通过预测层得到结果。需要注意的是,两段文本的Alignment参数是共享的,但N个块的参数都是独立的。
2.2 Augmented Residual Connections
为了为Alignment提供丰富的文本特征,作者使用增强剩余连接来连接打包好的块。
第n个块 x ( n ) x^{(n)} x(n)(n≥2)的输入是拼接第一个块 x ( 1 ) x^{(1)} x(1)的输入与前两个块的输出之和的结果:
x i ( n ) = [ x i ( 1 ) ; o i ( n − 1 ) + o i ( n − 2 ) ] x_{i}^{(n)} = [x_{i}^{(1)};o_{i}^{(n-1)}+o_{i}^{(n-2)}] xi(n)=[xi(1);oi(n−1)+oi(n−2)]
使用剩余残差连接,使得融合和对齐的输入均包括了嵌入特征、残差特征和通过Encoder编码的上下文序列特征。作者对着三种特征均做了消融实验,实验结果表明,三种特征在文本匹配的过程中均起到了作用。
2.3 Alignment Layer
在对齐的过程中,作者使用文本a( a = a 1 , a 2 , . . . . a l a a = a_{1},a_{2},....a_{l_{a}} a=a1,a2,....ala)和文本b( b = b 1 , b 2 , . . . . b l b b = b_{1},b_{2},....b_{l_{b}} b=b1,b2,....blb)的相同位置的向量点积作为投影向量,以此来衡量相似度( e i j e_{ij} eij):
e i j = F ( a i ) T F ( b j ) e_{ij} = F(a_{i})^{T}F(b_{j}) eij=F(ai)TF(b</
这篇关于论文笔记 | Simple and Effective Text Matching with Richer Alignment Features的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!