文件名称:贝叶斯分类实现垃圾信息分类支持中文分词
文件大小:14KB
文件格式:JAVA
更新时间:2021-12-18 06:45:55
垃圾信息 文本分类 贝叶斯
基于贝叶斯分类的中文垃圾信息分类识别核心核心代码,可直接运行的源程序。public void loadTrainingDataChinies(File trainingDataFile,String infoType) { //加载中文分词其 NLPIR.init("lib"); // System.out.println(trainingDataFile.isFile()+"=============="); // 尝试加载学习数据文件 try { // 针对学习数据文件构建缓存的字符流,利用其可以采用行的方式读取学习数据 BufferedReader fileReader = new BufferedReader(new FileReader( trainingDataFile)); // 定义按照行的方式读取学习数据的临时变量 String data = ""; // 循环读取学习文件中的数据 while ((data = fileReader.readLine()) != null) { // System.out.println("*****************************"); //System.out.println(data+"000000000000000000000"); // 按照格式分割字符串,将会分割成两部分,第一部分为ham或spam,用于说明本行数据是有效消息还是垃圾消息,第二部分为消息体本身 //String[] datas = data.split(":"); // 对消息体本身进行简单分词(本学习数据均为英文数据,因此可以利用空格进行自然分词,但是直接用空格分割还是有些简单粗暴,因为没有处理标点符号,大家可以对其进行扩展,先用正则表达式处理标点符号后再进行分词,也可以扩展加入中文的分词功能) //首先进行中文分词 // System.out.println(datas[1]+"------------------------"); //if(datas.length>1) { //System.out.println(datas.length); String temp=NLPIR.paragraphProcess(data, 0); //System.out.println(temp); String[] words = temp.split(" ");