Enhanced-RCNN: 一种高效的比较句子相似性的方法 |WWW 2020

作者 | 彭爽

出品 | AI科技大本营(ID:rgznai100)

国际顶级会议WWW2020将于4月20日至24日举行。始于1994年的WWW会议,主要讨论有关Web的发展,其相关技术的标准化以及这些技术对社会和文化的影响,每年有大批的学者、研究人员、技术专家、政策制定者等参与。以下是蚂蚁金服的技术专家对入选论文《Enhanced-RCNN: 一种高效的比较句子相似性的方法》做出的深度解读。

 

前言

如何衡量句子相似性是自然语言处理中一项基础而又重要的任务。当前比较句子相似性的方法主要分为3种:表示型(Siamese Network Framework)、交互型(Matching-Aggregation Framework)和预训练语言模型(Pre-trained Language Model)。

 

表示型的方法,代表作如(Siamese-CNN,Siamese-RNN),它们将待比较的两个句子通过同一个编码器映射到相同的向量空间中,这种简单的参数共享的方法有着很好的线上性能,但是由于模型本身没有去考虑两个句子编码向量之间的交互关系,往往准确率不佳,于是,就有人提出了交互型的句子相似度比较方法,通过一些复杂的注意力机制来去捕捉两个句子编码向量之间交互的信息,从而更好的进行句子相似度建模。通常,基于交互型的句子相似度比较方法的预测准确率会比基于表示型的方法高出不少。

 

最近,预训练语言模型(BERT,RoBERTa等)在很多公开的句子相似度数据集上达到了最优的效果,这种方法通过将在大规模语料上(比如维基百科)上训练好的语言模型放到特定领域的目标数据集上进行微调(Fine-tune)。这种类型的方法虽然效果显著,但是缺点在于模型参数量庞大,在实际工业界难以部署到线上使用。

 

我们在经典的交互型句子相似性比较方法 ESIM 的基础上,提出了一种新型的计算句子相似度的方法 Enhanced-RCNN,来更好的捕捉待比较的两个文本自身以及相互之间的信息。同时我们的模型更加的轻量级,并不像其他文本匹配模型那样堆叠复杂的注意力机制来对两个文本进行建模。简单来说,Enhanced-RCNN 在效果保证的前提下也拥有良好的性能。 

Enhanced-RCNN简介

智能客服的本质,就是充分理解用户的意图,在知识体系中精准地找到与之相匹配的内容,回答用户问题或提供解决方案。句子相似度计算,是贯穿智能客服离线、在线和运营等几乎所有环节最核心的技术,同时也是自然语言理解中最核心的问题之一,广泛应用于搜索、推荐、对话等领域。

 

蚂蚁智能机器人客服主要靠检索用户的问题来获取候选问题和答案。基于检索的自然语言对话系统需要离线将大规模的对话语料以“问题-答案”对的形式建立知识库索引,其中问题由标准问法和扩展问法组成。在线对话时,通过检索找到跟用户相似的问题(同时匹配标问和扩展问法),将检索的结果输入给句子相似度模型进行打分排序,最终将相似度较高的结果返回给用户。由此可见,如何计算用户的问题和知识库中已有问题的相似度对于整个问答系统而言至关重要。

 

在本论文中,我们提出了一种高效的比较句子相似性的方法 Enhanced-RCNN,这是我们在经典文本匹配模型 ESIM的基础上改进的模型,该模型在 Quora Question Pair 和 Ant Financial 两个公开的文本匹配数据集上均取得了非常有竞争力的结果,并且和时下火热的预训练语言模型 BERT 相比,Enhanced-RCNN 也取得了相当的效果,同时参数量相比BERT-Base 也大幅减少。

 

Enhanced-RCNN深入解读

我们提出的Enhanced-RCNN 模型结构如下图所示。

下面我们由下至上来进行介绍

 

1 Input Encoding

 

Input Encoding 分为 RNN Encoder 和 CNN Encoder 两部分。RNN 主要用来捕捉文本的序列信息;CNN 主要用来捕捉文本的关键词信息,CNN 的这个特性在自动摘要中已经得到广泛应用。

下面分别来介绍 RNN Encoder 和 CNN Encoder。

 

1.1 RNN Encoder

