最近在做基于深度学习的文本分类,目前常见的神经网络主要有CNN和RNN,相对来说CNN的速度较快。在这里对于CNN用于文本分类的理解做一下记录,主要基于论文和网上的一些参考资料。
一、论文原件
论文题目:Convolutional Neural Networks for Sentence Classification
作者:Yoon Kim
论文下载地址:https://arxiv.org/abs/1408.5882
在2014年,Yoon Kim在论文中提出了采用卷积神经网络CNN用于文本分类,其核心思想是采用不同尺寸的滤波器来提取特征,相当于统计语言模型中n-gram。并在原文中使用了预训练的词向量和基于训练集的词向量进行了对应的比较。
二、TextCNN
2.1 模型结构
模型结构如下图所示:
在该模型中,输入是语料库中的每一个文本。其中文本中的每一个词或者字对应于一个k维的向量,若一个文本的长度是n也就是说由n个词或字组成,那么一个文本就可表示成n行k列的矩阵。其中将一个词或字映射成一个低维稠密的k维向量,目前主要基于word2vec或glove工具(如不懂词向量,可先行百度了解一下)。
2.2 卷积
在传统的机器学习方法中,如KNN,