【自然语言处理】CNN在NLP文本分类任务上的经典之作——TextCNN

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【自然语言处理】CNN在NLP文本分类任务上的经典之作——TextCNN相关的知识,希望对你有一定的参考价值。

参考技术A 全文链接: Convolutional Neural Networks for Sentence Classification——学术范

2012年在深度学习和卷积神经网络成为图像任务明星之后, 2014年TextCNN诞生于世,成为了CNN在NLP文本分类任务上的经典之作。 TextCNN提出的目的在于,希望将CNN在图像领域中所取得的成就复制于自然语言处理NLP任务中。

TextCNN是一种采用卷积神经网络(CNN)提取文本n-gram特征,最大池化,全连接然后进行分类的一种新型模型。它在当时对文本分类SVM老大的位置提出了挑战,虽然当时TextCNN模型效果没有完全超过SVM,但CNN的热潮使得TextCNN极受追捧,成为NLP文本分类任务的经典模型。

上论文~

首先论文在摘要部分指出本文报告了一系列关于卷积神经网络(CNN)的实验,这些实验是在预先训练的单词向量的基础上进行的,用于句子级别的分类任务。

近年来,深度学习模型在计算机视觉和语音识别方面取得了显著的成果。在自然语言处理中,深度学习方法的大部分工作都涉及到通过神经语言模型学习单词向量表示,并对学习到的单词向量进行合成进行分类。单词向量,其中单词从一个稀疏的1- V编码(这里的V是词汇量)通过一个隐藏层投影到一个低维向量空间,本质上是一个特征提取器,在其维中编码单词的语义特征。在这种密集表示中,语义上相近的词在低维向量空间中的欧几里得距离或余弦距离也是相近的。卷积神经网络(CNN)利用卷积滤波器应用于局部特征。

数据集和实验设置

使用的所有数据集:校正线性单元,过滤窗口(h)为3,4,5,每个有100个特征图,dropout率(p)为0.5,l2约束(s)为3,小批量大小为50。这些值是通过在SST-2开发集上的网格搜索选择的。

用从无监督神经语言模型中获得的词向量初始化是在没有大型监督训练集的情况下提高性能的一种流行方法。文中使用公开可用的word2vec向量,这些向量是从谷歌新闻中训练的1000亿个单词。向量的维数为300,并使用连续的词袋结构进行训练。在预先训练的词集中不存在的词将被随机初始化。

论文用模型的几个变体进行了实验

•CNN-rand:基线模型,其中所有单词都随机初始化,然后在训练期间修改。

•CNN-static:一个带有fromword2vec预训练向量的模型。所有单词(包括随机初始化的未知单词)都保持静态,只学习模型的其他参数。

•CNN-non-static:同上,但预训练向量对每个任务进行了微调。

•CNN-multichannel:一个具有两个词向量集的模型。每个向量集被视为一个“通道”,每个过滤器被应用于两个通道,但梯度只通过一个通道反向传播。因此,该模型能够在保持其他向量不变的情况下对一组向量进行微调。两个通道都用word2vec初始化。

表2列出了模型与其他方法的对比结果,基线模型包含所有随机初始化的单词(CNN-rand),但它自己的表现并不好。

即使是一个简单的静态向量模型(CNN-static)也表现得非常好,与更复杂的深度学习模型相比,使用复杂的池化方案(Kalchbrenner et al., 2014)或要求预先计算解析树(Socheret al., 2013),其结果具有竞争力。这些结果表明,预先训练的向量是良好的,“通用的”特征提取器,可以跨数据集使用。对每个任务的预训练向量进行微调,还可以得到进一步的改进(CNN-non-static)。

多通道与单通道模型

我们最初希望多通道体系结构能够防止过拟合(通过确保学习到的向量不会离原始值太远),从而比单通道模型工作得更好,特别是在较小的数据集上。然而,结果是喜忧参半的,进一步规范微调过程的工作是有必要的。例如,在非静态部分,我们可以使用一个单独的通道,但使用允许在训练期间修改的额外维度,而不是使用一个额外的通道。

静态与非静态表示

与单通道非静态模型的情况一样,多通道模型能够对非静态通道进行微调,使其更适合当前的任务。例如,good和bad在word2vec中最相似,大概是因为它们(几乎)在语法上是等价的。但是对于SST-2数据集上经过微调的非静态信道中的向量来说,情况就不一样了(表3)。同样,good在表达情感方面可以说更接近于nice,而不是great,这确实反映在学习到的向量上。对于(随机初始化的)不属于预先训练的向量集合的标记,微调可以让它们学习更有意义的表示:网络学习到感叹号与热情的表达式有关,逗号是连接符(表3)。

结论

在目前的工作中,论文描述了一系列建立在word2vec之上的卷积神经网络实验。尽管很少对超参数进行调整,但带有一层卷积的简单CNN表现得非常好。研究结果进一步证明,无监督词向量的预训练是NLP深度学习的重要组成部分。

以上是关于【自然语言处理】CNN在NLP文本分类任务上的经典之作——TextCNN的主要内容,如果未能解决你的问题,请参考以下文章

CNN如何用于NLP任务?一文简述文本分类任务的7个模型

入门 | CNN也能用于NLP任务,一文简述文本分类任务的7个模型

用CNN对文本处理,句子分类(简单理解卷积原理)

从经典文本分类模型TextCNN到深度模型DPCNN

自然语言处理(NLP)基于GRU实现情感分类

NLP经典分类模型朴素贝叶斯解读