TextCNN
TextCNN
原理:核心点在于使用卷积来捕捉局部相关性,在文本分类任务中可以利用CNN提取句子中类似n-gram的关键信息。
textcnn详细过程:第一层是图中最左边的7乘5的句子矩阵,每行是词向量,维度=5。然后经过不同 filter_size的一维卷积层(这里是2,3,4),每个filter_size 有filter_num(这里是2)个输出 channel。第三层是一个1-max pooling层,这样不同长度句子经过pooling层之后都能变成定长的表示了,最后接一层全连接的 softmax 层,输出每个类别的概率。
一维卷积(conv-1d):经过词向量表达的文本为一维数据,因此在TextCNN卷积用的是一维卷积。
使用数据集:CNEWS
pytorch代码实现:textcnn_baseline
TextCNN网络
1 | class TextCNN(nn.Module): |
参考
- Convolutional Neural Networks for Sentence Classification
- https://github.com/Alic-yuan/nlp-beginner-finish/
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 养猫的少年~!