Package opennlp.tools.ml.perceptron
Class SimplePerceptronSequenceTrainer
java.lang.Object
opennlp.tools.ml.AbstractTrainer
opennlp.tools.ml.AbstractEventModelSequenceTrainer
opennlp.tools.ml.perceptron.SimplePerceptronSequenceTrainer
- All Implemented Interfaces:
- Trainer,- EventModelSequenceTrainer<Event>
Trains 
models with sequences using the perceptron algorithm.
 Each outcome is represented as a binary perceptron classifier. This supports standard (integer) weighting as well average weighting.
Sequence information is used in a simplified was to that described in: Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with the Perceptron Algorithm. Michael Collins, EMNLP 2002.
Specifically only updates are applied to tokens which were incorrectly tagged by a sequence tagger rather than to all feature across the sequence which differ from the training sequence.
- 
Field SummaryFieldsFields inherited from interface opennlp.tools.ml.EventModelSequenceTrainerSEQUENCE_VALUE
- 
Constructor SummaryConstructorsConstructorDescriptionInstantiates aSimplePerceptronSequenceTrainerwith a default configuration of training parameters.
- 
Method SummaryModifier and TypeMethodDescriptiondoTrain(SequenceStream<Event> events) voidnextIteration(int iteration) trainModel(int iterations, SequenceStream<Event> sequenceStream, int cutoff, boolean useAverage) Trains aPerceptronModelwith given parameters.voidvalidate()Checks the configuredparameters.Methods inherited from class opennlp.tools.ml.AbstractEventModelSequenceTrainertrainMethods inherited from class opennlp.tools.ml.AbstractTrainergetAlgorithm, getCutoff, getIterations, init
- 
Field Details- 
PERCEPTRON_SEQUENCE_VALUE- See Also:
 
 
- 
- 
Constructor Details- 
SimplePerceptronSequenceTrainerpublic SimplePerceptronSequenceTrainer()Instantiates aSimplePerceptronSequenceTrainerwith a default configuration of training parameters.
 
- 
- 
Method Details- 
validatepublic void validate()Checks the configuredparameters. If a subclass overrides this, it should callsuper.validate();.- Overrides:
- validatein class- AbstractTrainer
- Throws:
- IllegalArgumentException- Thrown if the algorithm name is not equal to {- PERCEPTRON_SEQUENCE_VALUE}.
 
- 
doTrain- Specified by:
- doTrainin class- AbstractEventModelSequenceTrainer
- Throws:
- IOException
 
- 
trainModelpublic AbstractModel trainModel(int iterations, SequenceStream<Event> sequenceStream, int cutoff, boolean useAverage) throws IOException Trains aPerceptronModelwith given parameters.- Parameters:
- iterations- The number of iterations to use for training.
- sequenceStream- The- SequenceStream<Event>used as data input.
- cutoff- The {- TrainingParameters.CUTOFF_PARAM} value to use for training.
- useAverage- Whether to use 'averaging', or not.
- Returns:
- A valid, trained perceptron model.
- Throws:
- IOException
 
- 
nextIteration- Throws:
- IOException
 
 
-