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
-
Fields inherited from interface opennlp.tools.ml.EventModelSequenceTrainer
SEQUENCE_VALUE
-
-
Constructor Summary
Constructors Constructor Description SimplePerceptronSequenceTrainer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractModel
doTrain(SequenceStream events)
boolean
isValid()
void
nextIteration(int iteration)
AbstractModel
trainModel(int iterations, SequenceStream sequenceStream, int cutoff, boolean useAverage)
-
Methods inherited from class opennlp.tools.ml.AbstractEventModelSequenceTrainer
train
-
Methods inherited from class opennlp.tools.ml.AbstractTrainer
getAlgorithm, getCutoff, getIterations, 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
-
-
-
-
Field Detail
-
PERCEPTRON_SEQUENCE_VALUE
public static final java.lang.String PERCEPTRON_SEQUENCE_VALUE
- See Also:
- Constant Field Values
-
-
Method Detail
-
isValid
public boolean isValid()
- Overrides:
isValid
in classAbstractTrainer
-
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
-
-