数据集来自于THUCTC: 一个高效的中文文本分类工具包
一共用10各类别:体育、财经、房产、家居、教育、科技、时尚、时政、游戏、娱乐
每个类别训练数据5000条,验证数据500条,测试数据1000条
可以到这里下载数据集: https://pan.baidu.com/s/1VV8ATWKGoo3Spd1yxU1YRw 提取码: rev9
用jieba分词,向量空间模型VSM表示文本,tf-idf计算特征权重
混淆矩阵
[[975 0 0 3 1 2 1 5 4 9]
[ 0 969 9 2 0 6 0 13 1 0]
[ 0 39 803 26 8 8 10 73 14 19]
[ 0 15 301 387 28 43 24 85 85 32]
[ 2 5 11 46 777 51 18 51 17 22]
[ 0 0 3 7 1 945 9 4 28 3]
[ 0 0 0 16 2 8 959 3 4 8]
[ 0 8 35 1 12 7 0 924 3 10]
[ 1 1 2 28 1 6 25 4 916 16]
[ 0 0 0 3 3 5 6 1 5 977]]
precision recall f1-score support
体育 1.00 0.97 0.99 1000
财经 0.93 0.97 0.95 1000
房产 0.69 0.80 0.74 1000
家居 0.75 0.39 0.51 1000
教育 0.93 0.78 0.85 1000
科技 0.87 0.94 0.91 1000
时尚 0.91 0.96 0.93 1000
时政 0.79 0.92 0.85 1000
游戏 0.85 0.92 0.88 1000
娱乐 0.89 0.98 0.93 1000
家居类的召回率很低,很容易被识别为房产一类
混淆矩阵
[[963 1 0 1 8 1 0 1 8 17]
[ 0 993 1 0 0 0 0 6 0 0]
[ 0 113 755 17 29 6 0 24 24 32]
[ 0 210 95 466 63 17 2 27 50 70]
[ 3 18 7 16 874 8 0 2 28 44]
[ 0 34 0 7 9 905 0 1 39 5]
[ 1 9 0 35 15 0 869 2 18 51]
[ 1 53 25 5 62 3 0 790 20 41]
[ 0 2 3 9 4 5 1 2 948 26]
[ 0 0 0 2 3 0 0 0 1 994]]
precision recall f1-score support<br>
体育 0.99 0.96 0.98 1000
财经 0.69 0.99 0.82 1000
房产 0.85 0.76 0.80 1000
家居 0.84 0.47 0.60 1000
教育 0.82 0.87 0.85 1000
科技 0.96 0.91 0.93 1000
时尚 1.00 0.87 0.93 1000
时政 0.92 0.79 0.85 1000
游戏 0.83 0.95 0.89 1000
娱乐 0.78 0.99 0.87 1000
对家居一类的分类效果有所提升,但仍然不够理想
混淆矩阵
[[988 0 0 0 2 6 0 2 2 0]
[ 0 976 0 0 0 1 0 7 0 0]
[ 0 1 994 2 1 1 0 1 0 0]
[ 0 9 2 857 19 50 23 29 9 2]
[ 1 7 0 11 850 52 3 42 34 0]
[ 0 0 0 3 1 982 4 3 7 0]
[ 1 2 0 24 5 9 952 0 3 4]
[ 1 15 0 1 12 14 0 953 4 0]
[ 0 1 0 1 3 4 7 2 982 0]
precision recall f1-score support
体育 0.99 0.99 0.99 1000
财经 0.96 0.99 0.98 984
房产 1.00 0.99 1.00 1000
家居 0.95 0.86 0.90 1000
教育 0.94 0.85 0.89 1000
科技 0.87 0.98 0.92 1000
时尚 0.96 0.95 0.95 1000
时政 0.92 0.95 0.93 1000
游戏 0.93 0.98 0.96 1000
娱乐 0.99 0.94 0.97 1000
效果得到明显提升,而且模型依然有一定优化空间。
该词向量可以在Chinese Word Vectors 中文词向量此处下载
混淆矩阵
[[995 0 0 0 1 3 0 1 0 0]
[ 0 977 1 1 2 0 0 3 0 0]
[ 0 0 996 1 1 1 1 0 0 0]
[ 1 32 2 878 15 22 38 7 3 2]
[ 1 10 0 4 931 35 9 5 4 1]
[ 0 2 0 3 2 983 6 0 4 0]
[ 1 1 0 11 6 4 976 0 0 1]
[ 0 24 2 5 26 41 0 898 2 2]
[ 0 4 0 3 19 15 23 0 933 3]
[ 3 4 0 4 7 10 13 1 1 957]]
precision recall f1-score support
体育 0.99 0.99 0.99 1000
财经 0.93 0.99 0.96 984
房产 1.00 1.00 1.00 1000
家居 0.96 0.88 0.92 1000
教育 0.92 0.93 0.93 1000
科技 0.88 0.98 0.93 1000
时尚 0.92 0.98 0.94 1000
时政 0.98 0.90 0.94 1000
游戏 0.99 0.93 0.96 1000
娱乐 0.99 0.96 0.97 1000
加入word2vec后效果有一定的提升,但提升的并不多。
混淆矩阵
[[988 0 0 0 10 0 0 1 0 1]
[ 0 962 1 1 14 0 0 6 0 0]
[ 0 0 996 1 2 1 0 0 0 0]
[ 0 10 1 865 90 5 6 15 3 5]
[ 0 2 0 2 978 3 5 3 2 5]
[ 0 2 0 3 17 961 3 0 13 1]
[ 0 0 0 5 33 2 946 0 4 10]
[ 0 11 2 3 66 4 0 910 1 3]
[ 1 0 1 0 28 1 2 1 965 1]
[ 1 0 0 4 18 3 2 0 6 966]]
precision recall f1-score support
体育 1.00 0.99 0.99 1000
财经 0.97 0.98 0.98 984
房产 1.00 1.00 1.00 1000
家居 0.98 0.86 0.92 1000
教育 0.78 0.98 0.87 1000
科技 0.98 0.96 0.97 1000
时尚 0.98 0.95 0.96 1000
时政 0.97 0.91 0.94 1000
游戏 0.97 0.96 0.97 1000
娱乐 0.97 0.97 0.97 1000
总体效果比RNN好一点
混淆矩阵
[[993 0 0 0 5 0 1 1 0 0]
[ 0 971 0 3 8 0 0 2 0 0]
[ 0 0 996 2 2 0 0 0 0 0]
[ 1 16 2 892 45 3 24 10 3 4]
[ 1 3 0 6 966 8 6 4 6 0]
[ 0 3 0 9 10 952 12 0 14 0]
[ 1 0 0 5 14 1 974 0 1 4]
[ 0 20 2 10 64 6 1 894 2 1]
[ 1 1 0 3 23 1 7 0 964 0]
[ 3 1 0 4 18 3 18 0 6 947]]
precision recall f1-score support
体育 0.99 0.99 0.99 1000
财经 0.96 0.99 0.97 984
房产 1.00 1.00 1.00 1000
家居 0.96 0.89 0.92 1000
教育 0.84 0.97 0.90 1000
科技 0.98 0.95 0.96 1000
时尚 0.93 0.97 0.95 1000
时政 0.98 0.89 0.94 1000
游戏 0.97 0.96 0.97 1000
娱乐 0.99 0.95 0.97 1000
与随机生成的词向量相比,效果差不多。