public static void main(String[] args) throws AnalysisException, IOException, TransformationException { SegmentationEvaluator evaluator = new SegmentationEvaluator(); evaluator.ignoredLabels.add(BxZoneLabel.BODY_TABLE); evaluator.ignoredLabels.add(BxZoneLabel.BODY_FIGURE); evaluator.ignoredLabels.add(BxZoneLabel.BODY_EQUATION); File file = new File(args[0]); Collection<File> files = FileUtils.listFiles(file, new String[] {"xml"}, true); Results results = evaluator.newResults(); int i = 0; double zoneScores = 0; double lineScores = 0; double wordScores = 0; BxDocument origDoc; BxDocument testDoc; FileReader reader; for (File filee : files) { System.out.println(new Date(System.currentTimeMillis())); System.out.println(filee.getName()); reader = new FileReader(filee); origDoc = evaluator.prepareExpectedDocument(evaluator.readDocument(reader)); testDoc = evaluator.prepareActualDocument(origDoc); Results docRes = evaluator.compareDocuments(origDoc, testDoc); results.add(docRes); zoneScores += results.zoneLevel.getScore(); lineScores += results.lineLevel.getScore(); wordScores += results.wordLevel.getScore(); System.out.println(++i); } zoneScores /= i; lineScores /= i; wordScores /= i; System.out.println("Documents: " + i); System.out.println("Average zone score: " + zoneScores); System.out.println("Average line score: " + lineScores); System.out.println("Average word score: " + wordScores); results.printSummary(); }