Ejemplo n.º 1
0
  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();
  }