cc.mallet.fst
Class TransducerTrainer

java.lang.Object
  extended by cc.mallet.fst.TransducerTrainer
Direct Known Subclasses:
CRFTrainerByEntropyRegularization, CRFTrainerByGE, CRFTrainerByLabelLikelihood, CRFTrainerByLikelihoodAndGE, CRFTrainerByPR, CRFTrainerByThreadedLabelLikelihood, CRFTrainerByValueGradients, HMMTrainerByLikelihood, MEMMTrainer, NoopTransducerTrainer, ShallowTransducerTrainer, TransducerTrainer.ByIncrements

public abstract class TransducerTrainer
extends java.lang.Object

An abstract class to train and evaluate a transducer model.


Nested Class Summary
static class TransducerTrainer.ByIncrements
           
static class TransducerTrainer.ByInstanceIncrements
           
static interface TransducerTrainer.ByOptimization
           
 
Constructor Summary
TransducerTrainer()
           
 
Method Summary
 TransducerTrainer addEvaluator(TransducerEvaluator te)
           
 TransducerTrainer addEvaluators(java.util.Collection<TransducerEvaluator> tes)
           
abstract  int getIteration()
           
abstract  Transducer getTransducer()
           
abstract  boolean isFinishedTraining()
           
 TransducerTrainer removeEvaluator(TransducerEvaluator te)
           
protected  void runEvaluators()
          This method should be called by subclasses whenever evaluators should be run.
 boolean train(InstanceList trainingSet)
           
abstract  boolean train(InstanceList trainingSet, int numIterations)
          Train the transducer associated with this TransducerTrainer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransducerTrainer

public TransducerTrainer()
Method Detail

getTransducer

public abstract Transducer getTransducer()

getIteration

public abstract int getIteration()

isFinishedTraining

public abstract boolean isFinishedTraining()

train

public boolean train(InstanceList trainingSet)

train

public abstract boolean train(InstanceList trainingSet,
                              int numIterations)
Train the transducer associated with this TransducerTrainer. You should be able to call this method with different trainingSet objects. Whether this causes the TransducerTrainer to combine both trainingSets or to view the second as a new alternative is at the discretion of the particular TransducerTrainer subclass involved.


addEvaluator

public TransducerTrainer addEvaluator(TransducerEvaluator te)

addEvaluators

public TransducerTrainer addEvaluators(java.util.Collection<TransducerEvaluator> tes)

removeEvaluator

public TransducerTrainer removeEvaluator(TransducerEvaluator te)

runEvaluators

protected void runEvaluators()
This method should be called by subclasses whenever evaluators should be run. Do not worry too much about them being run too often, because the evaluators themselves can control/limit when they actually do their work with TransducerEvaluator.precondition().