TextCNN原理、结构、代码
文章目录 原理 网络 embedding convolution and pooling 模型图 代码 有个需求,给短文本分类,然后看了下文本分类的算法 传统机器学习算法:分为特征提取、分类两部分 深度学习算法:融合特征提取和分类,fastText、TextCNN、TextRNN、TextRCNN以及最近很火的bert算法,本文主要记录一下TextCNN。 参考 深度学习:TextCNN TextCNN模型原理和实现 原理 将卷积神经网络CNN应用到文本分类任务,利用多个不同size的kernel来提取句子中的关键信息(类似于多窗口大小的ngram),从而能够更好地捕捉局部相关性。 网络 TextCNN包含四部分:词嵌入、卷积、池化、全连接+softmax,其实结构相比于图像领域简单很多。 Embedding:第一层是图中最左边的7乘5的句子矩阵,每行是词向量,维度=5,这个可以类比为图像中的原始像素点。 Convolution:然后经过 kernel_sizes=(2,3,4) 的一维卷积层,每个kernel_size 有两个输出 channel。 MaxPolling:第三层是一个1-max pooling层,这样不同长度句子经过pooling层之后都能变成定长的表示。 FullConnection and Softmax:最后接一层全连接的 softmax 层