You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2016/10/31 18:23:26 UTC
opennlp git commit: Refactor usage of deprecated training API
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 <jo...@apache.org>
Authored: Mon Oct 31 19:21:40 2016 +0100
Committer: J�rn Kottmann <jo...@apache.org>
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!"));
}
}