Stability.java 文件源码

java
阅读 18 收藏 0 点赞 0 评论 0

项目:codebuff 作者:
public static List<Float> checkStability(LangDescriptor language) throws Exception {
    List<Float> errorRates = new ArrayList<>();

    // format the corpus into tmp dir
    LeaveOneOutValidator validator0 = new LeaveOneOutValidator(language.corpusDir, language);
    Triple<List<Formatter>, List<Float>, List<Float>> results0 = validator0.validateDocuments(false, "/tmp/stability/1");
    errorRates.add( BuffUtils.median(results0.c) );

    List<Formatter> formatters0 = results0.a;
    // now try formatting it over and over
    for (int i = 1; i<=STAGES; i++) {
        String inputDir  = "/tmp/stability/"+i;
        String outputDir = "/tmp/stability/"+(i+1);
        LeaveOneOutValidator validator = new LeaveOneOutValidator(inputDir, language);
        Triple<List<Formatter>, List<Float>, List<Float>> results =
            validator.validateDocuments(false, outputDir);
        List<Formatter> formatters = results.a;
        List<Float> distances = new ArrayList<>();
        for (int j = 0; j<formatters.size(); j++) {
            Formatter f0 = formatters0.get(j);
            Formatter f = formatters.get(j);
            float editDistance = normalizedLevenshteinDistance(f.getOutput(), f0.getOutput());
            distances.add(editDistance);
        }
        errorRates.add( BuffUtils.median(distances) );
    }

    return errorRates;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号