用于文本分类的卷积神经网络
2021-10-22 09:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:38 收藏

原文作者:Yoon Kim

原文标题:Convolutional Neural Networks for Sentence Classification

原文链接:https://arxiv.org/abs/1408.5882

原文来源:Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP)

笔记作者:CJRTnT@SecQuan

笔记小编:cherry@SecQuan

摘要+介绍

卷积神经网络(CNN)最开始被应用在计算机视觉,但是后来被研究应用在了自然语言处理里面的语义解析、搜索、语句模型等传统的自然语义处理任务,并且取得了显著的效果。使用CNN在预先训练的词向量上进行训练,可以用于句子级分类任务。本文证明了:1.利用仅有少量超参数的CNN在多个NLP任务上取得了较好的成果 2.预训练的向量是可用于各种分类任务的“通用”特征提取器

模型

图1

如图1所示:

输入层 图中最左侧是n×k×channel矩阵,表示一句话的n个词语,每个词语是一个k维向量;值得注意的是输入层是多通道的,本文提出了一种multi-channel(见模型变体中的CNN-multichannel)方法,将两种不同的embedding拼到了一起。

卷积层 进行卷积操作(图中第二部分),卷积核的尺寸为m×k×depth,因此每次卷积的时候都是整行整行的进行。m=1时就类似于unigram特征,m=2时类似于bigram特征。采用不同的m进行卷积操作便可以获得不同的feature map。

池化层 进行池化操作(图中第三部分),池化层filter形状为convLength×1,通过池化操作得到文本的特征表示。

全连接层+softmax层 图中第四部分,获得代表属于不同类别的概率向量以完成分类。

数据集

图2

图2中,c代表分类数量,l代表句子平均长度,N代表句子数量,|V|代表词汇数量,|Vpre|代表预训练的词向量集中包含的单词数量

MR Movie reviews(包含正面/负面评论)

SST-1 Stanford Sentiment Treebank(MR的扩展,包含非常正面/正面/中性/负面/非常负面评论)

Subj Subjectivity dataset(包含主观/客观句子)

TREC TREC question dataset(将某问题分类为六种类型)

CR Customer reviews(包含正面/负面评论)

MPQA Opinion polarity detection subtask of the MPQA dataset

模型变体

采用了以下四种模型:

CNN-rand 所有词向量都随机初始化,并在训练过程中不断学习

CNN-static 使用了Word2Vec预训练向量,未知的单词则随机初始化;二者都保持不变,只学习模型的其他参数

CNN-non-static 同上,但预训练向量会在训练过程中进行微调

CNN-multichannel 具有两组词向量(CNN-static和CNN-non-static的两组向量)

结果

图3

根据图3所示,CNN-rand表现不佳,而CNN-static表现十分出色,这说明了使用预训练的向量可以大幅提高模型性能

通过CNN-non-static的结果可知,预训练向量是很好的“通用”特征提取器,可以跨数据集使用对每个任务的预训练向量进行微调可以进一步提高模型性能

通过CNN-multichannel的结果可知,CNN-multichannel在小数据集上好于CNN-singlechannel。起初希望通过multichannle的方式避免过拟合,使词向量尽量不要偏离预训练的词向量的同时也使词向量适应于具体的任务。

安全学术圈招募队友-ing, 有兴趣加入学术圈的请联系secdr#qq.com


文章来源: http://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247486701&idx=1&sn=07ce2fbaea5a89d7adbe1b6ceeaa018d&chksm=fe2ef366c9597a70f90c775144954942bebca9a16e622915cdf583592fb27ca0fbd701c2925b#rd
如有侵权请联系:admin#unsafe.sh