论文阅读-Convolutional Neural Networks for Sentence Classification(TextCNN)

目录

模型原理

1.1 输入层

1.2 卷积层

1.3 池化层

1.4 全连接层

模型特点


YoonKim在2014EMNLP发的论文。

TextCNN模型作为文本分类模型,通过验证实验以及业界的共识,在文本分类任务中,CNN模型已经能够取到比较好的结果,虽然在某些数据集上效果可能会比RNN稍差一点,但是CNN模型训练的效率更高。

所以,一般认为CNN模型在文本分类任务中是兼具效率与质量的理想模型。

模型原理

与传统图像的CNN网络相比,TextCNN的输入层为Embedding词向量,卷积使用一维卷积。

整个模型由四部分构成:输入层、卷积层、池化层、全连接层。

1.1 输入层

输入是一个固定长度L的文本序列。L可以前期通过语料分析得到。如果输入的文本比L长则截断,短的话则需要补充。然后将之进行向量化。作者在这里给了几种方式:

(1)static(静态词向量)
直接使用预训练模型(word2vec、fastText或者Glove)得到词向量,并且在TextCNN模型训练过程中不再调整词向量。
(2)non-static(非静态词向量)
预训练的词向量作为初始化, 训练过程中再对词向量进行微调。
(3)multiple channel(多通道)
用 static 与 non-static 两种词向量初始化方式来搭建两个通道。和图像中RGB类似。
(4)CNN-rand(随机初始化)
指定词向量的维度后,模型对不同单词的向量作随机初始化, 而在后续有监督学习过程中,通过反向传播更新输入层的各个词汇对应的词向量。

1.2 卷积层

只进行一维的滑动,即kernel和词向量等宽。

1.3 池化层

这里使用最大池化,既可以减少训练参数,又保证在不定长卷积层输出上获得一个顶层的全连接层的输入。

通过卷积和池化,模型可以从输入中利用局部信息提取初级特征,并进一步组合成高级特征。但是这些操作也失去了输入文本中词汇顺序、位置等信息,

1.4 全连接层


通过全连接进行分类。这里使用了一层隐层的全连接网络,实际使用也可以使用多层全连接。

模型特点

1. 优点:结构简单、训练快、效果好,避免传统学习模型特征选择的过程。

2. 缺点:可解释性不强,卷积和池化操作造成输入信息丢失(如词汇顺序、位置)。使得模型难以学习文本序列中否定、反义等信息。

你可能感兴趣的:(学习笔记,自然语言处理)