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;
}
Stability.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:codebuff
作者:
评论列表
文章目录