论文|《Convolutional Neural Networks for Sentence Classification》

论文 https://arxiv.org/pdf/1408.5882.pdf

摘要

文章报告了一系列神经网络的实验,利用预训练的词向量来训练网络,完成句级别分类任务。文章展示了少许超参数调整和静态词向量的简单CNN能在多个基准上达到完美的效果。学习任务特定的词向量通过微调获得了性能上的进一步提升。另外,提出了一个简单改进的架构,允许使用任务特定的词向量和静态的词向量。这里讨论的CNN模型在7项任务中有4项得到了state of art的结果,包括语义分析和问题分类。

模型

图一展示了模型的架构。它是一个轻微变化的CNN架构。是一个k维的词向量对应句子中的第i的单词。一个长度为n的句子表示为

是联结操作符。一个卷积操作涉及一个过滤器,它有一个h个单词的窗口来产生新的特征。特征由一个窗口的单词生成。

论文|《Convolutional Neural Networks for Sentence Classification》_第1张图片
图1

通过窗口滑动可以产生一个feature map
使用一个max-overtime池化操作在feature map上得到最大值
作为一个特征模型不仅仅使用一个过滤器,使用多个变化的窗口大小的过滤器来获得多个特征。这些特征组成了倒数第二层,并被传递到softmax完全连接层。在一种模型变种中,实验使用两个channels的词向量。一个是静态的词向量,一个是动态的词向量。动态的词向量通过后向传播来调整。

正则化

在倒数第二层使用dropout。
倒数第二层(这里有m个过滤器)

是一个逐个元素相乘操作。
是一个Bernoulli随机变量的masking矩阵,有着p概率是1。梯度反向传播只会沿着没有被掩盖的单元传播。

数据集和实验设置

测试模型在多个benchmarks上


论文|《Convolutional Neural Networks for Sentence Classification》_第2张图片
  • MR: 电影评论,每个评论一句话。分类涉及检测正面和负面的评论。
  • SST-1: Stanford Sentiment Treebank。MR的扩展,但是有训练,Dev,测试的分割,和细粒度的标签。(very positive,positive, neutral, negative, very negative)
  • SST-2: 和SST-1相同,但是中立评论的删除和二进制标签。
  • Subj: 主观性数据集,把一个句子分为主观和客观。
  • TREC: TREC问题数据集。任务涉及把问题分成6种问题类型 (whether the question is about person, location, numeric information, etc.)
  • CR: 各种产品的顾客评论。任务是预测正面和负面的评论
  • MPOA: 意见两极检测。

超参数和训练

  • 改进线性单元
  • 3,4,5的过滤器窗口,每个窗口有100的feature map
  • dropout rate(p) 是0.5,constraint (s) 是3,mini-batch size是50

模型变种

  1. 随机词向量
  2. 用word2vec训练的词向量
  3. 和2相同,不过会微调
    4.两个通道,都用word2vec训练,只有一个通道的词向量会被反向传播更新
论文|《Convolutional Neural Networks for Sentence Classification》_第3张图片
实验结果图

实验结果

使用pre-trained vectors有明显提高。加一个通道后也说不清楚好坏啊。non-static更适应specific task。

你可能感兴趣的:(论文|《Convolutional Neural Networks for Sentence Classification》)