首先,对待比较的 2 个问题文本使用 BiGRU 进行编码,主要为了捕捉句子序列的特征信息。这里没有使用 ESIM 中的 BiLSTM,因为在实际应用中发现使用 BiGRU 的效果更好,同时效率更高。

1.2 CNN Encoder

在 BiGRU 编码的基础上,使用 CNN 来进行二次编码,利用 CNN 卷积核的特质来捕捉词粒度 (类似 n-gram) 的特征信息 (关键词、词组等), 得到 RCNN Encoding。

在设计 CNN 层结构的时候,我们借鉴了 "Network in Network" 的思想,设计了相应的结构方便更好的提取文本的特征信息,如下图所示。

这里激活函数选择 Relu,对于每个 CNN 单元,具体的计算过程如下。

在 CNN 层的最后,我们采用均值池化和最大池化来提取 CNN 单元输出的信息,并且将它们拼接起来获得最后的 CNN 层最后的输出。

 

我们通过在 Input Encoding 中结合 BiGRU 和 CNN,可以更加充分的去捕捉两个待比较的问题文本的细粒度 (fine-grained) 特征信息。和 ESIM 模型不同的是,ESIM 中这里只用到了 RNN Encoding,在后续的 Interaction Modeling 中,Enhanced-RCNN 会同时使用 RNN Encoding 和 RCNN Encoding 来捕捉两个文本的交互信息。

 

2 Interactive Sentence Representation

 

我们的 Enhanced-RCNN 和 ESIM 模型一样,都属于基于“交互式”的文本模型,所以在 Input Encoding 之后,通过注意力机制去捕捉两个带比较文本直接的交互信息,这里用到的是 soft attention alignment 来得到 Interactive Sentence Representation。

 

2.1 Soft-attention Alignment

首先,我们利用 BiGRU 输出的 RNN Encoding 去计算得到两个待比较的文本之间的软注意力权重 (Soft Attention)。这里针对待比较的两个文本,可以得到的 2 个不同的注意力权重,分别是文本 A 相对文本 B,和文本 B 相对文本 A 的。这部分可以理解为去捕捉两个问题之间交互的信息 (相似和不相似的地方),具体的计算方法如下。

2.2 Interaction Modeling

 

通过 soft attention alignment 得到 Interactive Sentence Representation 之后,我们使用“最大”池化和“均值”池化进一步捕捉文本的特征信息,并且在之后和RCNN Encoding 相结合,具体的计算过程如下所示。

和当前的基于交互式的文本匹配方法(比如 ESIM)不同的是,我们同时使用 RNN 和 CNN 来进行 Interaction Modeling 以获得两个文本的 Interactive Sentence Representation。通过结合 RNN 和 CNN 的优点,我们可以捕捉更细粒度(fine-grained)的特征 (sequence and keywords information)。同时,由于 CNN 卷积核特有的参数共享机制,我们模型的参数量也能得到进一步缩小。

 

3 Similarity Modeling

 

在得到了Interactive Sentence Representation 的Oa 和 Ob 之后,我们设计了一个特殊的 Fusion Layer,用在全局性的相似度建模(Overall Similarity Modeling)中来融合两个文本的向量表示。

 

3.1 Fusion Layer

将 RCNN 的 input encoding 和软注意力权重输出到一个融合层(Fusion Layer),引入了门限机制(Gate),进行全局性的相似度建模。

 

融合层的目的主要是为了更好的融合两个待比较文本的 Interactive Sentence Representation,为了方便后面计算两个问题的相似度。

在设计这个融合层的时候,我们参考了达摩院在机器阅读领域里面提出的 SLQA 模型中的设计,两个输入文本的 Fused Representations 可以被形式化的表示如下:

然后,Oa' 和 Ob' 拼接起来,得到:

3.2 Label Prediction

在最后的 prediction layer,我们将前一步输出Mout输入到一个神经网络全连接层中去计算两个句子相似的概率。整个模型是端到端来训练的,并且使用 cross-entropy 作为损失函数。

 

实验

 

我们选择 Quora Question Pair 和 Ant Financial 这两个比较句子相似性的公开数据集,数据集的介绍如 Table 1 所示。

 

4.1 Ablation Studies

首先,我们做了消融分析的实验,来比较有无 BiGRU、CNN、Attenion 的影响,结果如 Table 2 所示。

