1 目的和思想
char-cnn 模型的目的:分类
char-cnn 的整体思想:利用字符级别(以70个固定字符,以1014个文本中字符形成的one-hot 矩阵)进行卷积池化全连接,实现分类
模型出自论文:Character-level Convolutional Networks for Text Classification
2 模型原理
模型实现:
- 建立字符表共70(feature)个字符,将文本以1014(length)的字符进行截断,使每个文本的字符长度均为1014(length),不够的补零,多的去掉,每行以one-hot编码
1)字符表:abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:’’’/|_@#$%ˆ&*˜‘±=<>()[]{} - (卷积)用为7(length)的filter框住文本向量,框住的部分与filter做矩阵计算,得到一个值,依次往下移动
- (池化)将卷积后的矩阵进行池化,以3(length)变为一个固定长度的矩阵
- 再依次进行卷积、池化
- (全连接)把定长的所有矩阵拼在一起,在三次全连接中间加入 dropout 层以实现模型正则化,最后输出类别
本文使用的卷积和池化的流程以及全连接:
- Large Feature/Small Feature:卷积核的个数
- 6个卷积层,3个全连接层
- N/A为未使用
- Output Units Small:全连接层的输出维度
论文中的模型图:
3 char-cnn 总结
char-cnn 和 textcnn不同点在于,char-cnn基于字符,所以它不依靠语义和句法,并且在数据量很大时表现出优越性