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:
EventModelSequenceTrainer
public class SimplePerceptronSequenceTrainer extends AbstractEventModelSequenceTrainer
Trains models for 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 Summary
Fields Modifier and Type Field Description static java.lang.String
PERCEPTRON_SEQUENCE_VALUE
-
Fields inherited from class opennlp.tools.ml.AbstractTrainer
ALGORITHM_PARAM, CUTOFF_DEFAULT, CUTOFF_PARAM, ITERATIONS_DEFAULT, ITERATIONS_PARAM, TRAINER_TYPE_PARAM, VERBOSE_DEFAULT, VERBOSE_PARAM
-
Fields inherited from interface opennlp.tools.ml.EventModelSequenceTrainer
SEQUENCE_VALUE
-
-
Constructor Summary
Constructors Constructor Description SimplePerceptronSequenceTrainer()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description AbstractModel
doTrain(SequenceStream events)
boolean
isValid()
Deprecated.void
nextIteration(int iteration)
AbstractModel
trainModel(int iterations, SequenceStream sequenceStream, int cutoff, boolean useAverage)
void
validate()
Check parameters.-
Methods inherited from class opennlp.tools.ml.AbstractEventModelSequenceTrainer
train
-
Methods inherited from class opennlp.tools.ml.AbstractTrainer
getAlgorithm, getCutoff, getIterations, init, init
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface opennlp.tools.ml.EventModelSequenceTrainer
init, init
-
-
-
-
Field Detail
-
PERCEPTRON_SEQUENCE_VALUE
public static final java.lang.String PERCEPTRON_SEQUENCE_VALUE
- See Also:
- Constant Field Values
-
-
Method Detail
-
validate
public void validate()
Description copied from class:AbstractTrainer
Check parameters. If subclass overrides this, it should call super.validate();- Overrides:
validate
in classAbstractTrainer
-
isValid
@Deprecated public boolean isValid()
Deprecated.- Overrides:
isValid
in classAbstractTrainer
- Returns:
-
doTrain
public AbstractModel doTrain(SequenceStream events) throws java.io.IOException
- Specified by:
doTrain
in classAbstractEventModelSequenceTrainer
- Throws:
java.io.IOException
-
trainModel
public AbstractModel trainModel(int iterations, SequenceStream sequenceStream, int cutoff, boolean useAverage) throws java.io.IOException
- Throws:
java.io.IOException
-
nextIteration
public void nextIteration(int iteration) throws java.io.IOException
- Throws:
java.io.IOException
-
-