code:https://github.com/chantera/bicnn-mi

Yin的这篇论文提出了一种叫Bi-CNN-MI的架构,其中Bi-CNN表示两个使用Siamese框架的CNN模型;MI表示多粒度的交互特征。Bi-CNN-MI包含三个部分:

  • 句子分析模型 (CNN-SM)

这部分模型主要使用了上述Kal在2014年提出的模型,针对句子本身提取出四种粒度的特征表示:词、短ngram、长ngram和句子粒度。多种粒度的特征表示是非常必要的,一方面提高模型的性能,另一方面增强模型的鲁棒性。

  • 句子交互计算模型 (CNN-IM)

这部分模型主要是基于2011年Socher提出的RAE模型,做了一些简化,即仅对同一种粒度下的提取特征做两两比较。

  • LR或Softmax网络层以适配任务

模型结构

论文提出的模型主要是基于Kal的模型及Socher的RAE模型的结合体,如下图:

<Convolutional Neural Network for Paraphrase Identification>

通过模型图可以看出模型的主要思想:一方面利用Kal的模型进行多种粒度上的特征提取,另一方面采取RAE模型的思想,对提取出来的特征进行两两的相似度计算,计算完成的结果通过dynamic pooling的方式进一步提取少量特征,然后各个层次的pooling计算结果平摊为一组向量,通过全连接的方式与LR(或者softmax)层连接,从而适配同义句检测任务本身。

这个模型具体的计算细节不再赘述了,感兴趣的读者可以直接去看论文。除了提出这种模型结构之外,论文还有一个亮点在于使用了一种类似于语言模型的CNN-LM来对上述CNN部分的模型进行预训练,从而提前确定模型的参数。CNN-LM的网络结构如下图:

<Convolutional Neural Network for Paraphrase Identification>

CNN-LM模型的训练预料使用了最终的实验数据集,即MSRP;另外,由于MSRP的数据规模较小,所以作者又增加了100,000个英文句子语料。CNN-LM模型最终能够得到word embedding, 模型权值等参数。需要注意的是,这些参数并不是固定的,在之后的句子匹配任务中是会不断更新的。从后面的实验结果中可以看出,CNN-LM的作用是显著的。

实验结果

论文仅使用了一种数据集,即公认的PI (Paraphrase Identification)任务数据集,MSRP。实验结果如下:

<Convolutional Neural Network for Paraphrase Identification>

可以看出,CNN-LM的预训练效果显著,预训练后的模型性能很强(但是结果上比之前He提出的模型稍差一些)。

上一篇:Oracle中PL/SQL简介、基本语法以及数据类型


下一篇:python创建二维数组