原文为:《Deep learning based emotion analysis of microblog texts》,点击名字即可跳转论文。
文本分类的挑战
个人理解文本分类方法即面临的挑战可以分为以下两大类
-
传统机器学习方法
1.1 判别式模型
如SVM
1.2 生成式模型
如朴素贝叶斯等面对的挑战:
特征的选择,即特征工程,如何表示文本。一种解决方法是使用启发式方法如it-idf -
深度学习
2.1 预训练方法+后接模型或知识蒸馏等面临的挑战:
文本的表示,一种方法是如这篇论文使用的Word2vec词向量表示方法
研究对象
研究中文微博文本的情感分类问题,共80,000条微博,进行了手动标记,其中情绪所属分类一半是正面,一半是负面(我觉得可能用的是开源的训练集吧,自己标工作量太大了。。。)
研究目的
- 通过组合多种方法,验证CNN+Word2vec比传统方法效率高
- 证明针对中文社交短文本,做词向量模型的预训练任务时,字符词向量比词语词向量更好
研究方法
研究框架很简单,首先把中文文本进行词向量模型预训练得到200维的Word2vec(CBOW+负采样),得到一张单词和向量的映射表,然后查表把输入的汉字替换为词向量,并输入到CNN网络中。
也就是说,使用词向量训练的结果作为CNN的输入。不太准确的描述:两个串行神经网络。
在CNN中,网络设置了一些参数,包括最大池化和三通道卷积(卷积核步长分别为3,4,5),drop层(the probability of dropout = 0.5)。
CNN网络结构见下图
- 我的评价:也是很常见的操作,普遍做法
研究结论
- 不同模型的结果见下图:
- 注: F1 score = (2PR)/(P+R) , where P(precision), R(recall).
论文中的表述:(机翻)
与传统分类方法相比,CNN_Text_Word2vec具有更好的性能(更高的整体准确性,两种类型的F1值)。朴素的贝叶斯算法总体性能指标低,总体准确率达80.4%,两种类型的F1值分别为80.74%和79.95%。随机森林和决策树算法的总体性能指标相似,总体准确率分别为86.75%和86.91%,两种类型的F1值分别为86.12%,86.51%和87.04%,86.79%。
- 不同级别词向量模型结合不同方法结果见下图
机翻:
对于CNN_Text_Word2vec,SVM,RNN和LSTM模型,词向量模型的整体准确性低于字符模型的整体准确性,分别降低了2.9%,2.27%,2.12%和1.15%。
评价
这篇论文创新性一般,但好在方法易上手,如果你想试一试深度学习在文本情感分类问题上的运用,可以在这个模型基础上进行修改
然而,我在自己的情感多分类实验中,在词向量模型的级别上,得到了和作者相反的结论——词级别词向量比字符级更好。我和作者的训练集并不相同。
最后,完全可以使用bert模型来做,小组另一位同学的预训练模型使用bert做,结果大大提高。在LSTM中加入注意力机制,P也比单纯的CNN更好。这篇论文为基础,有不少改进的方向。
注意,上面的图片都来源于该论文,请在获取许可后用于学术或商业领域。