1) fastText
2) TextCNN
3) TextRNN
4) RCNN
5) Hierarchical Attention Network
6) seq2seq with attention
7) Transformer("Attend Is All You Need")
8) Dynamic Memory Network
9) EntityNetwork:tracking state of the world
10) Ensemble models
11) Boosting:
包含这些模型的分类算法
基于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)
在tensorboard上查看summaries
run tensorboard --logdir /{PATH_TO_CODE}/runs/{TIME_DIR}/summaries/ to view summaries in web view
测试、分类
run python eval.py --checkpoint_dir /{PATH_TO_CODE/runs/{TIME_DIR}/checkpoints}
如果需要分类自己提供的文件,请更改相关输入参数
如果需要测试准确率,需要指定对应的标签文件(input_label_file):
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