package doser.entitydisambiguation.algorithms.collective.dbpedia;
import java.util.LinkedList;
import java.util.List;
import doser.entitydisambiguation.algorithms.SurfaceForm;
import doser.entitydisambiguation.algorithms.collective.CandidateReduction;
import doser.entitydisambiguation.knowledgebases.EntityCentricKBDBpedia;
public class CandidateReductionDBpediaW2V extends CandidateReduction {
private int iterations;
private boolean disambiguate;
private EntityCentricKBDBpedia eckb;
private int reduceTo;
CandidateReductionDBpediaW2V(EntityCentricKBDBpedia eckb, List<SurfaceForm> rep, int maxsurfaceformsperquery,
int reduceTo, int iterations, boolean disambiguate, boolean alwaysAction) {
super(rep, maxsurfaceformsperquery, alwaysAction);
this.iterations = iterations;
this.disambiguate = disambiguate;
this.eckb = eckb;
this.reduceTo = reduceTo;
}
@Override
public List<SurfaceForm> miniSolve(List<SurfaceForm> rep) {
List<SurfaceForm> sol = new LinkedList<SurfaceForm>();
Word2VecDisambiguator disambiguator = new Word2VecDisambiguator(eckb, rep, disambiguate, reduceTo, iterations);
disambiguator.setup();
disambiguator.solve();
sol.addAll(disambiguator.getRepresentation());
return sol;
}
}