这篇文章发表于2016.04,作者还发表了一篇Text Unders tanding from Scratch的论文,有兴趣的可以去看看。
字符级的卷积网络是一个有效的方法。 模型如何很好地进行比较,这取决于许多因素,比如数据集的大小,文本是否是组织化的,以及对字母表的选择。
1:Character quantization
构建字母表,包含70种字符。
The alphabet used in all of our models consists of 70 characters, including 26 english letters, 10digits, 33 other characters and the new line character. The non-space characters are:
abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:’’’/\|_@#$%ˆ&*˜‘+-=<>()[]{}
2:Model Design
9 layers deep with 6 convolutionallayers and 3 fully-connected layers
因为字母表最大为70个,输入特征数都等于70,也就是行数,输入特征长度为1014.
The input have number of features equal to 70 due to our character quantization method, and the input feature length is 1014. It seems that 1014 characters could already capture most of the texts ofinterest. We also insert 2 dropout [10] modules in between the 3 fully-connected layers to regularize.They have dropout probability of 0.5. Table 1 lists the configurations for convolutional layers, andtable 2 lists the configurations for fully-connected (linear)
6个卷积层,每一层的最大最小特征长度,卷积核的个数,和是否接池化,卷积核都是用的大小为3和7的。
上面是作者给出的3个池化层的信息。
3:数据增强技术
通过对数据集的扩充能增强模型泛化性能减小模型的泛化误差,比如图像处理中经常要对图片进行缩放、平移、
旋转等操作不会改变图片整体本身的含义;语音识别中对语音的声调、语速、噪声也不会改变其结果,但是文本
处理中,随意改变字符顺序会改变原文的语义信息,所以其提出使用同义词替换技术对数据集进行处理。
同义词替换时需要处理的问题主要有
1:哪些词应当被替换。
2:应该是用哪个词来替换该词,其提出以一定概率方式进行随机旋转。
4:模型对比
在9个不同的数据集上进行对比实验。
作者分别与传统的机器学习模型和深度学习模型方法进行了对比。