Convolutional Neural Networks for Sentence Classification

Convolutional Neural Networks for Sentence Classification
Yoon Kim
New York University

模型结构

我们利用一层卷积神经网络和事先训练好的词向量进行句子分类,取得了很好的效果。而通过微调来学习针对特定任务的词向量提高了原有的效果。最后,我们描述了对模型结构的一个简单的改动,使得预训练和特定任务的词向量通过不同通道被利用。
上图是我们模型的结构图。模型输入一个 n × k n \times k n×k的矩阵,其中 n n n代表句子长度, k k k是词向量维度。在必要时进行填充。卷积操作的filter是 h × k h \times k h×k的,也就是利用一个 h h h个词的窗来生成新特征(feature map)。然后对于每个feature map使用最大池化。这一步能够很自然地处理可变的句子长度。模型利用多个有不同大小的窗的filter来进行卷积和池化,池化的结果被传到一个全连接softmax层,这一层的输出是标签的概率分布。

正则化

对于正则化,我们在倒数第二层利用dropout,并对权重向量引入l2正则。Dropout通过在前向传播时将隐藏单元按概率“丢掉”来实现(随机遮罩),并且梯度仅在没有被遮罩的单元进行后向传播。也就是说,对于原来的 y = w ⋅ z + b y = w \cdot z + b y=wz+b,将其替换为 y = w ⋅ ( z ∘ r ) + b y = w \cdot (z \circ r) + b y=w(zr)+b,其中 ∘ \circ 是按位乘, r r r是一个伯努利随机变量,以概率 p p p取值1,最后进行预测时的权重向量 w ^ = p w \hat{w} = pw w^=pw。对于l2正则,当一个梯度下降步骤后 w w w的l2范式大于 s s s时,我们把 w w w缩放为它的l2范式等于 s s s

数据集和实验设置

我们在多个数据集上对模型进行评估:

  • MR: 影评,分类为积极/消极
  • SST-1 对MR的扩展,划分了训练/验证/测试集并增加了类别
  • SST-2 与SST-1相同,然而去掉了中立的评价
  • Subj 训练任务是区分句子是主观的还是客观的
  • TREC 将一个问题分类到6个类别中的一个
  • CR 用户评价,任务是预测积极/消极
  • MPQA MPQA数据集中的意见极性检测子任务

超参数:
Relu激活函数,filter window取3,4,5,每种100个feature map,dropout概率取0.5,l2约束取3,mini-batch大小取50,这些值是在SST-2的验证集上选择的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值