import edu.cmu.minorthird.classify.*;
import edu.cmu.minorthird.classify.sequential.*;
import edu.cmu.minorthird.classify.algorithms.linear.*;
import edu.cmu.minorthird.text.learn.*;
import edu.cmu.minorthird.ui.Recommended;


public class SampleLearner extends SequenceAnnotatorLearner
{
    public SampleLearner(int epochs)
    {
	super(new CollinsPerceptronLearner(), // place holder
	      new Recommended.TokenFE(),  
	      new InsideOutsideReduction());
	// Vitor's voted balanced winnow learner, 
	// iterated 5x over the data
	ClassifierLearner vitorWinnow = 
	    new BatchVersion(new BalancedWinnow(1.5,0.5,true), 
			     epochs);
	// convert this to a sequential learner which ignores
	// history, so I can use it for extraction
	BatchSequenceClassifierLearner seqLearner = 
	    new CMMLearner( vitorWinnow, 0 );

	setSequenceClassifierLearner( seqLearner );
    }
}
