java实现的中文文本分类_使用Spark NaiveBayes 实现中文文本分类

本文档介绍了如何使用Java和Spark的NaiveBayes算法对中文文本进行分类。首先,DataFactory.java读取数据并进行预处理,包括去除停用词和分词。然后,NaiveBayesTrain.java训练模型并保存。最后,NaiveBayesTest.java加载模型进行测试,测试结果显示准确率为98.74%。
摘要由CSDN通过智能技术生成

SparkTextClassifier

使用Spark NaiveBayes 实现中文文本分类

测试数据是我们自己用爬虫抓取的,自己练手也可以用搜狗实验室的数据集(http://www.sogou.com/labs/resource/list_news.php)    朴素贝叶斯分类效果不是很好 数据量大的时候准确率差不多80%,有条件可以试试tensorflow用CNN+RNN+word2vec 我们线上的准确率98%

0、DataFactory.java

0、读取 classPath -> data -> NewsData 目录下的数据 (通过文件夹分类)

1、读取 classPath -> data -> stopWord.txt文件

2、移除停用词

3、把数据分词

4、分割数据(分为测试数据和训练数据)

5、写入数据到 classPath -> data 目录下的 data-test.txt 和 data-train.txt 文件中

6、保存标签数据到 classPath -> models -> labels.txt 文件中

1、NaiveBayesTrain.java

0、读取 classPath -> data -> data-train.txt 文件

1、训练模型...

2、保存模型到 classPath -> models -> category-4 目录

3、保存tf文件到 classPath -> models -> tf 目录

4、保存idf文件到 classPath -> models -> idf 目录

2、NaiveBayesTest.java

0、加载模型

1、加载tf、idf

2、读取 classPath -> data -> data-test.txt 文件

3、对数据进行打分

目录结构

-resources

--data

---NewsData 语料目录

---data-test.txt 测试数据

---data-train.txt 训练数据

---stopWord.txt 停用词

---models

---category-4 模型目录

---idf idf文件

---tf tf文件

---labels.txt 标签数据

测试集训练结果

=======================================================

Summary

-------------------------------------------------------

Correctly Classified Instances : 786 98.7437%

Incorrectly Classified Instances : 10 1.2563%

Total Classified Instances : 796

===================================

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值