Esempio n. 1
0
  public static void main(String[] args) {

    long startTime = System.currentTimeMillis();
    MatchingEngine obj = new MatchingEngine();
    obj.run();
    obj.write("fill_final.txt");
    System.out.println("Run Time: " + (System.currentTimeMillis() - startTime) + "ms ");
  }
  public void testRunMatching()
      throws XPathExpressionException, ParserConfigurationException, SAXException, IOException {
    DataSet<Movie> ds = new DataSet<>();
    File sourceFile1 = new File("usecase/movie/input/actors.xml");
    ds.loadFromXML(sourceFile1, new MovieFactory(), "/movies/movie");

    DataSet<Movie> ds2 = new DataSet<>();
    File sourceFile2 = new File("usecase/movie/input/academy_awards.xml");
    ds2.loadFromXML(sourceFile2, new MovieFactory(), "/movies/movie");

    LinearCombinationMatchingRule<Movie> rule = new LinearCombinationMatchingRule<>(0, 0);
    rule.addComparator(new MovieTitleComparator(), 0.5);
    rule.addComparator(new MovieDirectorComparatorLevenshtein(), 0.25);
    rule.addComparator(new MovieDateComparator(), 0.25);

    Blocker<Movie> blocker = new CrossProductBlocker<>();
    MatchingEngine<Movie> engine = new MatchingEngine<>(rule, blocker);

    engine.runMatching(ds, ds2);
  }
  public void testGenerateFeaturesForOptimisation()
      throws XPathExpressionException, ParserConfigurationException, SAXException, IOException {
    DataSet<Movie> ds = new DataSet<>();
    File sourceFile1 = new File("usecase/movie/input/actors.xml");
    ds.loadFromXML(sourceFile1, new MovieFactory(), "/movies/movie");

    DataSet<Movie> ds2 = new DataSet<>();
    File sourceFile2 = new File("usecase/movie/input/academy_awards.xml");
    ds2.loadFromXML(sourceFile2, new MovieFactory(), "/movies/movie");

    LinearCombinationMatchingRule<Movie> rule = new LinearCombinationMatchingRule<>(0, 0);
    rule.addComparator(new MovieTitleComparator(), 0.5);
    rule.addComparator(new MovieDirectorComparatorLevenshtein(), 0.25);
    rule.addComparator(new MovieDateComparator(), 0.25);

    Blocker<Movie> blocker = new CrossProductBlocker<>();
    MatchingEngine<Movie> engine = new MatchingEngine<>(rule, blocker);

    GoldStandard gs = new GoldStandard();
    gs.loadFromCSVFile(new File("usecase/movie/goldstandard/gs_academy_awards_2_actors.csv"));

    engine.generateTrainingDataForLearning(ds, ds2, gs);
  }