基于递归联合注意力的句子匹配模型

本期推荐的论文笔记来自 PaperWeekly 社区用户 @zhkun本文主要集中在句子匹配任务上,作者将 DenseNet 的一些想法引入到了 stack RNN 中,提出了一种基于递归联合注意力的句子匹配模型。

关于作者:张琨,中国科学技术大学博士生,研究方向为自然语言处理

■ 论文 | Semantic Sentence Matching with Densely-connected Recurrent and Co-attentive Information

■ 链接 | https://www.paperweekly.site/papers/2082

■ 作者 | Seonhoon Kim / Jin-Hyuk Hong / Inho Kang / Nojun Kwak

句子匹配(Sentence Matching)是自然语言理解任务中一个非常重要的任务,例如 Natural Language Inference,Paraphrase Identification,Question Answering 等都可以归属于这个任务。这个任务主要就是理解句子语义,理解句子之间的语义关系。因此如何去表示这些内容就变得十分重要了。

为了更好的利用原始特征信息,作者参考 DenseNet,提出了一种 densely-connected co-attentive recurrent neural network 模型,该模型最突出的地方就是可以从最底层到最顶层一直保留原始信息以及利用 co-attention 得到的交互信息。接下来,就对文章进行详细了解。

模型结构

首先是模型图:

不得不说,这个图还是很粗糙的,一点都不够精致,但模型的基本单元以及整体框架已经完全包含进去了,我们姑且用这个图对模型进行分析吧。

输入层

自然语言的任务首先就是输入层,对每个词的 one-hot 表示进行 embedding。

这几个公式很好理解,首先作者将词的 embedding 分为两部分,一部分参与训练,即,另一部分是固定不动的,即,然后就是词级别的表示 char-Conv,以及一些 exact match 的匹配特征,主要是 a 中的每个词是否在 b 中有对应的词,然后将这些表示拼接起来,就得到了每个词的最后表示

密集连接层

在这一层,作者受 DenseNet 启发,使用了密集连接和 RNN 结合的方法来实现对对句子的处理。首先表示的是第 l 层的 RNN 的第 t 的隐层状态。

式 2.1 是传统的多层 RNN 结构,前一层 RNN 的隐层状态作为当前层的输入,然后就是 RNN 的计算方式,式 2.2 借鉴了残差网络,当前层的输入不仅包含了前一层的隐层状态,同时包含了前一层的输入,但他们是相加的方式,作者认为这种相加的形式很可能会阻碍信息的流动,因此借鉴 DenseNet,作者使用了拼接了方式,这样不仅保留了两部分信息,同时拼接方法也最大程度的保留了各自的独有信息。

但这就有一个问题了,多层的 RNN 的参数就不一样了,因为拼接的方式导致了每一层输入对应的参数规模是在不断变大的,这样就不能做得很深了。 

密集连接注意力 

因为句子匹配考虑的两个句子之间关系,因此需要建模两个句子之间的交互,目前来说,注意力机制是一种非常好的方法,因此作者在这样也使用了注意力机制

这个就是传统的 co-attention 计算方法,计算两个序列之间的在每个词上的对应关系,不过作者这里比较粗暴,直接使用了余弦相似度来计算每两个词之间的相似,这里也可以使用一个简单的 MLP 来计算。有意思的地方在下边:

这个就很有意思了,我们传统的做法是得到每个词在对方句子上的概率分布之后,使用对方句子中每个词向量的加权和作为当前词的向量表示,而这里作者直接使用了计算出来的权值分布,将其作为一个特征引入到当前层的输入当中,这个感觉还是很有意思的。

瓶颈处理层

正如前边提到的,这种 dense 连接方式直接导致的一个问题就是随着模型的加深,参数量会变的越来越多,这样最后全连接层的压力就会特别大。因此作者在这里使用了一个 AutoEncoder 来解决这个问题。AutoEncoder 可以帮助压缩得到的巨大向量表示,同时可以保持原始的信息。这个操作还是很不错的。

分类层

这是处理两个句子关系常用的一种匹配方法,作拼接,相减,点乘,不过作者在这里也是用了相减的绝对值,然后将最终拼接的向量通过一个全连接层,然后根据任务进行 softmax 分类,我个人做过实验,相减的效果要好于相减的绝对值,因为相减不仅可以表示差异,同时可以表明信息流方向,而相减的绝对值就更专注于差异了,两个都用应该是效果比只用一个好的。

实验结果

照例,上图,作者在 NLI 任务和 Question Pair 两个任务上进行了模型验证,效果当然是十分不错的。

感想

这篇文章主要集中在句子匹配任务上,将 DenseNet 的一些想法引入到了 stack RNN 中,还是可以给人一些灵感的,比如说从残差连接到 DenseNet,比如说注意力权值的使用方法,比如说利用 AutoEncoder 来压缩向量,这些还是十分值得学习的。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

入门句子匹配模型递归联合注意力
1
相关数据
参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

推荐文章
暂无评论
暂无评论~