Convolutional Neural Networks for Sentence Classification

本文探讨了卷积神经网络(CNN)在句子级分类任务中的应用,通过预训练的词向量,实现了一系列基准测试上的优秀结果。研究中提出的模型在多个自然语言处理任务上表现出色,包括情感分析、主题分类等。
部署运行你感兴趣的模型镜像

Convolutional Neural Networks for Sentence Classification

Yoon Kim, New York University, 2014 ACL

摘要
我们在句子级分类任务中预训练的词向量训练出的CNN上做了一系列的实验。我们展示了一个简单的带有参数调优以及静态向量的CNN模型,在多个基准上都实现了优异的结果。 我们也提出了对结构的简单修改——允许即使用特定任务以及静态向量。

1. Introduction
近年来, 深度学习模型已经在计算机视觉以及语音识别方面取得了显著成果。在自然语言处理方面,许多深度学习方面的工作方法都是应用于网络语言模型学习词向量表示以及在分类上对学习过的单词向量上进行组合。词向量(Word vector),通过一个隐藏层将词语从一个稀疏向量投射到一个低维向量空间,本质上是一个特征提取器,在向量中对词语的语义特征进行了编码。在这种密度表示方式下,在欧几里得距离或者余弦距离上,语义上相似的词语在更低维的向量中也更近。
在当前工作中,我们训练了一个简单的CNN,带有一个基于词向量的卷积层。词向量通过一个非监督的网络语言模型获得。这些向量由google新闻中1000亿各词语训练得来(Mikolov et al. 2013),而且是公用的。我们最初保持静态词向量,只是学习模型的其他参数。尽管有超参数的微调优,这个简单模型在多基准方面实现了很好的效果,说明预训练向量是通用特征提取器,可用于各种分类任务。通过微调来学习特定于任务的向量会得到进一步的改进。我们最后描述了一个对架构的简单的修改,允许通过拥有多通道来使用预训练向量以及基于特定任务的向量。
我们的工作在哲学上与Razavian et al. 2014很相似,它展示了图像分类上,从一个预训练的深度模型上获得的特征提取器在不同任务上的表现也很好,包括那些与之间特征提取器被训练的源任务非常不同的任务。

2. Model
图1的模型架构与Collobert et al.(2011)的CNN架构稍有不同。Xi是句子中第i个词语的一个k维向量。一个句子的长度为n(如果需要pad,则是pad以后的句子长度),表示为:
在这里插入图片描述
然后,我们在这个特征图C上应用了最大超时池化操作(Collobert et al.,2011 ),并且将特征图C的最大值C^作为这个特殊过滤器的特征。这个是为了获得每个特征图的最重要的特征。这个合用方案很自然地处理了不同的句子长度。
我们已经描述了一个过滤器提取一个特征的过程。这个模型应用了多个过滤器(拥有不同的窗口大小)去获得多个特征。这些特征组成了倒数第二层,而且被传给了一个全连接softmax层,这一层的输出是标签上的概率分布。
在这里插入图片描述
在一个模型的变体中,我们运用词向量的两个“通道”来进行实验,一个在训练过程中保持静态,一个通过反向传播进行调优。在图1 所描述的这个多通道的结构中,每个过滤器都被应用于两个通道,而且结果都被放入方程(2)中计算Ci。该模型在其他方面与单通道体系结构等效。

3. Regularization
对于正则化,我们在倒数第二层使用dropout约束权向量的l2-范数。在前向传播过程中,p比例的隐藏单元被随机Dropout(例如设置为0)避免了隐藏层的过拟合问题。
在这里插入图片描述
梯度只能通过未掩蔽的单位反向传播。在测试时,学习过的向量用p表示:w^=pw,
w^(没有dropout)被用来为看不见的句子打分。另外,我们对权重向量的l2范数进行了约束,通过对w进行缩放,使||w||2 = s,每当||w|| |2 > s经过梯度下降步后。

4. Datasets and Experimental Setup
我们在不同的基准上测试我们的模型,数据集的统计数据在表1中:
在这里插入图片描述
c:类别数目 l:平均句子长度 N:数据集大小 |V|:词汇大小 |Vpre|:在提前训练好词向量集中被表示的词的数量
Test:测试集大小(CV表示没有标准的训练/测试集划分,因此10折交叉验证被应用)。
MR:每篇影评只有一句话。分类包括检测正面/负面评论(Pang and Lee,2005)。
SST-1:斯坦福情感树银行是MR 的扩展,提供了train/dev/test分块,并有细粒度标签(非常正面、正面、中性、负面、非常负面),由Socher等人重新标记(2013)。
SST-2:与SST-1一样,但是去掉了中立的评论和二进制标签。
Subj:主观性数据集,其任务是将一个句子划分为主观性或客观性(Pang and Lee,2004)。
TREC:TREC问题数据-任务涉及到将一个问题分成6种问题类型(问题是否与人、位置、数字信息等有关)(Li and Roth,2002)。
CR:客户对各种产品(相机、mp3等)的评论。任务是预测积极的/负面评论(Hu and Liu,2004)。
MPQA:MPQA数据集的意见极性检测子任务(Wiebe et al.,2005)

