CNN Reranking Question-Answer Pairs 句子矩阵宽卷积和窄卷积方法

来源:互联网 发布:q币可以在淘宝买东西吗 编辑:程序博客网 时间:2024/05/21 18:39

这两天在看用CNN计算问答对相关性的论文。看到两篇论文,分别用宽卷积和窄卷积对句子进行卷积,记录一下。一篇是Severyn A, Moschitti A. Modeling Relational Information in Question-Answer Pairs with Convolutional Neural Networks[J]. 2016(论文稍微有点老),通过对问答对的句子embedding矩阵分别进行卷积,池化,得到feature然后进行二分类。示意图如下:

另一篇论文是:Yin W, Schütze H, Xiang B, et al. ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs[J]. Computer Science, 2015(这个更老一点), 模型基本框架如下:

这两篇思想差不多,但是细节上有差别。举个例子,比方一个问题句子有S个单词,卷积核宽度是W。ABCNN是用宽卷积对句子矩阵进行卷积,得到的卷积后的向量维度是S+W-1。而另一个是用窄卷积,卷积后的向量维度是S-W+1。虽然两个模型卷积层的示意图不同,其实本质上是一样的。只是ABCNN里wide convolution相当于是把Severyn A方法里的convolution feature map拼成矩阵。其中wide convolution中每一行代表一个卷积核卷积出的向量,有多少行代表有多少个卷积核。ABCNN卷积池化后的句子向量的similarity是通过计算余弦相似度得到的。Severyn A方法是加了个矩阵M得到similarity。

其它一些细节上的方法就不赘述了,小菜刚看的论文,如果有理解不对的地方还请大家指正,谢谢!

另外分享GitHub上用TensorFlow实现ABCNN的链接https://github.com/galsang/ABCNN。

0 0
原创粉丝点击