Convolutional Neural Networks for Sentence Classification之每日一篇

本文很久以前就读过,现在再学习一下。

文章链接:http://blog.csdn.net/rxt2012kc/article/details/73739756

github连接:https://github.com/rxt2012kc/cnn-text-classification-tf (论文原文github实现)

                    https://github.com/gentelyang/cnn-text-classification-master(自己复现)

一:介绍

本文主要首先将文本的情感特征加在特征向量中,通过词向量的转化之后,语义相近的词距离也想见相近,

比如余弦距离。然后将词向量组成的句子矩阵作为CNN的输入,利用CNN卷积器来提取特征,在语义解析、搜索、语句

模型等传统的自然语言处理中取得较好的效果。

本文的词向量来源于谷歌的word2vec模型预训练的Google News词向量,分两个通道:static预训练的词向量保持不变;

另一种是nonstatic预训练的词向量也会被调整。

二:模型


每个句子中的词(中文需要先进行分词)转化为词向量,词向量的维度为k,如果一个句子中的词个数为m,则该句最终表示为 m * k 的词向量矩阵。假设文档中最长的句子中的词个数为n,则 小于n 的句子填充为m。最终得到的词向量矩阵为 n * k。

1维卷积器的长度h分别为3,4,5。卷积器的尺度为3 * k,4 * k, 5 * k。卷积器的数量分别为n0, n1, n2,在实验中,都取100。

3种卷积器与矩阵分别做卷积,得到(n - h + 1)* 1 * 100的矩阵, 卷积过程如公式(1)所示。


结果:

  • CNN-rand效果并不是特别显著,CNN-static效果突然上升,效果显著。说明使用预训练的词向量对结果起到了很大的作用。

  • 单通道与多通道:本来希望多通道的效果更好,多通道能够防止过拟合,实际上两种方法的效果在特定的数据集中效果有优有劣。

论文都是基于词向量进行的卷积操作,事实证明,预训练的词向量对实验效果有很大的提升。

随机初始化的词向量效果没有用语料库初始化的词向量分类效果好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值