5. Hyperparameters and Training
对于我们使用的所有数据集:修正性线性单元,过滤器窗口(h)为3,4,5,每个过滤器窗口都有100个feature map,dropout率§为0.5,l2约束(s)为3,以及mini批处理大小为50。这些值是通过在SST-2 dev集上的网格搜索选择的。
除了在开发集上提前停止之外,我们不会执行任何特定于数据集的调优。对于没有标准开发集的数据集,我们随机选择10%的训练数据作为开发集。训练是通过使用Adadelta更新规则(Zeiler,2012)对打乱的小批量进行随机梯度下降。
6. Pre-trained Word Vectors
在没有大的监督训练集的情况下,使用从无监督神经语言模型中获得的初始化词向量是一种改进性能的流行方法。我们使用了公开可用的word2vec向量,这些向量是从谷歌新闻中训练的1000亿个单词。向量的维数为300,使用连续词袋结构进行训练(Mikolov et al.,2013)。未出现在预训练词集中的词被随机初始化。

7. Model Variations
我们用这个模型的几种变体做了实验。

  • CNN-rand:我们的基准模型中,所有的单词都是在训练期间随机初始化和修改的。

  • CNN-static:一个用word2vec的预训练向量的模型。所有单词——包括随机初始化的未知单词——都保持不变,只学习模型的其他参数。

  • CNN-non-static:和上面一样,但是预先训练的向量会针对每个任务进行微调。

  • CNN-multichannel:一个有两组词向量的模型。每一组向量被视为一个“通道”,每个过滤器被应用到两个通道,但是梯度只通过一个通道反向传播。因此,该模型能够微调一组向量,同时保持另一组不变。两个通道都是用word2vec初始化的。

    为了消除上述变异对其他随机因素的影响,我们消除了其他的随机性来源——cv -fold赋值,未知词向量的初始化,CNN参数的初始化——在每个数据集中保持它们的一致性。

8. Results and Discussion

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

### 回答1: 卷积神经网络 (Convolutional Neural Networks, CNN) 是一种常用于文本分类的深度学习模型。它通过卷积和池化层来提取文本中的特征,并使用全连接层来进行分类。 CNN 的一个优点是能够处理变长的输入,并且不需要对文本进行预处理。 ### 回答2: 卷积神经网络是一种深度学习方法,用于对文本进行分类。在训练过程中,这种网络可以自动学习输入数据的特征表示。卷积神经网络中的卷积层可以识别输入中的局部模式,这些局部模式组合起来形成更高级别的特征,最终帮助分类器确定类别。对于文本分类问题,卷积神经网络的输入是文本的词嵌入向量,可以从先验知识中自动学习特征。 在一些文本分类任务中,卷积神经网络已经取得了很好的表现。文本分类任务通常被分为两种类型:二元分类和多分类。二元分类任务是指将数据分为两类,例如垃圾邮件和非垃圾邮件。多类分类任务是指将数据分为多类,例如新闻分类。在这两种任务中,卷积神经网络都能够进行有效的分类。 对于二元分类任务,卷积神经网络可以使用一个输出节点,并使用 sigmoid 激活函数将输入映射到 0 到 1 之间的概率。对于多分类任务,卷积神经网络可以使用多个输出节点,每个节点对应一个类别,并使用 softmax 激活函数将输入映射到 0 到 1 之间,并且所有输出节点的和为 1。 要训练卷积神经网络进行文本分类,需要对模型进行三个主要的训练步骤。首先,需要构建词嵌入矩阵,该矩阵将文本中的每个词都映射到一个向量。然后,需要将文本数据转换为卷积神经网络所需的格式。最后,需要对模型进行训练,并根据测试数据进行评估。 总之,卷积神经网络已经被证明是一种强大的工具,可以用于文本分类等任务。在处理文本数据时,卷积神经网络可以自动学习输入数据的特征表示,并使用这些特征来确定文本的类别。 ### 回答3: 卷积神经网络(CNN)是一种深度学习模型,它在图像识别、计算机视觉和自然语言处理中表现出色。最近几年,CNN 在句子分类中也获得了很大的成功。 CNN 句子分类模型的输入是一个序列,输出是类别标签。与传统的 RNN 模型不同之处在于,CNN 可以使每个神经元只能捕获一个固定大小的区域的特征,从而加快模型的训练和降低了模型的复杂度。 CNN 句子分类模型的基本架构包括词嵌入层、卷积层、池化层和全连接层。词嵌入层将输入的文本转化为向量表示。卷积层通过滑动窗口对输入的序列进行卷积操作,提取出局部特征。池化层在每个滑动窗口上提取出一个最大值或平均值,进一步降低维度。最后,全连接层将提取出的特征传递到输出层进行分类。 CNN 句子分类模型的优点在于它可以处理不定长的文本序列,并在仅有少量特征的情况下表现出色。但是,CNN 模型的缺点在于不善于处理长期依赖关系,例如情感分析中的Irony识别。为了解决这个问题,可以引入 RNN 或 Transformer 等模型。 总的来说,CNN 模型为句子分类问题提供了一个简单有效的解决方案。在实践中,需要根据具体的任务选择合适的模型结构和参数设置,才能取得最佳效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值