文本匹配之Com-Agg:A Compare-Aggregate Model For Matching Text Sequences

论文简介

论文标题:一个用于匹配文本序列的比较聚合模型

作者:Shuohang Wang Jing Jiang

单位:新加坡管理大学信息系统学院

发表会议及时间:ICLR 2017

研究对象

解决NLP中序列匹配问题,包括机器理解、答案选择、文本蕴含、文本相似等。

问题定义:

输入:两个矩阵Q∈Rd×Q和A∈Rd×A表示两个序列的词嵌入(word embedding)
其中 Q 和 A 分别是两个序列所含单词的个数
d 是词嵌入的维数,即Q和A的每个列向量都是表示单个单词的嵌入向量。

输出:预测标签y。

例如:
在文本蕴涵中,Q表示前提(premise),A表示假设(hypothesis), y 表示蕴涵(entailment)或冲突(contradiction)。
在问答中,Q是问题,A是一个候选答案,y表示候选答案A是否是问题Q的正确答案。
该问题为监督学习任务。即假设已经有(Q,A,y)训练数据,即学习一种可以将任意一对(Q,A)映射到 y 的模型。

研究背景

许多自然语言处理问题都需要对两个或更多的句子进行匹配、交互,然后做出决定。
比如:文本蕴含需要判断一句假设是否可以由前提推出。答案抽取型机器阅读理解需要匹配问题与文章, 返回答案所在原文的起始与末尾位置。
比较-聚合网络能很好处理该问题
何谓“比较”?
在这里插入图片描述

答:交互。如上图,C和D的生成都用到了A和B。我们说C、D 都是A B交互后的产物。A B通过某种比较运算生成了C、D。 并非通常理解的谁比谁大,谁比谁多的问题。

何谓“聚合”?
答:提取特征。 全连接网络、CNN、RNN均能做到特征的提取、挖掘。均可充当聚合模块。 聚合过程一般把文本的特征矩阵转化为特征向量,后跟softmax分类完成文本匹配任务。

本研究意义

前人研究工作中“比较-聚合”类模型出现的不足:

一、前人的模型只应用于一到两个任务。不能体现 “比较-聚合”框架的泛化性。
本篇论文:使用了四份不同的数据集证明模型结果的强拓展性
二、前人的研究中对“比较”部分的组成单元选择过于简略,比较函数单一。

本篇论文:使用了六种不同的比较函数,实验充足,结果说服力强

实验结果:
1.论文模型在四分数据集上达到了当时的最优结果。
2.element-wise函数作为交互效果显著。

论文详细解读

模型结构概览

在这里插入图片描述
图1:左侧是模型结构。右侧为比较层的不同比较函数详细信息。深色矩形代表要学习的参数。‘×’代表矩阵相乘。

在这里插入图片描述

图2:模型结构简化图。

该模型分为四层:(‘表示论文的上划线-)
1.预处理层(图1中未显示):
预处理层可以使用RNN、LSTM、GRU等,将输入的文本初始词嵌入矩阵Q∈Rd×Q和A∈Rd×A进行运算,以获得两个具有含有上下文信息的更好语义表征的新嵌入矩阵Q’∈Rl×Q和A’∈Rl×A。如,假设 q’∈RI 是 Q’ 的第i列向量,则 q’i 表示的是 Q 中的第i个单词和上下文的组合编码。

2.注意力机制:
对 Q’ 和 A’ 应用标准的注意力机制,以获得 A’ 中每个列向量对 Q’ 中列向量的注意力权重。有了这些注意力权重,对于 A’ 中的每个列向量 a’j ,我们获得了对应的向量 hj ,它是 Q’ 列向量的注意力加权总和。

3.比较层:
使用比较函数 f ,组合每一对a’j 和hj,得到向量tj
4.聚合层:
使用CNN层来聚合向量tj,来进行最终分类。

在本节的其余部分中,我们将详细介绍该模型,并主要关注我们提出的比较函数。

模型分层解析

预处理层和注意力机制

预处理采用了一种简化的 LSTM/GRU 的门控结构,对输入文本进行处理。仅保留了用于记住单词的输入门:
在这里插入图片描述
Sigmoid部分可理解为LSTM的输入门。Tanh部分是正常的全连接激活网络,sigmoid控制tanh部分的输出比重。

其中⊙为逐元素相乘, W 和 b 是要学习权重系数与偏置项,Wi、Wu ∈ Rl×d , bi、bu∈ Rl。“⊗eX”表示将偏置向量b重复X次,即克罗内克积。具体体现为将列向量b复制Q 份拼接起来组成一个l*Q的矩阵与WiQ的结果矩阵维度保持一致

注意力机制是在预处理层生成的 Q’ 和 A’ 之上构建的,一般计算注意力打分时选用点积或这个神经网络,这里选用的是可以学习参数的神经网络,如下所示:
在这里插入图片描述

其中 Wg∈Rl×l 和 bg∈Rl 是要学习的参数,G∈RQ×A 是注意力权重矩阵,H∈Rl×A 是注意力加权后的向量。 具体地说,hjH的第j个列向量,是Q’ 的列向量的加权和,表示 Q’ 和 A’ 中第j个词的最匹配部分。

