1.简介
TextCNN是利用卷积神经网络对文本进行分类的算法。
合理性:
深度学习模型在计算机视觉与语音识别方面取得了卓越的成就。
卷积具有局部特征提取的功能,所以可用CNN来提取句子中类似n-gram的关键信息。
2.参数与超参数
sequence_length
Q:对于CNN,输入与输出都是固定的,可每个句子长短不一,怎么处理?
A:需要做定长处理,比如定为n,超过的截断,不足的补0。注意补充的0对后面的结果没有影响,因为后面的max-pooling只会输出最大的值,补0的项会被过滤掉。
num_classes
多分类,分为几类
vocabulary_size
语料库的词典大小,记为|D|
embedding_size
将词向量的维度,由原始的|D|降维到embediding_size
filter_size_arr
多个不同size的filter
3.embedding layer
通过一个隐藏层,将one-hot编码的词投影到一个低维空间中。
本质上是特征提取器,在指定维度中编码语义特征。这样,语义相近的词,它们的欧氏距离或余弦距离也比较近。
4.convolution layer
为不同尺寸的filter都建立一个卷积层,所以会有多个feature map。
图像是像素点组成的二维数据,有时还会有RGB三个通道,所以它们的卷积核至少是二维的。
从某种程度上讲,word is to text as pixel to image,所以这个卷集合的size与stride会有些不一样。
图片引用自《A Sensitivity Analysis of (and Practitioners’ Guide to) ConvolutionalNeural Networks for Sentence Classification》Ye Zhang, Byron Wallace
图片引用自《A Sensitivity Analysis of (and Practitioners’ Guide to) ConvolutionalNeural Networks for Sentence Classification》Ye Zhang, Byron Wallace

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