文本分类在很多软件产品中都占据重要位置,很多智能应用都用到了文本分类模型。有的是将文本分类的结果作为输入以便进行后续其他任务,例如对话系统中的意图识别;有的是直接将文本分类结果最为任务的输出,例如垃圾邮件过滤、评论情感分类等等。无论何种场景,文本分类的准确程度都是一个很关键的指标。
Internet Movie Database (IMDb) movie reviews dataset 该数据集搜集了人们的影评数据,包含正面和负面两类,是情感分类的常用数据集。 数据集的主要信息如下:
样本数量(训练集25000条,测试集25000条)类别数量(2)每一类的样本数量(12500)每条样本的单词个数(中位数174)每个单词在数据集中的频率每条样本的长度的分布模型选择包含一下几方面的考虑:
选择何种文本表示方法?(将文本数值化的方法)选择何种分类模型?模型参数如何确定?根据google的实验,我们可以参考他们总结出的以下几条经验:
计算(样本个数)/(每个样本内的单词数),简记为S/W,其中分母一般取所有样本里面的单词书的中位数。如果上述比例小于1500,则采用bag-of-words(词袋)特征(n-grams+tf-idf),然后利用传统的分类模型(SVM,MLP,LR等)即可,具体见后文如果上述比例大于1500,则采用神经网络(CNN,RNN),将文本序列作为输入特征,它们可以学习到词与词之间的前后关系。本文涉及的数据集,S/W=144,因此我们可以采用n-gram+MLP作为数据预处理和分类模型的选择方案。