G中,softmax操作为对列方向softmax,运算结果H的维度与A一致。H中浓缩了A中每个单词对文本Q不同位置注意力程度的加权。

接下来,将使用比较函数将a’j 和 hj 组合。

比较层

比较层的目标是将每个a’j (代表A’ 中的第j个单词及其上下文)和 hj (代表最匹配a’j 的 Q’ 的加权版本)匹配。令 f 表示比较函数,该函数将a’j 和 hj 转换为向量 tj 以表示比较结果。

方案1、标准神经网络NN

在这里插入图片描述

比较函数f的最自然的选择是用标准神经网络NN,即由线性变换和非线性激活函数组成。
例如,考虑以下选择: 在这里插入图片描述

其中矩阵W∈Rl×2l和向量b∈Rl是要学习的参数。

方案2、神经张量网络NTN

在这里插入图片描述

另一个自然选择是神经张量网络NTN,如下所示:
在这里插入图片描述

其中张量 T[1…l]∈Rl×l×l和向量b∈Rl是要学习的参数。

方案3、欧式距离和余弦相似度

在这里插入图片描述

对于测量两个序列的语义相似性或相关性。前人工作更自然的选择是a’j 和 hj 之间的欧式距离和余弦相似度。 因此,我们考虑f的以下定义:
在这里插入图片描述

请注意使用EUCCOS,结果向量tj 仅为二维向量。

方案4和5、对应位置差运算(SUB)、积运算(MULT)

尽管EUCCOS是一个合理的比较函数,但我们怀疑它可能会从原始向量a’j 和 hj 中丢失一些有用的信息。 另一方面,NN和NTN太笼统了,因此没有得到我们最关心a’j 和 hj 之间相似性。
为了找到在以上两种极端情况间的折衷方案,我们考虑以下两个新的比较函数,它们对两个向量进行逐元素运算。

在这里插入图片描述
在这里插入图片描述

注意,⊙为逐元素相乘。 对于这两个比较函数,所得向量 tj 都具有与a’j 和 hj 相同的维数。
我们可以看到SUB与欧式距离密切相关,欧式距离可以看做是SUB产生的所有 tj 项的总和。 但由于SUB不再对这些项进行求和运算,所以保留了一些有关原始两向量的不同维度信息。 同样,MULT与余弦相似度密切相关,也保留了有关原始两向量的一些信息。

方案6、 NN+Sub+Mult (1+4+5)

最后,结合SUB和MULT,然后再加上NN层,如下所示:
在这里插入图片描述

上述,我们考虑了六个不同的比较函数:NN,NTN,EUCCOS,SUB,MULT和 SUBMULT+NN。 在这些函数中,后三个函数(SUB,MULT和SUBMULT+NN)尚未在以前的工作中广泛应用于单词级匹配。

聚合层

a‘j和hj通过比较函数f后,得到tj向量,这些向量拼接成矩阵,再送入送入单层CNN网络进行聚合。

在这里插入图片描述

最终r的维度为n*l向量。n为CNN窗口,文中使用的CNN结构为text-CNN中所使用的。 结构如下图所示
在这里插入图片描述

在这里插入图片描述
TextCNN详细过程:

Embedding:第一层是图中最左边的7乘5的句子矩阵,每行是词向量,维度=5,这个可以类比为图像中的原始像素点。
Convolution:然后经过 kernel_sizes=(2,3,4) 的一维卷积层,每个kernel_size 有两个输出
channel。 MaxPolling:第三层是一个1-max
pooling层,这样不同长度句子经过pooling层之后都能变成定长的表示。 FullConnection and
Softmax:最后接一层全连接的 softmax 层,输出每个类别的概率。

实验

数据集

1、Movie-QA

Movie-QA:电影故事理解与问答数据集
在这里插入图片描述

2、insuranceQA

保险相关问答数据集。给定一个问句(题干),需要从备选项中选出一条最符合 题干的答案。
数据格式:idx开头的为问句,紧接着是正确答案对应的序号(19937),再后面为选项池

正确答案对应的文本:
在这里插入图片描述

3、WikiQA

开放领域问答数据集

在这里插入图片描述

4、SNLI

文本蕴含数据集

在这里插入图片描述

实验处理

对于MovieQA,由于其数据集中除了问题Q和选项[A1,A2,…Ak]外还有故事情节P。 具体处理如下:
1:问题Q与情节P进行一次比较函数运算,得到tq
2:对每一个选项Ak,Ak与P进行比较函数运行,得到ta
在这里插入图片描述
则对于某一位置j,经过比较层运算,有:
在这里插入图片描述
同样地,聚合层应该为
在这里插入图片描述

对于InsuranceQA,数据集是给定问题与若干选项,要求返回最契合问题的答案。 假设有k个选项,分别与问题Q做交互,通过聚合函数生成r1,r2,…,rk。
记矩阵R: R=[r1,r2,…,rk ]
利用全连接网络+softmax判断第k个选项被选作正确答案的概率:
在这里插入图片描述

实验结论

在这里插入图片描述

  • 论文使用的comparison-aggregate模型在四份数据集中均取得了优异的结果
  • SubMult+NN是综合表现最优秀的比较函数
  • 一些很简单的比较函数也能表现出逼近神经网络 模型的效果(如EucCos在MovieQA上的表现)
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值