view 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 source

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;
	}
}