// Copyright 2015 Thomas Müller
// This file is part of MarMoT, which is licensed under GPLv3.
package marmot.util.edit;
import java.util.List;
import java.util.Random;
import lemming.lemma.LemmaInstance;
import marmot.util.Counter;
public class EditTreeBuilderTrainer {
private Random random_;
private int num_iterations_;
private int max_depth_;
public EditTreeBuilderTrainer(Random random, int num_iterations, int max_depth) {
random_ = random;
num_iterations_ = num_iterations;
max_depth_ = max_depth;
}
public EditTreeBuilder train(List<LemmaInstance> instances) {
EditTreeBuilder builder = new EditTreeBuilder(random_, max_depth_);
for (int iter = 0; iter < num_iterations_; iter++) {
Counter<String> counter = new Counter<>();
for (LemmaInstance instance : instances) {
EditTree tree = builder.build(instance.getForm(),
instance.getLemma());
tree.increment(counter);
}
builder.setCounter(counter);
}
return builder;
}
}