zoukankan      html  css  js  c++  java
  • 团队个人冲刺day06

    今天实现训练集的预处理

    /**
    * 训练集管理器
    */

    public class TrainingDataManager
    {
    private String[] traningFileClassifications;//训练语料分类集合
    private File traningTextDir;//训练语料存放目录
    private static String defaultPath = "D:\TrainningSet";

    public TrainingDataManager()
    {
    traningTextDir = new File(defaultPath);
    if (!traningTextDir.isDirectory())
    {
    throw new IllegalArgumentException("训练语料库搜索失败! [" +defaultPath + "]");
    }
    this.traningFileClassifications = traningTextDir.list();
    }
    /**
    * 返回训练文本类别,这个类别就是目录名
    * @return 训练文本类别
    */
    public String[] getTraningClassifications()
    {
    return this.traningFileClassifications;
    }
    /**
    * 根据训练文本类别返回这个类别下的所有训练文本路径(full path)
    * @param classification 给定的分类
    * @return 给定分类下所有文件的路径(full path)
    */
    public String[] getFilesPath(String classification)
    {
    File classDir = new File(traningTextDir.getPath() +File.separator +classification);
    String[] ret = classDir.list();
    for (int i = 0; i < ret.length; i++)
    {
    ret[i] = traningTextDir.getPath() +File.separator +classification +File.separator +ret[i];
    }
    return ret;
    }

    /**
    * 返回给定路径的文本文件内容
    * @param filePath 给定的文本文件路径
    * @return 文本内容
    * @throws java.io.FileNotFoundException
    * @throws java.io.IOException
    */
    public static String getText(String filePath) throws FileNotFoundException,IOException
    {

    InputStreamReader isReader =new InputStreamReader(new FileInputStream(filePath),"GBK");
    BufferedReader reader = new BufferedReader(isReader);
    String aline;
    StringBuilder sb = new StringBuilder();

    while ((aline = reader.readLine()) != null)
    {
    sb.append(aline + " ");
    }
    isReader.close();
    reader.close();
    return sb.toString();
    }

    /**
    * 返回训练文本集中所有的文本数目
    * @return 训练文本集中所有的文本数目
    */
    public int getTrainingFileCount()
    {
    int ret = 0;
    for (int i = 0; i < traningFileClassifications.length; i++)
    {
    ret +=getTrainingFileCountOfClassification(traningFileClassifications[i]);
    }
    return ret;
    }

    /**
    * 返回训练文本集中在给定分类下的训练文本数目
    * @param classification 给定的分类
    * @return 训练文本集中在给定分类下的训练文本数目
    */
    public int getTrainingFileCountOfClassification(String classification)
    {
    File classDir = new File(traningTextDir.getPath() +File.separator +classification);
    return classDir.list().length;
    }

    /**
    * 返回给定分类中包含关键字/词的训练文本的数目
    * @param classification 给定的分类
    * @param key 给定的关键字/词
    * @return 给定分类中包含关键字/词的训练文本的数目
    */
    public int getCountContainKeyOfClassification(String classification,String key)
    {
    int ret = 0;
    try
    {
    String[] filePath = getFilesPath(classification);
    for (int j = 0; j < filePath.length; j++)
    {
    String text = getText(filePath[j]);
    if (text.contains(key))
    {
    ret++;
    }
    }
    }
    catch (FileNotFoundException ex)
    {
    Logger.getLogger(TrainingDataManager.class.getName()).log(Level.SEVERE, null,ex);

    }
    catch (IOException ex)
    {
    Logger.getLogger(TrainingDataManager.class.getName()).log(Level.SEVERE, null,ex);

    }
    return ret;
    }
    }

  • 相关阅读:
    log4j学习总结
    MAVEN工程生成可执行的jar包
    从svn上下载maven项目import cannot resolved
    junit4使用说明
    uml中箭头的意思
    maven命令
    mavenSvn
    ASP.NET MVC学习笔记:(二)return View(...)
    WPF学习笔记:(一)数据绑定与DataContext
    WCF学习笔记(五):svc、config和code文件之间的关系
  • 原文地址:https://www.cnblogs.com/lxywsx/p/14910114.html
Copyright © 2011-2022 走看看