基于CNN的中文文本分类算法(可应用于垃圾邮件过滤、情感分析等场景)
基于CNN的中文文本分类算法通过word2vec预先获取中文测试数据集中各个字的向量表达,再将这些向量输入到卷积网络进行分类。
运行方法:
-
训练:
run python train.py to train the cnn with the spam and ham files (only support chinese!) (change the config filepath in FLAGS to your own)
相关文件下载:CNN垃圾邮件分类.zip。 -
查看summaries:
run tensorboard --logdir /{PATH_TO_CODE}/runs/{TIME_DIR}/summaries/ to view summaries in web view
文本分类中文垃圾邮件分类.zip。 -
测试、分类:
run python eval.py --checkpoint_dir /{PATH_TO_CODE/runs/{TIME_DIR}/checkpoints}
垃圾邮件分类源码。
如果需要分类自己提供的文件,请更改相关输入参数详情请参考:文本反垃圾邮件商用级垃圾文本分类器源码。
如果需要测试准确率,需要指定对应的标签文件:python eval.py --input_label_file /PATH_TO_INPUT_LABEL_FILE
。具体操作可参阅新加坡国立大学机器学习文本分类数据集-短信垃圾邮件分类。input_label_file中的每一行是0或1,需要与input_text_file中的每一行对应。在eval.py中,如果有这个对照标签文件input_label_file,则会输出预测的准确率。
推荐运行环境:
-
python 2.7.13 :: Anaconda 4.3.1 (64-bit)
-
tensorflow 1.0.0
-
gensim 1.0.1
-
Ubuntu16.04 64bit
更多关于垃圾邮件分类和过滤的信息,可以参考以下资源: