java实现的文本分类程序


java实现的文本分类程序
资源截图
代码片段和文件信息
/**
 * 
 */
package com.tassemble.classify.svm;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.objectOutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import libsvm.svm_model;
import libsvm.svm_node;
import libsvm.svm_parameter;
import libsvm.svm_problem;

import com.tassemble.analyzer.ArticleProcessor;
import com.tassemble.constants.Constant;
import com.tassemble.feature.Character;
import com.tassemble.feature.FeatureSelector;
import com.tassemble.feature.Selector;
import com.tassemble.tfidf.Category;
import com.tassemble.tfidf.TFIDF;
import com.tassemble.vsm.VSM;

/**
 * @author chen-hongqin@163.com 2011-3-23
 * 
 */
public class App {
static Logger logger = Logger.getLogger(App.class);

void predict() {

}

/**
 * 
 * @param args
 * @throws IOException
 *             return void
 * 
 */

public static void main(String[] args) throws IOException {

PropertyConfigurator.configure(Constant.ROOT_PATH
+ “configures/classificationLog4j.properties“);

/**
 * 1. classifier.jar -train c:语料库2 
 * 2. classifier.jar -predict c:predictTest 
 * 3. classifier.jar -check c:predictTest
 */
if (args[0].equals(“-train“)) {
train(args[1]);
} else if (args[0].equals(“-predict“)) {
logger.info(“load model please waiting ...“);
svm_model model = (svm_model) Constant.load(“model“);
logger.info(“load model completely!“);
Map map = (HashMap) Constant.load(“map“);

Predictor p = new Predictor(model map);
p.predict(args[1] ““);
} else if (args[0].equals(“-test“)) {
logger.info(“load model please waiting ...“);
svm_model model = (svm_model) Constant.load(“model“);
logger.info(“load model completely!“);
Map map = (HashMap) Constant.load(“map“);

ArticleProcessor processor = new ArticleProcessor();
ArrayList categories = processor.getCategories(args[1]);

VSM vsm = new VSM();
svm_problem problem = vsm.convertToVSM(categories map);


SVMScale svmScale = new SVMScale();
logger.info(“scale problems“);
problem = svmScale.scale(problem Constant.PREDICT_SCALE_ARGV);
logger.info(“end scale problems“);


Classifier t = new Classifier();
logger.info(“start predict ...“);
testPredict(t problem model);
}

}

/**
 * 
 * return void
 * 
 * @throws IOException
 * 
 */
private static void test() throws IOException {
// TODO Auto-generated method stub
Classifier t = new Classifier();

ArrayList categories = new TFIDF().process();
Selector selector = new FeatureSelector(categories);
HashMap> map = selector
.select(Constant.DEFAULT_NUMBER_OF_TOTAL_FE

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        867  2011-03-28 20:15  Classification.classpath

     文件        390  2011-03-19 20:59  Classification.project

     文件        246  2011-03-19 20:59  Classification.settings.svnall-wcprops

     文件        368  2011-03-28 20:15  Classification.settings.svnentries

     文件        629  2011-03-19 20:59  Classification.settings.svn ext-baseorg.eclipse.jdt.core.prefs.svn-base

     文件        629  2011-03-19 20:59  Classification.settingsorg.eclipse.jdt.core.prefs

     文件       1356  2011-03-28 20:15  Classification.svnall-wcprops

     文件       2130  2011-03-28 20:16  Classification.svnentries

     文件         53  2011-03-19 20:58  Classification.svnprop-baseICTCLAS.dll.svn-base

     文件         53  2011-03-19 20:58  Classification.svnprop-baseJama-1.0.2.jar.svn-base

     文件         53  2011-03-19 20:58  Classification.svnprop-baseJama-1.0.2.zip.svn-base

     文件         53  2011-03-19 20:58  Classification.svnprop-basekernel.jpg.svn-base

     文件         53  2011-03-19 20:58  Classification.svnprop-baselibsvm-3.0.zip.svn-base

     文件         53  2011-03-19 20:58  Classification.svnprop-baselibsvm.jar.svn-base

     文件         53  2011-03-19 20:59  Classification.svnprop-baselog4j-1.2.16.jar.svn-base

     文件         53  2011-03-20 23:38  Classification.svnprop-base语料库2.rar.svn-base

     文件        867  2011-03-28 20:14  Classification.svn ext-base.classpath.svn-base

     文件        390  2011-03-19 20:58  Classification.svn ext-base.project.svn-base

     文件      14160  2011-03-19 20:59  Classification.svn ext-baseheart_scale.model.svn-base

     文件     155648  2011-03-19 20:58  Classification.svn ext-baseICTCLAS.dll.svn-base

     文件      32775  2011-03-19 20:58  Classification.svn ext-baseJama-1.0.2.jar.svn-base

     文件     104915  2011-03-19 20:58  Classification.svn ext-baseJama-1.0.2.zip.svn-base

     文件      28000  2011-03-19 20:58  Classification.svn ext-basekernel.jpg.svn-base

     文件     519159  2011-03-19 20:58  Classification.svn ext-baselibsvm-3.0.zip.svn-base

     文件      49782  2011-03-19 20:58  Classification.svn ext-baselibsvm.jar.svn-base

     文件     481534  2011-03-19 20:59  Classification.svn ext-baselog4j-1.2.16.jar.svn-base

     文件    2678651  2011-03-20 23:38  Classification.svn ext-base语料库2.rar.svn-base

     文件     581999  2011-03-30 10:41  Classificationans7.txt

     文件       5901  2011-03-30 10:32  Classificationans8.txt

     文件       1285  2011-03-28 20:14  Classificationin.svnall-wcprops

............此处省略1358个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)