Mercurial > hg > anteater
diff src/de/mpiwg/anteater/results/impl/ApplicantResultFinder.java @ 0:036535fcd179
anteater
author | jdamerow |
---|---|
date | Fri, 14 Sep 2012 10:30:43 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/de/mpiwg/anteater/results/impl/ApplicantResultFinder.java Fri Sep 14 10:30:43 2012 +0200 @@ -0,0 +1,37 @@ +package de.mpiwg.anteater.results.impl; + +import java.util.List; + +import de.mpiwg.anteater.AnteaterConfiguration; +import de.mpiwg.anteater.ml.MLController; +import de.mpiwg.anteater.persons.regex.ApplicantRegexFinder; +import de.mpiwg.anteater.results.ApplicantResult; +import de.mpiwg.anteater.results.IResultFinder; +import de.mpiwg.anteater.text.TextInformation; + +public class ApplicantResultFinder implements IResultFinder<ApplicantResult> { + + private AnteaterConfiguration configuration; + + public ApplicantResultFinder(AnteaterConfiguration configuration) { + this.configuration = configuration; + } + + public List<ApplicantResult> getResults(List<TextInformation> infos) { + MLController mlController = new MLController(configuration); + ApplicantRegexFinder regexFinder = new ApplicantRegexFinder(configuration); + + List<ApplicantResult> mlApplicants = mlController.runApplicantMLComponent(infos); + List<ApplicantResult> regexApplicants = regexFinder.findApplicants(infos); + + MLApplicantLoop: for (ApplicantResult mlResult : mlApplicants) { + for (ApplicantResult regexResult : regexApplicants) { + if (regexResult.getFinding() == mlResult.getFinding()) + continue MLApplicantLoop; + } + regexApplicants.add(mlResult); + } + + return regexApplicants; + } +}