Repository: opennlp Updated Branches: refs/heads/trunk 89be1eec8 -> 9f0d4794b
Refactor usage of deprecated training API See issue OPENNLP-874 Project: http://git-wip-us.apache.org/repos/asf/opennlp/repo Commit: http://git-wip-us.apache.org/repos/asf/opennlp/commit/9f0d4794 Tree: http://git-wip-us.apache.org/repos/asf/opennlp/tree/9f0d4794 Diff: http://git-wip-us.apache.org/repos/asf/opennlp/diff/9f0d4794 Branch: refs/heads/trunk Commit: 9f0d4794b9c39f5229c90d2ec33b8f31d2a0e4ba Parents: 89be1ee Author: Jörn Kottmann <[email protected]> Authored: Mon Oct 31 19:21:40 2016 +0100 Committer: Jörn Kottmann <[email protected]> Committed: Mon Oct 31 19:21:40 2016 +0100 ---------------------------------------------------------------------- .../java/opennlp/tools/chunker/ChunkerME.java | 10 ++++++---- .../java/opennlp/tools/cmdline/CmdLineUtil.java | 4 +++- .../tools/doccat/DocumentCategorizerME.java | 19 ++++++++++++------- .../opennlp/tools/parser/chunking/Parser.java | 9 ++++++--- .../opennlp/tools/parser/treeinsert/Parser.java | 14 ++++++++++---- .../tools/sentdetect/SentenceDetectorME.java | 8 +++++--- .../java/opennlp/tools/tokenize/TokenizerME.java | 13 +++++++++---- .../tools/ml/maxent/MaxentPrepAttachTest.java | 10 ++++++---- .../ml/naivebayes/NaiveBayesPrepAttachTest.java | 10 ++++++---- .../ml/perceptron/PerceptronPrepAttachTest.java | 12 ++++++++---- .../main/java/opennlp/uima/util/OpennlpUtil.java | 3 ++- 11 files changed, 73 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerME.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerME.java b/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerME.java index 2a5fbc3..11d1c3b 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerME.java +++ b/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerME.java @@ -30,7 +30,6 @@ import opennlp.tools.ml.TrainerFactory.TrainerType; import opennlp.tools.ml.model.Event; import opennlp.tools.ml.model.MaxentModel; import opennlp.tools.ml.model.SequenceClassificationModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.util.ObjectStream; import opennlp.tools.util.Sequence; import opennlp.tools.util.SequenceValidator; @@ -192,7 +191,7 @@ public class ChunkerME implements Chunker { return bestSequence.getProbs(); } - public static ChunkerModel train(String lang, ObjectStream<ChunkSample> in, + public static ChunkerModel train(String lang, ObjectStream<ChunkSample> in, TrainingParameters mlParams, ChunkerFactory factory) throws IOException { String beamSizeString = mlParams.getSettings().get(BeamSearch.BEAM_SIZE_PARAMETER); @@ -239,7 +238,7 @@ public class ChunkerME implements Chunker { /** * @deprecated Use - * {@link train(String, ObjectStream, TrainingParameters, ChunkerFactory)} + * {@link ChunkerME#train(String, ObjectStream, TrainingParameters, ChunkerFactory)} * instead. */ public static ChunkerModel train(String lang, ObjectStream<ChunkSample> in, @@ -250,7 +249,10 @@ public class ChunkerME implements Chunker { ObjectStream<Event> es = new ChunkerEventStream(in, contextGenerator); - MaxentModel maxentModel = TrainUtil.train(es, mlParams.getSettings(), manifestInfoEntries); + EventTrainer trainer = TrainerFactory.getEventTrainer( + mlParams.getSettings(), manifestInfoEntries); + + MaxentModel maxentModel = trainer.train(es); return new ChunkerModel(lang, maxentModel, manifestInfoEntries); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java b/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java index 64881ff..9587c6b 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java +++ b/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java @@ -326,7 +326,9 @@ public final class CmdLineUtil { throw new TerminateToolException(1, "Training parameters file '" + paramFile + "' is invalid!"); } - if (!supportSequenceTraining && TrainerFactory.isSupportEventModelSequenceTraining(params.getSettings())) { + TrainerFactory.TrainerType trainerType = TrainerFactory.getTrainerType(params.getSettings()); + + if (!supportSequenceTraining && trainerType.equals(TrainerFactory.TrainerType.EVENT_MODEL_SEQUENCE_TRAINER)) { throw new TerminateToolException(1, "Sequence training is not supported!"); } } http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java b/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java index b1b9e6e..6ba4e08 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java +++ b/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java @@ -26,8 +26,9 @@ import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; +import opennlp.tools.ml.EventTrainer; +import opennlp.tools.ml.TrainerFactory; import opennlp.tools.ml.model.MaxentModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.tokenize.SimpleTokenizer; import opennlp.tools.tokenize.Tokenizer; import opennlp.tools.util.ObjectStream; @@ -190,9 +191,11 @@ public class DocumentCategorizerME implements DocumentCategorizer { Map<String, String> manifestInfoEntries = new HashMap<String, String>(); - MaxentModel model = TrainUtil.train( - new DocumentCategorizerEventStream(samples, featureGenerators), - mlParams.getSettings(), manifestInfoEntries); + EventTrainer trainer = TrainerFactory.getEventTrainer( + mlParams.getSettings(), manifestInfoEntries); + + MaxentModel model = trainer.train( + new DocumentCategorizerEventStream(samples, featureGenerators)); return new DoccatModel(languageCode, model, manifestInfoEntries); } @@ -203,9 +206,11 @@ public class DocumentCategorizerME implements DocumentCategorizer { Map<String, String> manifestInfoEntries = new HashMap<String, String>(); - MaxentModel model = TrainUtil.train( - new DocumentCategorizerEventStream(samples, factory.getFeatureGenerators()), - mlParams.getSettings(), manifestInfoEntries); + EventTrainer trainer = TrainerFactory.getEventTrainer( + mlParams.getSettings(), manifestInfoEntries); + + MaxentModel model = trainer.train( + new DocumentCategorizerEventStream(samples, factory.getFeatureGenerators())); return new DoccatModel(languageCode, model, manifestInfoEntries, factory); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/Parser.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/Parser.java b/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/Parser.java index 159382f..044477b 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/Parser.java +++ b/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/Parser.java @@ -29,10 +29,11 @@ import opennlp.tools.chunker.ChunkerME; import opennlp.tools.chunker.ChunkerModel; import opennlp.tools.dictionary.Dictionary; import opennlp.tools.ml.BeamSearch; +import opennlp.tools.ml.EventTrainer; +import opennlp.tools.ml.TrainerFactory; import opennlp.tools.ml.model.AbstractModel; import opennlp.tools.ml.model.Event; import opennlp.tools.ml.model.MaxentModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.ml.model.TwoPassDataIndexer; import opennlp.tools.parser.AbstractBottomUpParser; import opennlp.tools.parser.ChunkSampleStream; @@ -279,7 +280,8 @@ public class Parser extends AbstractBottomUpParser { System.err.println("Training builder"); ObjectStream<Event> bes = new ParserEventStream(parseSamples, rules, ParserEventTypeEnum.BUILD, mdict); Map<String, String> buildReportMap = new HashMap<String, String>(); - MaxentModel buildModel = TrainUtil.train(bes, mlParams.getSettings("build"), buildReportMap); + EventTrainer buildTrainer = TrainerFactory.getEventTrainer(mlParams.getSettings("build"), buildReportMap); + MaxentModel buildModel = buildTrainer.train(bes); mergeReportIntoManifest(manifestInfoEntries, buildReportMap, "build"); parseSamples.reset(); @@ -307,7 +309,8 @@ public class Parser extends AbstractBottomUpParser { System.err.println("Training checker"); ObjectStream<Event> kes = new ParserEventStream(parseSamples, rules, ParserEventTypeEnum.CHECK); Map<String, String> checkReportMap = new HashMap<String, String>(); - MaxentModel checkModel = TrainUtil.train(kes, mlParams.getSettings("check"), checkReportMap); + EventTrainer checkTrainer = TrainerFactory.getEventTrainer( mlParams.getSettings("check"), checkReportMap); + MaxentModel checkModel = checkTrainer.train(kes); mergeReportIntoManifest(manifestInfoEntries, checkReportMap, "check"); // TODO: Remove cast for HeadRules http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/Parser.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/Parser.java b/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/Parser.java index 53a4e5f..c1e54ca 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/Parser.java +++ b/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/Parser.java @@ -29,10 +29,11 @@ import opennlp.tools.chunker.Chunker; import opennlp.tools.chunker.ChunkerME; import opennlp.tools.chunker.ChunkerModel; import opennlp.tools.dictionary.Dictionary; +import opennlp.tools.ml.EventTrainer; +import opennlp.tools.ml.TrainerFactory; import opennlp.tools.ml.model.AbstractModel; import opennlp.tools.ml.model.Event; import opennlp.tools.ml.model.MaxentModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.ml.model.TwoPassDataIndexer; import opennlp.tools.parser.AbstractBottomUpParser; import opennlp.tools.parser.ChunkSampleStream; @@ -457,7 +458,9 @@ public class Parser extends AbstractBottomUpParser { ObjectStream<Event> bes = new ParserEventStream(parseSamples, rules, ParserEventTypeEnum.BUILD, mdict); Map<String, String> buildReportMap = new HashMap<String, String>(); - MaxentModel buildModel = TrainUtil.train(bes, mlParams.getSettings("build"), buildReportMap); + + EventTrainer buildTrainer = TrainerFactory.getEventTrainer(mlParams.getSettings("build"), buildReportMap); + MaxentModel buildModel = buildTrainer.train(bes); opennlp.tools.parser.chunking.Parser.mergeReportIntoManifest(manifestInfoEntries, buildReportMap, "build"); parseSamples.reset(); @@ -467,7 +470,9 @@ public class Parser extends AbstractBottomUpParser { ObjectStream<Event> kes = new ParserEventStream(parseSamples, rules, ParserEventTypeEnum.CHECK); Map<String, String> checkReportMap = new HashMap<String, String>(); - MaxentModel checkModel = TrainUtil.train(kes, mlParams.getSettings("check"), checkReportMap); + + EventTrainer checkTrainer = TrainerFactory.getEventTrainer(mlParams.getSettings("check"), checkReportMap); + MaxentModel checkModel = checkTrainer.train(kes); opennlp.tools.parser.chunking.Parser.mergeReportIntoManifest(manifestInfoEntries, checkReportMap, "check"); parseSamples.reset(); @@ -477,7 +482,8 @@ public class Parser extends AbstractBottomUpParser { ObjectStream<Event> attachEvents = new ParserEventStream(parseSamples, rules, ParserEventTypeEnum.ATTACH); Map<String, String> attachReportMap = new HashMap<String, String>(); - MaxentModel attachModel = TrainUtil.train(attachEvents, mlParams.getSettings("attach"), attachReportMap); + EventTrainer attachTrainer = TrainerFactory.getEventTrainer(mlParams.getSettings("attach"), attachReportMap); + MaxentModel attachModel = attachTrainer.train(attachEvents); opennlp.tools.parser.chunking.Parser.mergeReportIntoManifest(manifestInfoEntries, attachReportMap, "attach"); // TODO: Remove cast for HeadRules http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java b/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java index ccfba4c..fce4e52 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java +++ b/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java @@ -27,9 +27,10 @@ import java.util.Map; import java.util.Set; import opennlp.tools.dictionary.Dictionary; +import opennlp.tools.ml.EventTrainer; +import opennlp.tools.ml.TrainerFactory; import opennlp.tools.ml.model.Event; import opennlp.tools.ml.model.MaxentModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.sentdetect.lang.Factory; import opennlp.tools.util.ObjectStream; import opennlp.tools.util.Span; @@ -323,8 +324,9 @@ public class SentenceDetectorME implements SentenceDetector { ObjectStream<Event> eventStream = new SDEventStream(samples, sdFactory.getSDContextGenerator(), sdFactory.getEndOfSentenceScanner()); - MaxentModel sentModel = TrainUtil.train(eventStream, - mlParams.getSettings(), manifestInfoEntries); + EventTrainer trainer = TrainerFactory.getEventTrainer(mlParams.getSettings(), manifestInfoEntries); + + MaxentModel sentModel = trainer.train(eventStream); return new SentenceModel(languageCode, sentModel, manifestInfoEntries, sdFactory); http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerME.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerME.java b/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerME.java index 5219182..3d03943 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerME.java +++ b/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerME.java @@ -28,9 +28,10 @@ import java.util.Set; import java.util.regex.Pattern; import opennlp.tools.dictionary.Dictionary; +import opennlp.tools.ml.EventTrainer; +import opennlp.tools.ml.TrainerFactory; import opennlp.tools.ml.model.Event; import opennlp.tools.ml.model.MaxentModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.tokenize.lang.Factory; import opennlp.tools.util.ObjectStream; import opennlp.tools.util.Span; @@ -246,9 +247,11 @@ public class TokenizerME extends AbstractTokenizer { factory.isUseAlphaNumericOptmization(), factory.getAlphaNumericPattern(), factory.getContextGenerator()); - MaxentModel maxentModel = TrainUtil.train(eventStream, + EventTrainer trainer = TrainerFactory.getEventTrainer( mlParams.getSettings(), manifestInfoEntries); + MaxentModel maxentModel = trainer.train(eventStream); + return new TokenizerModel(maxentModel, manifestInfoEntries, factory); } @@ -309,8 +312,10 @@ public class TokenizerME extends AbstractTokenizer { factory.createTokenContextGenerator(languageCode, getAbbreviations(abbreviations))); - MaxentModel maxentModel = TrainUtil.train(eventStream, - mlParams.getSettings(), manifestInfoEntries); + EventTrainer trainer = TrainerFactory.getEventTrainer( + mlParams.getSettings(), manifestInfoEntries); + + MaxentModel maxentModel = trainer.train(eventStream); return new TokenizerModel(languageCode, maxentModel, abbreviations, useAlphaNumericOptimization, manifestInfoEntries); http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/MaxentPrepAttachTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/MaxentPrepAttachTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/MaxentPrepAttachTest.java index d7925a0..a969ede 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/MaxentPrepAttachTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/MaxentPrepAttachTest.java @@ -26,9 +26,10 @@ import java.util.Map; import opennlp.tools.ml.AbstractEventTrainer; import opennlp.tools.ml.AbstractTrainer; +import opennlp.tools.ml.EventTrainer; +import opennlp.tools.ml.TrainerFactory; import opennlp.tools.ml.model.AbstractModel; import opennlp.tools.ml.model.MaxentModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.ml.model.TwoPassDataIndexer; import opennlp.tools.ml.model.UniformPrior; @@ -64,7 +65,8 @@ public class MaxentPrepAttachTest { AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE); trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - MaxentModel model = TrainUtil.train(createTrainingStream(), trainParams, null); + EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); + MaxentModel model = trainer.train(createTrainingStream()); testModel(model, 0.7997028967566229); } @@ -75,9 +77,9 @@ public class MaxentPrepAttachTest { Map<String, String> trainParams = new HashMap<String, String>(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, GIS.MAXENT_VALUE); - MaxentModel model = TrainUtil.train(createTrainingStream(), trainParams, null); + EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); + MaxentModel model = trainer.train(createTrainingStream()); testModel(model, 0.8086159940579352 ); } - } http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesPrepAttachTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesPrepAttachTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesPrepAttachTest.java index dd41a20..ef586ec 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesPrepAttachTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesPrepAttachTest.java @@ -26,8 +26,9 @@ import java.util.HashMap; import java.util.Map; import opennlp.tools.ml.AbstractTrainer; +import opennlp.tools.ml.EventTrainer; +import opennlp.tools.ml.TrainerFactory; import opennlp.tools.ml.model.MaxentModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.ml.model.TwoPassDataIndexer; import org.junit.Test; @@ -54,7 +55,8 @@ public class NaiveBayesPrepAttachTest { trainParams.put(AbstractTrainer.ALGORITHM_PARAM, NaiveBayesTrainer.NAIVE_BAYES_VALUE); trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - MaxentModel model = TrainUtil.train(createTrainingStream(), trainParams, null); + EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); + MaxentModel model = trainer.train(createTrainingStream()); assertTrue(model instanceof NaiveBayesModel); @@ -68,11 +70,11 @@ public class NaiveBayesPrepAttachTest { trainParams.put(AbstractTrainer.ALGORITHM_PARAM, NaiveBayesTrainer.NAIVE_BAYES_VALUE); trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(5)); - MaxentModel model = TrainUtil.train(createTrainingStream(), trainParams, null); + EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); + MaxentModel model = trainer.train(createTrainingStream()); assertTrue(model instanceof NaiveBayesModel); testModel(model, 0.7945035899975241); } - } http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-tools/src/test/java/opennlp/tools/ml/perceptron/PerceptronPrepAttachTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/perceptron/PerceptronPrepAttachTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/perceptron/PerceptronPrepAttachTest.java index 5015aa7..c21b7d9 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/perceptron/PerceptronPrepAttachTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/perceptron/PerceptronPrepAttachTest.java @@ -25,8 +25,9 @@ import java.util.HashMap; import java.util.Map; import opennlp.tools.ml.AbstractTrainer; +import opennlp.tools.ml.EventTrainer; +import opennlp.tools.ml.TrainerFactory; import opennlp.tools.ml.model.MaxentModel; -import opennlp.tools.ml.model.TrainUtil; import opennlp.tools.ml.model.TwoPassDataIndexer; import org.junit.Test; @@ -53,7 +54,8 @@ public class PerceptronPrepAttachTest { trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); trainParams.put("UseSkippedAveraging", Boolean.toString(true)); - MaxentModel model = TrainUtil.train(createTrainingStream(), trainParams, null); + EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); + MaxentModel model = trainer.train(createTrainingStream()); testModel(model, 0.773706362961129); } @@ -67,7 +69,8 @@ public class PerceptronPrepAttachTest { trainParams.put(AbstractTrainer.ITERATIONS_PARAM, Integer.toString(500)); trainParams.put("Tolerance", Double.toString(0.0001d)); - MaxentModel model = TrainUtil.train(createTrainingStream(), trainParams, null); + EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); + MaxentModel model = trainer.train(createTrainingStream()); testModel(model, 0.7677642980935875); } @@ -81,7 +84,8 @@ public class PerceptronPrepAttachTest { trainParams.put(AbstractTrainer.ITERATIONS_PARAM, Integer.toString(500)); trainParams.put("StepSizeDecrease", Double.toString(0.06d)); - MaxentModel model = TrainUtil.train(createTrainingStream(), trainParams, null); + EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); + MaxentModel model = trainer.train(createTrainingStream()); testModel(model, 0.7791532557563754); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/9f0d4794/opennlp-uima/src/main/java/opennlp/uima/util/OpennlpUtil.java ---------------------------------------------------------------------- diff --git a/opennlp-uima/src/main/java/opennlp/uima/util/OpennlpUtil.java b/opennlp-uima/src/main/java/opennlp/uima/util/OpennlpUtil.java index ccc5241..59e8566 100644 --- a/opennlp-uima/src/main/java/opennlp/uima/util/OpennlpUtil.java +++ b/opennlp-uima/src/main/java/opennlp/uima/util/OpennlpUtil.java @@ -86,7 +86,8 @@ final public class OpennlpUtil { throw new ResourceInitializationException(new Exception("Training parameters file is invalid!")); } - if (!isSequenceTrainingAllowed && TrainerFactory.isSequenceTraining(params.getSettings())) { + TrainerFactory.TrainerType trainerType = TrainerFactory.getTrainerType(params.getSettings()); + if (!isSequenceTrainingAllowed && TrainerFactory.TrainerType.SEQUENCE_TRAINER.equals(trainerType)) { throw new ResourceInitializationException(new Exception("Sequence training is not supported!")); } }
