基于贝叶斯分类的中文垃圾信息分类识别核心核心代码,可直接运行的源程序。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(" ");
1