从消融分析的结果可以看出,去掉 BiGRU 对应结果的影响是最大的,说明了使用 BiGRU 对文本进行建模是有效并且必要的;去掉 CNN 的影响其次,说明 CNN 的加入,可以在某些方面弥补 BiGRU 的不足。从前 2 个消融分析的实验可以看出,单独使用 BiGRU 和单独使用 CNN 的效果和同时使用 BiGRU 和 CNN 有较大差距,说明了我们在 Input Encoding 和 Interaction Modeling 阶段引入 BiGRU 和 CNN 的做法是 work 的。

 

最后一个消融分析实验,我们比较了去掉 Attention Layer 对结果的影响,实验结果显示,其实有无 Attention 对应结果影响不大,至少远没有去掉 CNN 或者 BiGRU 大。这个有趣的发现抛出了一个问题,就是现在很多 Text Matching 模型中使用的那么复杂的 Attenion 机制真的有用吗?

 

4.3 Experiments on Paraphrase Identification

 

下面我们和当下流行的 Text Matching 模型进行了比较,分为两部分,第一个是和非 BERT 的传统文本匹配模型进行比较,第二个是和 BERT 模型进行比较。

 

第一个部分,Enhanced-RCNN 在 Quora 和 Ant Financial 这两个公开数据集上和传统的文本匹配模型的比较中,取得了最优的结果(如 Table 3 所示)。传统的文本匹配模型主要分为两种 -- “表示型”(Siamese-CNN, Siamese-LSTM)和 “交互型” (BiMPM, LDC, ESIM 和 DINN)。“交互型” 模型和“表示型”模型的主要区别在于“交互型”的模型利用 Attenion 机制去捕捉了 2 个文本之间的交互信息,对于文本特征信息的捕捉相比“表示型”模型更加的充分。我们提出的 Enhanced-RCNN 属于一种 “交互型” 的文本匹配模型,在交互机制的设计上更加轻量级,同时效果相比其他的 “交互型” 模型更好。

第二个部分,我们拿 Enhanced-RCNN 和当下 NLP 的明星模型 BERT 进行了比较(如 Table 4)。不出意外,在单模型的比较下,Enhanced-RCNN 不如 BERT-Base,不过它的效果也很有竞争力;当对 BERT-Base 进行 ensemble 之后 (5-fold),Enhanced-RCNN 的效果会超过 BERT-Base。

 

除了对比 Enhanced-RCNN 和 BERT-Base 的效果之外,我们还对比了他们的 params size 和 inference time cost(如Table 5 所示),Enhanced-RCNN 的 params size 只有 BERT-Base 的十二分之一,inference speed 比 BERT-Base 要快十倍。可以看出,Enhanced-RCNN 要更高效,更适合工业场景的应用。

 

4.4 Case Study and Error Analysis

 

 

在Case Study中,我们展示了一个在实际业务中典型的例子,“花呗”和“花被”是经常被混淆的错别字,我们将 Enhanced-RCNN 和 Enhanced-RCNN 去掉了 CNN module 之后进行了对比,可视化了 Interaction Modeling 中两个句子的 Attention 矩阵。可以看到,“花呗”和“花被”这2个词在 Enhanced-RCNN 下的 Attention 权重要明显高于没有加 CNN 层的,从侧面反映了添加CNN层可以让模型在错别字的处理上具有更好的鲁棒性。

Enhanced-RCNN的未来

虽然Enhanced-RCNN在预测的准确率上不如BERT-Base,但是由于其参数量少,较为适合用于线上部署使用,同时,通过一些知识蒸馏的方法(Knowledge Distillation),也可以将Enhanced-RCNN作为学生模型(Student Model),去学习BERT-Base,即老师模型,来进一步提升原有Enhanced-RCNN模型的预测准确率。

 

在未来,我们希望不仅仅将 Enhanced-RCNN 的应用在比较句子相似性,还希望在更多领域去应用 Enhanced-RCNN 模型(比如 Text Inference 或者 Answer Selection 任务)。

欢迎所有开发者扫描下方二维码填写《开发者与AI大调研》,只需2分钟,便可收获价值299元的「AI开发者万人大会」在线直播门票!

推荐阅读

    你点的每个“在看”,我都认真当成了AI

发布了1380 篇原创文章 · 获赞 1万+ · 访问量 695万+

猜你喜欢

转载自blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/105501263
www