Repository: opennlp Updated Branches: refs/heads/master f74a86f4b -> 99cbf0da3
OPENNLP-1036: Use Object values in TrainingParameters instead of String. This closes apache/opennlp#176 Project: http://git-wip-us.apache.org/repos/asf/opennlp/repo Commit: http://git-wip-us.apache.org/repos/asf/opennlp/commit/99cbf0da Tree: http://git-wip-us.apache.org/repos/asf/opennlp/tree/99cbf0da Diff: http://git-wip-us.apache.org/repos/asf/opennlp/diff/99cbf0da Branch: refs/heads/master Commit: 99cbf0da308d532eb96094855e74e718b6ae497a Parents: f74a86f Author: koji <[email protected]> Authored: Sat Apr 22 00:40:44 2017 +0900 Committer: koji <[email protected]> Committed: Sat Apr 22 00:40:44 2017 +0900 ---------------------------------------------------------------------- .../opennlp/tools/ml/AbstractEventTrainer.java | 4 +- .../opennlp/tools/ml/maxent/GISTrainer.java | 4 +- .../SimplePerceptronSequenceTrainer.java | 4 +- .../opennlp/tools/namefind/NameFinderME.java | 4 +- .../tools/parser/AbstractBottomUpParser.java | 12 +- .../opennlp/tools/parser/chunking/Parser.java | 5 +- .../opennlp/tools/parser/treeinsert/Parser.java | 20 +- .../opennlp/tools/util/TrainingParameters.java | 345 ++++++++++++++++--- .../opennlp/tools/util/model/ModelUtil.java | 4 +- .../opennlp/tools/chunker/ChunkerMETest.java | 8 +- .../tools/cmdline/TokenNameFinderToolTest.java | 4 +- .../tools/doccat/DocumentCategorizerMETest.java | 8 +- .../tools/doccat/DocumentCategorizerNBTest.java | 4 +- .../opennlp/tools/eval/ArvoresDeitadasEval.java | 6 +- .../opennlp/tools/eval/Conll00ChunkerEval.java | 2 +- .../test/java/opennlp/tools/eval/EvalUtil.java | 6 +- .../tools/eval/OntoNotes4ParserEval.java | 8 +- .../tools/lemmatizer/LemmatizerMETest.java | 8 +- .../opennlp/tools/ml/TrainerFactoryTest.java | 4 +- .../tools/ml/maxent/GISIndexingTest.java | 32 +- .../tools/ml/maxent/MaxentPrepAttachTest.java | 6 +- .../tools/ml/maxent/RealValueModelTest.java | 2 +- .../tools/ml/maxent/ScaleDoesntMatterTest.java | 2 +- .../maxent/io/RealValueFileEventStreamTest.java | 2 +- .../quasinewton/NegLogLikelihoodTest.java | 2 +- .../ml/maxent/quasinewton/QNPrepAttachTest.java | 24 +- .../ml/maxent/quasinewton/QNTrainerTest.java | 2 +- .../naivebayes/NaiveBayesCorrectnessTest.java | 4 +- .../NaiveBayesModelReadWriteTest.java | 4 +- .../ml/naivebayes/NaiveBayesPrepAttachTest.java | 8 +- .../NaiveBayesSerializedCorrectnessTest.java | 4 +- .../ml/perceptron/PerceptronPrepAttachTest.java | 34 +- .../tools/namefind/NameFinderMETest.java | 28 +- .../TokenNameFinderCrossValidatorTest.java | 12 +- .../opennlp/tools/postag/POSTaggerMETest.java | 8 +- .../sentdetect/SentenceDetectorMETest.java | 8 +- .../opennlp/tools/tokenize/TokenizerMETest.java | 4 +- .../tools/tokenize/TokenizerTestUtil.java | 8 +- .../tools/util/TrainingParametersTest.java | 8 +- 39 files changed, 442 insertions(+), 220 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java b/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java index bb11aaa..330307a 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java +++ b/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java @@ -52,10 +52,10 @@ public abstract class AbstractEventTrainer extends AbstractTrainer implements Ev public DataIndexer getDataIndexer(ObjectStream<Event> events) throws IOException { - trainingParameters.put(AbstractDataIndexer.SORT_PARAM, Boolean.toString(isSortAndMerge())); + trainingParameters.put(AbstractDataIndexer.SORT_PARAM, isSortAndMerge()); // If the cutoff was set, don't overwrite the value. if (trainingParameters.getIntParameter(CUTOFF_PARAM, -1) == -1) { - trainingParameters.put(CUTOFF_PARAM, "5"); + trainingParameters.put(CUTOFF_PARAM, 5); } DataIndexer indexer = DataIndexerFactory.getDataIndexer(trainingParameters, reportMap); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java b/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java index 61ddb47..33a6c16 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java +++ b/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java @@ -246,8 +246,8 @@ public class GISTrainer extends AbstractEventTrainer { int cutoff) throws IOException { DataIndexer indexer = new OnePassDataIndexer(); TrainingParameters indexingParameters = new TrainingParameters(); - indexingParameters.put(GISTrainer.CUTOFF_PARAM, Integer.toString(cutoff)); - indexingParameters.put(GISTrainer.ITERATIONS_PARAM, Integer.toString(iterations)); + indexingParameters.put(GISTrainer.CUTOFF_PARAM, cutoff); + indexingParameters.put(GISTrainer.ITERATIONS_PARAM, iterations); Map<String, String> reportMap = new HashMap<>(); indexer.init(indexingParameters, reportMap); indexer.index(eventStream); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java b/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java index 7a50055..5fc4bbe 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java +++ b/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java @@ -111,8 +111,8 @@ public class SimplePerceptronSequenceTrainer extends AbstractEventModelSequenceT this.iterations = iterations; this.sequenceStream = sequenceStream; - trainingParameters.put(AbstractDataIndexer.CUTOFF_PARAM, Integer.toString(cutoff)); - trainingParameters.put(AbstractDataIndexer.SORT_PARAM, Boolean.toString(false)); + trainingParameters.put(AbstractDataIndexer.CUTOFF_PARAM, cutoff); + trainingParameters.put(AbstractDataIndexer.SORT_PARAM, false); DataIndexer di = new OnePassDataIndexer(); di.init(trainingParameters,reportMap); di.index(new SequenceStreamEventStream(sequenceStream)); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderME.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderME.java b/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderME.java index 4cd8ebc..12ce701 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderME.java +++ b/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderME.java @@ -222,8 +222,8 @@ public class NameFinderME implements TokenNameFinder { TokenNameFinderFactory factory) throws IOException { trainParams.putIfAbsent(TrainingParameters.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); - trainParams.putIfAbsent(TrainingParameters.CUTOFF_PARAM, "0"); - trainParams.putIfAbsent(TrainingParameters.ITERATIONS_PARAM, "300"); + trainParams.putIfAbsent(TrainingParameters.CUTOFF_PARAM, 0); + trainParams.putIfAbsent(TrainingParameters.ITERATIONS_PARAM, 300); int beamSize = trainParams.getIntParameter(BeamSearch.BEAM_SIZE_PARAMETER, NameFinderME.DEFAULT_BEAM_SIZE); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java b/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java index a553328..7d7c1b0 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java +++ b/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java @@ -528,15 +528,7 @@ public abstract class AbstractBottomUpParser implements Parser { public static Dictionary buildDictionary(ObjectStream<Parse> data, HeadRules rules, TrainingParameters params) throws IOException { - int cutoff = 5; - - String cutoffString = params.getSettings("dict"). - get(TrainingParameters.CUTOFF_PARAM); - - if (cutoffString != null) { - // TODO: Maybe throw illegal argument exception if not parse able - cutoff = Integer.parseInt(cutoffString); - } + int cutoff = params.getIntParameter("dict", TrainingParameters.CUTOFF_PARAM, 5); NGramModel mdict = new NGramModel(); Parse p; @@ -621,7 +613,7 @@ public abstract class AbstractBottomUpParser implements Parser { throws IOException { TrainingParameters params = new TrainingParameters(); - params.put("dict", TrainingParameters.CUTOFF_PARAM, Integer.toString(cutoff)); + params.put("dict", TrainingParameters.CUTOFF_PARAM, cutoff); return buildDictionary(data, rules, params); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/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 53a8cba..f2079e9 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 @@ -293,9 +293,8 @@ public class Parser extends AbstractBottomUpParser { // tag TrainingParameters posTaggerParams = mlParams.getParameters("tagger"); - if (!posTaggerParams.getSettings().containsKey(BeamSearch.BEAM_SIZE_PARAMETER)) { - mlParams.put("tagger", BeamSearch.BEAM_SIZE_PARAMETER, - Integer.toString(10)); + if (!posTaggerParams.getObjectSettings().containsKey(BeamSearch.BEAM_SIZE_PARAMETER)) { + mlParams.put("tagger", BeamSearch.BEAM_SIZE_PARAMETER, 10); } POSModel posModel = POSTaggerME.train(languageCode, new PosSampleStream(parseSamples), http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/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 527bdb6..f18fbf7 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 @@ -514,16 +514,16 @@ public class Parser extends AbstractBottomUpParser { throws IOException { TrainingParameters params = new TrainingParameters(); - params.put("dict", TrainingParameters.CUTOFF_PARAM, Integer.toString(cut)); - - params.put("tagger", TrainingParameters.CUTOFF_PARAM, Integer.toString(cut)); - params.put("tagger", TrainingParameters.ITERATIONS_PARAM, Integer.toString(iterations)); - params.put("chunker", TrainingParameters.CUTOFF_PARAM, Integer.toString(cut)); - params.put("chunker", TrainingParameters.ITERATIONS_PARAM, Integer.toString(iterations)); - params.put("check", TrainingParameters.CUTOFF_PARAM, Integer.toString(cut)); - params.put("check", TrainingParameters.ITERATIONS_PARAM, Integer.toString(iterations)); - params.put("build", TrainingParameters.CUTOFF_PARAM, Integer.toString(cut)); - params.put("build", TrainingParameters.ITERATIONS_PARAM, Integer.toString(iterations)); + params.put("dict", TrainingParameters.CUTOFF_PARAM, cut); + + params.put("tagger", TrainingParameters.CUTOFF_PARAM, cut); + params.put("tagger", TrainingParameters.ITERATIONS_PARAM, iterations); + params.put("chunker", TrainingParameters.CUTOFF_PARAM, cut); + params.put("chunker", TrainingParameters.ITERATIONS_PARAM, iterations); + params.put("check", TrainingParameters.CUTOFF_PARAM, cut); + params.put("check", TrainingParameters.ITERATIONS_PARAM, iterations); + params.put("build", TrainingParameters.CUTOFF_PARAM, cut); + params.put("build", TrainingParameters.ITERATIONS_PARAM, iterations); return train(languageCode, parseSamples, rules, params); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/main/java/opennlp/tools/util/TrainingParameters.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/TrainingParameters.java b/opennlp-tools/src/main/java/opennlp/tools/util/TrainingParameters.java index 3f21623..08a1373 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/util/TrainingParameters.java +++ b/opennlp-tools/src/main/java/opennlp/tools/util/TrainingParameters.java @@ -37,7 +37,7 @@ public class TrainingParameters { public static final String CUTOFF_PARAM = "Cutoff"; public static final String THREADS_PARAM = "Threads"; - private Map<String, String> parameters = new HashMap<>(); + private Map<String, Object> parameters = new HashMap<>(); public TrainingParameters() { } @@ -45,18 +45,52 @@ public class TrainingParameters { public TrainingParameters(TrainingParameters trainingParameters) { this.parameters.putAll(trainingParameters.parameters); } - + + /** + * + * @deprecated + */ public TrainingParameters(Map<String,String> map) { + //parameters.putAll(map); + // try to respect their original type... + for (String key: map.keySet()) { + String value = map.get(key); + try { + int intValue = Integer.parseInt(value); + parameters.put(key, intValue); + } + catch (NumberFormatException ei) { + try { + double doubleValue = Double.parseDouble(value); + parameters.put(key, doubleValue); + } + catch (NumberFormatException ed) { + // Because Boolean.parseBoolean() doesn't throw NFE, it just checks the value is either + // true or yes. So let's see their letters here. + if (value.toLowerCase().equals("true") || value.toLowerCase().equals("false")) { + parameters.put(key, Boolean.parseBoolean(value)); + } + else { + parameters.put(key, value); + } + } + } + } + } + + /* TODO: Once we throw Map<String,String> away, have this constructor to be uncommented + public TrainingParameters(Map<String,Object> map) { parameters.putAll(map); } - + */ + public TrainingParameters(InputStream in) throws IOException { Properties properties = new Properties(); properties.load(in); for (Map.Entry<Object, Object> entry : properties.entrySet()) { - parameters.put((String) entry.getKey(), (String) entry.getValue()); + parameters.put((String) entry.getKey(), entry.getValue()); } } @@ -66,7 +100,7 @@ public class TrainingParameters { * @return the name or null if not set. */ public String algorithm(String namespace) { - return parameters.get(namespace + "." + ALGORITHM_PARAM); + return (String)parameters.get(getKey(namespace, ALGORITHM_PARAM)); } /** @@ -75,7 +109,7 @@ public class TrainingParameters { * @return the name or null if not set. */ public String algorithm() { - return parameters.get(ALGORITHM_PARAM); + return (String)parameters.get(ALGORITHM_PARAM); } /** @@ -84,17 +118,74 @@ public class TrainingParameters { * @param namespace * * @return a parameter map which can be passed to the train and validate methods. + * + * @deprecated use {@link #getObjectSettings(String)} instead */ public Map<String, String> getSettings(String namespace) { Map<String, String> trainingParams = new HashMap<>(); + String prefix = namespace + "."; - for (Map.Entry<String, String> entry : parameters.entrySet()) { + for (Map.Entry<String, Object> entry : parameters.entrySet()) { String key = entry.getKey(); if (namespace != null) { - String prefix = namespace + "."; + if (key.startsWith(prefix)) { + trainingParams.put(key.substring(prefix.length()), getStringValue(entry.getValue())); + } + } + else { + if (!key.contains(".")) { + trainingParams.put(key, getStringValue(entry.getValue())); + } + } + } + + return Collections.unmodifiableMap(trainingParams); + } + + private static String getStringValue(Object value) { + if (value instanceof Integer) { + return Integer.toString((Integer)value); + } + else if (value instanceof Double) { + return Double.toString((Double)value); + } + else if (value instanceof Boolean) { + return Boolean.toString((Boolean)value); + } + else { + return (String)value; + } + } + + /** + * Retrieves all parameters without a name space. + * + * @return the settings map + * + * @deprecated use {@link #getObjectSettings()} instead + */ + public Map<String, String> getSettings() { + return getSettings(null); + } + + /** + * Retrieves a map with the training parameters which have the passed name space. + * + * @param namespace + * + * @return a parameter map which can be passed to the train and validate methods. + */ + public Map<String, Object> getObjectSettings(String namespace) { + + Map<String, Object> trainingParams = new HashMap<>(); + String prefix = namespace + "."; + for (Map.Entry<String, Object> entry : parameters.entrySet()) { + String key = entry.getKey(); + + if (namespace != null) { if (key.startsWith(prefix)) { trainingParams.put(key.substring(prefix.length()), entry.getValue()); } @@ -114,116 +205,256 @@ public class TrainingParameters { * * @return the settings map */ - public Map<String, String> getSettings() { - return getSettings(null); + public Map<String, Object> getObjectSettings() { + return getObjectSettings(null); } // reduces the params to contain only the params in the name space public TrainingParameters getParameters(String namespace) { TrainingParameters params = new TrainingParameters(); + Map<String, Object> settings = getObjectSettings(namespace); - for (Map.Entry<String, String> entry : getSettings(namespace).entrySet()) { - params.put(entry.getKey(), entry.getValue()); + for (String key: settings.keySet()) { + Object value = settings.get(key); + if (value instanceof Integer) { + params.put(key, (Integer)value); + } + else if (value instanceof Double) { + params.put(key, (Double)value); + } + else if (value instanceof Boolean) { + params.put(key, (Boolean)value); + } + else { + params.put(key, (String)value); + } } return params; } public void putIfAbsent(String namespace, String key, String value) { - if (namespace == null) { - parameters.putIfAbsent(key, value); - } - else { - parameters.putIfAbsent(namespace + "." + key, value); - } + parameters.putIfAbsent(getKey(namespace, key), value); } public void putIfAbsent(String key, String value) { putIfAbsent(null, key, value); } - public void put(String namespace, String key, String value) { + public void putIfAbsent(String namespace, String key, int value) { + parameters.putIfAbsent(getKey(namespace, key), value); + } - if (namespace == null) { - parameters.put(key, value); - } - else { - parameters.put(namespace + "." + key, value); - } + public void putIfAbsent(String key, int value) { + putIfAbsent(null, key, value); + } + + public void putIfAbsent(String namespace, String key, double value) { + parameters.putIfAbsent(getKey(namespace, key), value); + } + + public void putIfAbsent(String key, double value) { + putIfAbsent(null, key, value); + } + + public void putIfAbsent(String namespace, String key, boolean value) { + parameters.putIfAbsent(getKey(namespace, key), value); + } + + public void putIfAbsent(String key, boolean value) { + putIfAbsent(null, key, value); + } + + public void put(String namespace, String key, String value) { + parameters.put(getKey(namespace, key), value); } public void put(String key, String value) { put(null, key, value); } + public void put(String namespace, String key, int value) { + parameters.put(getKey(namespace, key), value); + } + + public void put(String key, int value) { + put(null, key, value); + } + + public void put(String namespace, String key, double value) { + parameters.put(getKey(namespace, key), value); + } + + public void put(String key, double value) { + put(null, key, value); + } + + public void put(String namespace, String key, boolean value) { + parameters.put(getKey(namespace, key), value); + } + + public void put(String key, boolean value) { + put(null, key, value); + } + public void serialize(OutputStream out) throws IOException { Properties properties = new Properties(); - for (Map.Entry<String, String> entry : parameters.entrySet()) { + for (Map.Entry<String, Object> entry: parameters.entrySet()) { properties.put(entry.getKey(), entry.getValue()); } properties.store(out, null); } + /** + * get a String parameter + * @param key + * @param defaultValue + * @return + * @throws {@link java.lang.ClassCastException} can be thrown if the value is not {@link String} + */ public String getStringParameter(String key, String defaultValue) { - return parameters.getOrDefault(key, defaultValue); + return getStringParameter(null, key, defaultValue); } - + + /** + * get a String parameter in the specified namespace + * @param namespace + * @param key + * @param defaultValue + * @return + * @throws {@link java.lang.ClassCastException} can be thrown if the value is not {@link String} + */ public String getStringParameter(String namespace, String key, String defaultValue) { - if (namespace == null) { - return getStringParameter(key, defaultValue); + Object value = parameters.get(getKey(namespace, key)); + if (value == null) { + return defaultValue; + } + else { + return (String)value; } - return parameters.getOrDefault(namespace + "." + key, defaultValue); } - + + /** + * get an Integer parameter + * @param key + * @param defaultValue + * @return + */ public int getIntParameter(String key, int defaultValue) { - String value = parameters.getOrDefault(key, Integer.toString(defaultValue)); - return Integer.parseInt(value); + return getIntParameter(null, key, defaultValue); } - + + /** + * get an Integer parameter in the specified namespace + * @param namespace + * @param key + * @param defaultValue + * @return + */ public int getIntParameter(String namespace, String key, int defaultValue) { - if (namespace == null) { - return getIntParameter(key, defaultValue); + Object value = parameters.get(getKey(namespace, key)); + if (value == null) { + return defaultValue; + } + else { + // TODO: We have this try-catch for back-compat reason. After removing deprecated flag, + // we can remove try-catch block and just return (Integer)value; + try { + return (Integer) value; + } + catch (ClassCastException e) { + return Integer.parseInt((String)value); + } } - String value = parameters.getOrDefault(namespace + "." + key, Integer.toString(defaultValue)); - return Integer.parseInt(value); } - + + /** + * get a Double parameter + * @param key + * @param defaultValue + * @return + */ public double getDoubleParameter(String key, double defaultValue) { - String value = parameters.getOrDefault(key, Double.toString(defaultValue)); - return Double.parseDouble(value); + return getDoubleParameter(null, key, defaultValue); } - + + /** + * get a Double parameter in the specified namespace + * @param namespace + * @param key + * @param defaultValue + * @return + */ public double getDoubleParameter(String namespace, String key, double defaultValue) { - if (namespace == null) { - return getDoubleParameter(key, defaultValue); + Object value = parameters.get(getKey(namespace, key)); + if (value == null) { + return defaultValue; + } + else { + // TODO: We have this try-catch for back-compat reason. After removing deprecated flag, + // we can remove try-catch block and just return (Double)value; + try { + return (Double) value; + } + catch (ClassCastException e) { + return Double.parseDouble((String)value); + } } - String value = parameters.getOrDefault(namespace + "." + key, Double.toString(defaultValue)); - return Double.parseDouble(value); } - + + /** + * get a Boolean parameter + * @param key + * @param defaultValue + * @return + */ public boolean getBooleanParameter(String key, boolean defaultValue) { - String value = parameters.getOrDefault(key, Boolean.toString(defaultValue)); - return Boolean.parseBoolean(value); + return getBooleanParameter(null, key, defaultValue); } - + + /** + * get a Boolean parameter in the specified namespace + * @param namespace + * @param key + * @param defaultValue + * @return + */ public boolean getBooleanParameter(String namespace, String key, boolean defaultValue) { - if (namespace == null) { - return getBooleanParameter(key, defaultValue); + Object value = parameters.get(getKey(namespace, key)); + if (value == null) { + return defaultValue; + } + else { + // TODO: We have this try-catch for back-compat reason. After removing deprecated flag, + // we can remove try-catch block and just return (Boolean)value; + try { + return (Boolean) value; + } + catch (ClassCastException e) { + return Boolean.parseBoolean((String)value); + } } - String value = parameters.getOrDefault(namespace + "." + key, Boolean.toString(defaultValue)); - return Boolean.parseBoolean(value); } public static TrainingParameters defaultParams() { TrainingParameters mlParams = new TrainingParameters(); mlParams.put(TrainingParameters.ALGORITHM_PARAM, "MAXENT"); mlParams.put(TrainingParameters.TRAINER_TYPE_PARAM, EventTrainer.EVENT_VALUE); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(100)); - mlParams.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(5)); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 100); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 5); return mlParams; } + + static String getKey(String namespace, String key) { + if (namespace == null) { + return key; + } + else { + return namespace + "." + key; + } + } } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/main/java/opennlp/tools/util/model/ModelUtil.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/model/ModelUtil.java b/opennlp-tools/src/main/java/opennlp/tools/util/model/ModelUtil.java index bcba6ea..fb84201 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/util/model/ModelUtil.java +++ b/opennlp-tools/src/main/java/opennlp/tools/util/model/ModelUtil.java @@ -142,8 +142,8 @@ public final class ModelUtil { public static TrainingParameters createDefaultTrainingParameters() { TrainingParameters mlParams = new TrainingParameters(); mlParams.put(TrainingParameters.ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(100)); - mlParams.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(5)); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 100); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 5); return mlParams; } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/chunker/ChunkerMETest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/chunker/ChunkerMETest.java b/opennlp-tools/src/test/java/opennlp/tools/chunker/ChunkerMETest.java index facb408..4922ce9 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/chunker/ChunkerMETest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/chunker/ChunkerMETest.java @@ -75,8 +75,8 @@ public class ChunkerMETest { new PlainTextByLineStream(in, StandardCharsets.UTF_8)); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); ChunkerModel chunkerModel = ChunkerME.train("en", sampleStream, params, new ChunkerFactory()); @@ -140,8 +140,8 @@ public class ChunkerMETest { new PlainTextByLineStream(in, StandardCharsets.UTF_8)); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, "70"); - params.put(TrainingParameters.CUTOFF_PARAM, "1"); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); ChunkerME.train("en", sampleStream, params, new ChunkerFactory()); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java b/opennlp-tools/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java index 3ade0d5..ba02e50 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java @@ -104,8 +104,8 @@ public class TokenNameFinderToolTest { ObjectStream<NameSample> sampleStream = new NameSampleDataStream(lineStream); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); TokenNameFinderModel model; http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerMETest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerMETest.java b/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerMETest.java index 391125e..5e8ddaf 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerMETest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerMETest.java @@ -43,8 +43,8 @@ public class DocumentCategorizerMETest { new DocumentSample("0", new String[]{"x", "y", "z", "7", "8"})); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, "100"); - params.put(TrainingParameters.CUTOFF_PARAM, "0"); + params.put(TrainingParameters.ITERATIONS_PARAM, 100); + params.put(TrainingParameters.CUTOFF_PARAM, 0); DoccatModel model = DocumentCategorizerME.train("x-unspecified", samples, params, new DoccatFactory()); @@ -70,8 +70,8 @@ public class DocumentCategorizerMETest { new DocumentSample("1", new String[]{"a", "b", "c"})); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, "100"); - params.put(TrainingParameters.CUTOFF_PARAM, "0"); + params.put(TrainingParameters.ITERATIONS_PARAM, 100); + params.put(TrainingParameters.CUTOFF_PARAM, 0); DocumentCategorizerME.train("x-unspecified", samples, params, new DoccatFactory()); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerNBTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerNBTest.java b/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerNBTest.java index 0847690..1c96a36 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerNBTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/doccat/DocumentCategorizerNBTest.java @@ -44,8 +44,8 @@ public class DocumentCategorizerNBTest { new DocumentSample("0", new String[]{"x", "y", "z", "7", "8"})); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, "100"); - params.put(TrainingParameters.CUTOFF_PARAM, "0"); + params.put(TrainingParameters.ITERATIONS_PARAM, 100); + params.put(TrainingParameters.CUTOFF_PARAM, 0); params.put(AbstractTrainer.ALGORITHM_PARAM, NaiveBayesTrainer.NAIVE_BAYES_VALUE); DoccatModel model = DocumentCategorizerME.train("x-unspecified", samples, http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/eval/ArvoresDeitadasEval.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/eval/ArvoresDeitadasEval.java b/opennlp-tools/src/test/java/opennlp/tools/eval/ArvoresDeitadasEval.java index ca62c5b..7e55165 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/eval/ArvoresDeitadasEval.java +++ b/opennlp-tools/src/test/java/opennlp/tools/eval/ArvoresDeitadasEval.java @@ -173,7 +173,7 @@ public class ArvoresDeitadasEval { @Test public void evalPortugueseTokenizerMaxentQnMultipleThreads() throws IOException { TrainingParameters params = EvalUtil.createMaxentQnParams(); - params.put("Threads", "4"); + params.put("Threads", 4); tokenizerCrossEval(params, 0.9996017148748251d); } @@ -192,7 +192,7 @@ public class ArvoresDeitadasEval { @Test public void evalPortugueseChunkerGisMultipleThreads() throws IOException { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); - params.put("Threads", "4"); + params.put("Threads", 4); chunkerCrossEval(params, 0.9573860781121228d); } @@ -205,7 +205,7 @@ public class ArvoresDeitadasEval { @Test public void evalPortugueseChunkerQnMultipleThreads() throws IOException { TrainingParameters params = EvalUtil.createMaxentQnParams(); - params.put("Threads", "4"); + params.put("Threads", 4); // NOTE: Should be the same as without multiple threads!!! chunkerCrossEval(params, 0.9647304571382662); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/eval/Conll00ChunkerEval.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/eval/Conll00ChunkerEval.java b/opennlp-tools/src/test/java/opennlp/tools/eval/Conll00ChunkerEval.java index 7e6102e..8ac90d7 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/eval/Conll00ChunkerEval.java +++ b/opennlp-tools/src/test/java/opennlp/tools/eval/Conll00ChunkerEval.java @@ -90,7 +90,7 @@ public class Conll00ChunkerEval { @Test public void evalEnglishMaxentQn() throws IOException { TrainingParameters params = EvalUtil.createMaxentQnParams(); - params.put("Threads", "4"); + params.put("Threads", 4); ChunkerModel maxentModel = train(new File(EvalUtil.getOpennlpDataDir(), "conll00/train.txt"), params); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/eval/EvalUtil.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/eval/EvalUtil.java b/opennlp-tools/src/test/java/opennlp/tools/eval/EvalUtil.java index 608e474..45f2471 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/eval/EvalUtil.java +++ b/opennlp-tools/src/test/java/opennlp/tools/eval/EvalUtil.java @@ -31,7 +31,7 @@ public class EvalUtil { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); params.put(TrainingParameters.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); - params.put(TrainingParameters.CUTOFF_PARAM, "0"); + params.put(TrainingParameters.CUTOFF_PARAM, 0); return params; } @@ -39,7 +39,7 @@ public class EvalUtil { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); params.put(TrainingParameters.ALGORITHM_PARAM, QNTrainer.MAXENT_QN_VALUE); - params.put(TrainingParameters.CUTOFF_PARAM, "0"); + params.put(TrainingParameters.CUTOFF_PARAM, 0); return params; } @@ -47,7 +47,7 @@ public class EvalUtil { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); params.put(TrainingParameters.ALGORITHM_PARAM, NaiveBayesTrainer.NAIVE_BAYES_VALUE); - params.put(TrainingParameters.CUTOFF_PARAM, "5"); + params.put(TrainingParameters.CUTOFF_PARAM, 5); return params; } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/eval/OntoNotes4ParserEval.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/eval/OntoNotes4ParserEval.java b/opennlp-tools/src/test/java/opennlp/tools/eval/OntoNotes4ParserEval.java index 68d49fc..2182957 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/eval/OntoNotes4ParserEval.java +++ b/opennlp-tools/src/test/java/opennlp/tools/eval/OntoNotes4ParserEval.java @@ -75,10 +75,10 @@ public class OntoNotes4ParserEval { } TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); - params.put("build.Threads", "4"); - params.put("tagger.Threads", "4"); - params.put("chunker.Threads", "4"); - params.put("check.Threads", "4"); + params.put("build.Threads", 4); + params.put("tagger.Threads", 4); + params.put("chunker.Threads", 4); + params.put("check.Threads", 4); crossEval(params, headRules, 0.937987617163142d); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java b/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java index f00f2b4..285af4a 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java @@ -69,8 +69,8 @@ public class LemmatizerMETest { new File("opennlp/tools/lemmatizer/trial.old.tsv")), "UTF-8")); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, "100"); - params.put(TrainingParameters.CUTOFF_PARAM, "5"); + params.put(TrainingParameters.ITERATIONS_PARAM, 100); + params.put(TrainingParameters.CUTOFF_PARAM, 5); LemmatizerModel lemmatizerModel = LemmatizerME.train("en", sampleStream, params, new LemmatizerFactory()); @@ -95,8 +95,8 @@ public class LemmatizerMETest { "UTF-8")); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, "100"); - params.put(TrainingParameters.CUTOFF_PARAM, "5"); + params.put(TrainingParameters.ITERATIONS_PARAM, 100); + params.put(TrainingParameters.CUTOFF_PARAM, 5); LemmatizerME.train("en", sampleStream, params, new LemmatizerFactory()); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/TrainerFactoryTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/TrainerFactoryTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/TrainerFactoryTest.java index f7ac117..b08d28a 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/TrainerFactoryTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/TrainerFactoryTest.java @@ -34,8 +34,8 @@ public class TrainerFactoryTest { public void setup() { mlParams = new TrainingParameters(); mlParams.put(TrainingParameters.ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(10)); - mlParams.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(5)); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 10); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 5); } @Test http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/GISIndexingTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/GISIndexingTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/GISIndexingTest.java index c8bc27f..03539a1 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/GISIndexingTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/GISIndexingTest.java @@ -64,7 +64,7 @@ public class GISIndexingTest { public void testGISTrainSignature1() throws IOException { try (ObjectStream<Event> eventStream = createEventStream()) { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); - params.put(AbstractTrainer.CUTOFF_PARAM, "1"); + params.put(AbstractTrainer.CUTOFF_PARAM, 1); EventTrainer trainer = TrainerFactory.getEventTrainer(params, null); @@ -79,8 +79,8 @@ public class GISIndexingTest { public void testGISTrainSignature2() throws IOException { try (ObjectStream<Event> eventStream = createEventStream()) { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); - params.put(AbstractTrainer.CUTOFF_PARAM, "1"); - params.put("smoothing", "true"); + params.put(AbstractTrainer.CUTOFF_PARAM, 1); + params.put("smoothing", true); EventTrainer trainer = TrainerFactory.getEventTrainer(params, null); Assert.assertNotNull(trainer.train(eventStream)); @@ -95,8 +95,8 @@ public class GISIndexingTest { try (ObjectStream<Event> eventStream = createEventStream()) { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); - params.put(AbstractTrainer.ITERATIONS_PARAM, "10"); - params.put(AbstractTrainer.CUTOFF_PARAM, "1"); + params.put(AbstractTrainer.ITERATIONS_PARAM, 10); + params.put(AbstractTrainer.CUTOFF_PARAM, 1); EventTrainer trainer = TrainerFactory.getEventTrainer(params, null); @@ -111,8 +111,8 @@ public class GISIndexingTest { public void testGISTrainSignature4() throws IOException { try (ObjectStream<Event> eventStream = createEventStream()) { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); - params.put(AbstractTrainer.ITERATIONS_PARAM, "10"); - params.put(AbstractTrainer.CUTOFF_PARAM, "1"); + params.put(AbstractTrainer.ITERATIONS_PARAM, 10); + params.put(AbstractTrainer.CUTOFF_PARAM, 1); GISTrainer trainer = (GISTrainer) TrainerFactory.getEventTrainer(params, null); trainer.setGaussianSigma(0.01); @@ -129,10 +129,10 @@ public class GISIndexingTest { try (ObjectStream<Event> eventStream = createEventStream()) { TrainingParameters params = ModelUtil.createDefaultTrainingParameters(); - params.put(AbstractTrainer.ITERATIONS_PARAM, "10"); - params.put(AbstractTrainer.CUTOFF_PARAM, "1"); - params.put("smoothing", "false"); - params.put(AbstractTrainer.VERBOSE_PARAM, "false"); + params.put(AbstractTrainer.ITERATIONS_PARAM, 10); + params.put(AbstractTrainer.CUTOFF_PARAM, 1); + params.put("smoothing", false); + params.put(AbstractTrainer.VERBOSE_PARAM, false); EventTrainer trainer = TrainerFactory.getEventTrainer(params, null); Assert.assertNotNull(trainer.train(eventStream)); @@ -145,11 +145,11 @@ public class GISIndexingTest { TrainingParameters parameters = TrainingParameters.defaultParams(); // by default we are using GIS/EventTrainer/Cutoff of 5/100 iterations - parameters.put(TrainingParameters.ITERATIONS_PARAM, "10"); + parameters.put(TrainingParameters.ITERATIONS_PARAM, 10); parameters.put(AbstractEventTrainer.DATA_INDEXER_PARAM, AbstractEventTrainer.DATA_INDEXER_ONE_PASS_VALUE); - parameters.put(AbstractEventTrainer.CUTOFF_PARAM, "1"); + parameters.put(AbstractEventTrainer.CUTOFF_PARAM, 1); // note: setting the SORT_PARAM to true is the default, so it is not really needed - parameters.put(AbstractDataIndexer.SORT_PARAM, "true"); + parameters.put(AbstractDataIndexer.SORT_PARAM, true); // guarantee that you have a GIS trainer... EventTrainer trainer = @@ -169,7 +169,7 @@ public class GISIndexingTest { parameters.put(TrainingParameters.ALGORITHM_PARAM, QNTrainer.MAXENT_QN_VALUE); parameters.put(AbstractEventTrainer.DATA_INDEXER_PARAM, AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE); - parameters.put(AbstractEventTrainer.CUTOFF_PARAM, "2"); + parameters.put(AbstractEventTrainer.CUTOFF_PARAM, 2); trainer = TrainerFactory.getEventTrainer(parameters, new HashMap<>()); Assert.assertEquals("opennlp.tools.ml.maxent.quasinewton.QNTrainer", trainer.getClass().getName()); @@ -187,7 +187,7 @@ public class GISIndexingTest { // set the cutoff to 1 for this test. TrainingParameters parameters = new TrainingParameters(); - parameters.put(AbstractDataIndexer.CUTOFF_PARAM, "1"); + parameters.put(AbstractDataIndexer.CUTOFF_PARAM, 1); // test with a 1 pass data indexer... parameters.put(AbstractEventTrainer.DATA_INDEXER_PARAM, AbstractEventTrainer.DATA_INDEXER_ONE_PASS_VALUE); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/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 36e8926..09a40e5 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 @@ -42,8 +42,8 @@ public class MaxentPrepAttachTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); - trainingParameters.put(AbstractDataIndexer.SORT_PARAM, "false"); + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainingParameters.put(AbstractDataIndexer.SORT_PARAM, false); testDataIndexer = new TwoPassDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } @@ -78,7 +78,7 @@ public class MaxentPrepAttachTest { trainParams.put(AbstractTrainer.ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); trainParams.put(AbstractEventTrainer.DATA_INDEXER_PARAM, AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); MaxentModel model = trainer.train(PrepAttachDataUtil.createTrainingStream()); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/RealValueModelTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/RealValueModelTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/RealValueModelTest.java index 850d9bc..fbff618 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/RealValueModelTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/RealValueModelTest.java @@ -38,7 +38,7 @@ public class RealValueModelTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); testDataIndexer = new OnePassRealValueDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/ScaleDoesntMatterTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/ScaleDoesntMatterTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/ScaleDoesntMatterTest.java index 1e5c8a3..ed7b2a1 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/ScaleDoesntMatterTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/ScaleDoesntMatterTest.java @@ -45,7 +45,7 @@ public class ScaleDoesntMatterTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "0"); + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 0); testDataIndexer = new OnePassRealValueDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/io/RealValueFileEventStreamTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/io/RealValueFileEventStreamTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/io/RealValueFileEventStreamTest.java index d084977..b5425ac 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/io/RealValueFileEventStreamTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/io/RealValueFileEventStreamTest.java @@ -37,7 +37,7 @@ public class RealValueFileEventStreamTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); indexer = new OnePassRealValueDataIndexer(); indexer.init(trainingParameters, new HashMap<>()); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihoodTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihoodTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihoodTest.java index dcba896..d51852d 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihoodTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihoodTest.java @@ -41,7 +41,7 @@ public class NegLogLikelihoodTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); testDataIndexer = new OnePassRealValueDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNPrepAttachTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNPrepAttachTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNPrepAttachTest.java index c01aa76..574e871 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNPrepAttachTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNPrepAttachTest.java @@ -39,8 +39,8 @@ public class QNPrepAttachTest { public void testQNOnPrepAttachData() throws IOException { DataIndexer indexer = new TwoPassDataIndexer(); TrainingParameters indexingParameters = new TrainingParameters(); - indexingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); - indexingParameters.put(AbstractDataIndexer.SORT_PARAM, "false"); + indexingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); + indexingParameters.put(AbstractDataIndexer.SORT_PARAM, false); indexer.init(indexingParameters, new HashMap<>()); indexer.index(PrepAttachDataUtil.createTrainingStream()); @@ -68,9 +68,9 @@ public class QNPrepAttachTest { trainParams.put(AbstractTrainer.ALGORITHM_PARAM, QNTrainer.MAXENT_QN_VALUE); trainParams.put(AbstractEventTrainer.DATA_INDEXER_PARAM, AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - trainParams.put(QNTrainer.L1COST_PARAM, Double.toString(0.25)); - trainParams.put(QNTrainer.L2COST_PARAM, Double.toString(1.0)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainParams.put(QNTrainer.L1COST_PARAM, 0.25); + trainParams.put(QNTrainer.L2COST_PARAM, 1.0D); MaxentModel model = TrainerFactory.getEventTrainer(trainParams, null) .train(PrepAttachDataUtil.createTrainingStream()); @@ -85,9 +85,9 @@ public class QNPrepAttachTest { trainParams.put(AbstractTrainer.ALGORITHM_PARAM, QNTrainer.MAXENT_QN_VALUE); trainParams.put(AbstractEventTrainer.DATA_INDEXER_PARAM, AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - trainParams.put(QNTrainer.L1COST_PARAM, Double.toString(1.0)); - trainParams.put(QNTrainer.L2COST_PARAM, Double.toString(0)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainParams.put(QNTrainer.L1COST_PARAM, 1.0D); + trainParams.put(QNTrainer.L2COST_PARAM, 0D); MaxentModel model = TrainerFactory.getEventTrainer(trainParams, null) .train(PrepAttachDataUtil.createTrainingStream()); @@ -102,9 +102,9 @@ public class QNPrepAttachTest { trainParams.put(AbstractTrainer.ALGORITHM_PARAM, QNTrainer.MAXENT_QN_VALUE); trainParams.put(AbstractEventTrainer.DATA_INDEXER_PARAM, AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - trainParams.put(QNTrainer.L1COST_PARAM, Double.toString(0)); - trainParams.put(QNTrainer.L2COST_PARAM, Double.toString(1.0)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainParams.put(QNTrainer.L1COST_PARAM, 0D); + trainParams.put(QNTrainer.L2COST_PARAM, 1.0D); MaxentModel model = TrainerFactory.getEventTrainer(trainParams, null) .train(PrepAttachDataUtil.createTrainingStream()); @@ -117,7 +117,7 @@ public class QNPrepAttachTest { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, QNTrainer.MAXENT_QN_VALUE); - trainParams.put(QNTrainer.THREADS_PARAM, Integer.toString(2)); + trainParams.put(QNTrainer.THREADS_PARAM, 2); MaxentModel model = TrainerFactory.getEventTrainer(trainParams, null) .train(PrepAttachDataUtil.createTrainingStream()); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNTrainerTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNTrainerTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNTrainerTest.java index fbe9ecc..555b9dc 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNTrainerTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/quasinewton/QNTrainerTest.java @@ -46,7 +46,7 @@ public class QNTrainerTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); testDataIndexer = new OnePassRealValueDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesCorrectnessTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesCorrectnessTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesCorrectnessTest.java index 11a961b..9a322d4 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesCorrectnessTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesCorrectnessTest.java @@ -46,8 +46,8 @@ public class NaiveBayesCorrectnessTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); - trainingParameters.put(AbstractDataIndexer.SORT_PARAM, "false");; + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainingParameters.put(AbstractDataIndexer.SORT_PARAM, false);; testDataIndexer = new TwoPassDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReadWriteTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReadWriteTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReadWriteTest.java index a76b428..7a0fb22 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReadWriteTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReadWriteTest.java @@ -43,8 +43,8 @@ public class NaiveBayesModelReadWriteTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); - trainingParameters.put(AbstractDataIndexer.SORT_PARAM, "false");; + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainingParameters.put(AbstractDataIndexer.SORT_PARAM, false);; testDataIndexer = new TwoPassDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/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 e994ba1..c6c5ace 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 @@ -44,8 +44,8 @@ public class NaiveBayesPrepAttachTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); - trainingParameters.put(AbstractDataIndexer.SORT_PARAM, "false"); + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainingParameters.put(AbstractDataIndexer.SORT_PARAM, false); testDataIndexer = new TwoPassDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } @@ -62,7 +62,7 @@ public class NaiveBayesPrepAttachTest { public void testNaiveBayesOnPrepAttachDataUsingTrainUtil() throws IOException { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, NaiveBayesTrainer.NAIVE_BAYES_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); MaxentModel model = trainer.train(PrepAttachDataUtil.createTrainingStream()); @@ -74,7 +74,7 @@ public class NaiveBayesPrepAttachTest { public void testNaiveBayesOnPrepAttachDataUsingTrainUtilWithCutoff5() throws IOException { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, NaiveBayesTrainer.NAIVE_BAYES_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(5)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 5); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); MaxentModel model = trainer.train(PrepAttachDataUtil.createTrainingStream()); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesSerializedCorrectnessTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesSerializedCorrectnessTest.java b/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesSerializedCorrectnessTest.java index 0146885..f684974 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesSerializedCorrectnessTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/ml/naivebayes/NaiveBayesSerializedCorrectnessTest.java @@ -48,8 +48,8 @@ public class NaiveBayesSerializedCorrectnessTest { @Before public void initIndexer() { TrainingParameters trainingParameters = new TrainingParameters(); - trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); - trainingParameters.put(AbstractDataIndexer.SORT_PARAM, "false");; + trainingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainingParameters.put(AbstractDataIndexer.SORT_PARAM, false);; testDataIndexer = new TwoPassDataIndexer(); testDataIndexer.init(trainingParameters, new HashMap<>()); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/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 eda49f8..94985cc 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 @@ -47,8 +47,8 @@ public class PerceptronPrepAttachTest { public void testPerceptronOnPrepAttachData() throws IOException { TwoPassDataIndexer indexer = new TwoPassDataIndexer(); TrainingParameters indexingParameters = new TrainingParameters(); - indexingParameters.put(AbstractTrainer.CUTOFF_PARAM, "1"); - indexingParameters.put(AbstractDataIndexer.SORT_PARAM, "false"); + indexingParameters.put(AbstractTrainer.CUTOFF_PARAM, 1); + indexingParameters.put(AbstractDataIndexer.SORT_PARAM, false); indexer.init(indexingParameters, new HashMap<>()); indexer.index(PrepAttachDataUtil.createTrainingStream()); MaxentModel model = new PerceptronTrainer().trainModel(400, indexer, 1); @@ -60,8 +60,8 @@ public class PerceptronPrepAttachTest { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - trainParams.put("UseSkippedAveraging", Boolean.toString(true)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainParams.put("UseSkippedAveraging", true); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); MaxentModel model = trainer.train(PrepAttachDataUtil.createTrainingStream()); @@ -73,9 +73,9 @@ public class PerceptronPrepAttachTest { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - trainParams.put(AbstractTrainer.ITERATIONS_PARAM, Integer.toString(500)); - trainParams.put("Tolerance", Double.toString(0.0001d)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainParams.put(AbstractTrainer.ITERATIONS_PARAM, 500); + trainParams.put("Tolerance", 0.0001d); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); MaxentModel model = trainer.train(PrepAttachDataUtil.createTrainingStream()); @@ -87,9 +87,9 @@ public class PerceptronPrepAttachTest { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - trainParams.put(AbstractTrainer.ITERATIONS_PARAM, Integer.toString(500)); - trainParams.put("StepSizeDecrease", Double.toString(0.06d)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainParams.put(AbstractTrainer.ITERATIONS_PARAM, 500); + trainParams.put("StepSizeDecrease", 0.06d); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); MaxentModel model = trainer.train(PrepAttachDataUtil.createTrainingStream()); @@ -101,8 +101,8 @@ public class PerceptronPrepAttachTest { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - trainParams.put("UseSkippedAveraging", Boolean.toString(true)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainParams.put("UseSkippedAveraging", true); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); AbstractModel model = (AbstractModel) trainer.train(PrepAttachDataUtil.createTrainingStream()); @@ -125,8 +125,8 @@ public class PerceptronPrepAttachTest { public void testModelEquals() throws IOException { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); - trainParams.put("UseSkippedAveraging", Boolean.toString(true)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); + trainParams.put("UseSkippedAveraging", true); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); AbstractModel modelA = (AbstractModel) trainer.train(PrepAttachDataUtil.createTrainingStream()); @@ -140,10 +140,10 @@ public class PerceptronPrepAttachTest { public void verifyReportMap() throws IOException { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); - trainParams.put(AbstractTrainer.CUTOFF_PARAM, Integer.toString(1)); + trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); // Since we are verifying the report map, we don't need to have more than 1 iteration - trainParams.put(AbstractTrainer.ITERATIONS_PARAM, Integer.toString(1)); - trainParams.put("UseSkippedAveraging", Boolean.toString(true)); + trainParams.put(AbstractTrainer.ITERATIONS_PARAM, 1); + trainParams.put("UseSkippedAveraging", true); Map<String,String> reportMap = new HashMap<>(); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, reportMap); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java b/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java index 876df5b..94fbb36 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java @@ -65,8 +65,8 @@ public class NameFinderMETest { new File("opennlp/tools/namefind/AnnotatedSentences.txt")), encoding)); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); TokenNameFinderModel nameFinderModel = NameFinderME.train("en", null, sampleStream, params, TokenNameFinderFactory.create(null, null, Collections.emptyMap(), new BioCodec())); @@ -123,8 +123,8 @@ public class NameFinderMETest { new File("opennlp/tools/namefind/AnnotatedSentencesWithTypes.txt")), encoding)); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); TokenNameFinderModel nameFinderModel = NameFinderME.train("en", null, sampleStream, params, TokenNameFinderFactory.create(null, null, Collections.emptyMap(), new BioCodec())); @@ -167,8 +167,8 @@ public class NameFinderMETest { new File("opennlp/tools/namefind/OnlyWithNames.train")), "UTF-8")); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); TokenNameFinderModel nameFinderModel = NameFinderME.train("en", null, sampleStream, params, TokenNameFinderFactory.create(null, null, Collections.emptyMap(), new BioCodec())); @@ -197,8 +197,8 @@ public class NameFinderMETest { new File("opennlp/tools/namefind/OnlyWithNames.train")), "UTF-8")); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); TokenNameFinderModel nameFinderModel = NameFinderME.train("en", TYPE_OVERRIDE, sampleStream, params, TokenNameFinderFactory.create(null, null, Collections.emptyMap(), new BioCodec())); @@ -232,8 +232,8 @@ public class NameFinderMETest { new File("opennlp/tools/namefind/OnlyWithNamesWithTypes.train")), "UTF-8")); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); TokenNameFinderModel nameFinderModel = NameFinderME.train("en", null, sampleStream, params, TokenNameFinderFactory.create(null, null, Collections.emptyMap(), new BioCodec())); @@ -268,8 +268,8 @@ public class NameFinderMETest { TrainingParameters params = new TrainingParameters(); params.put(TrainingParameters.ALGORITHM_PARAM, "MAXENT"); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); TokenNameFinderModel nameFinderModel = NameFinderME.train("en", null, sampleStream, params, TokenNameFinderFactory.create(null, null, Collections.emptyMap(), new BioCodec())); @@ -319,8 +319,8 @@ public class NameFinderMETest { new File("opennlp/tools/namefind/voa1.train")), "UTF-8")); TrainingParameters params = new TrainingParameters(); - params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70)); - params.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(1)); + params.put(TrainingParameters.ITERATIONS_PARAM, 70); + params.put(TrainingParameters.CUTOFF_PARAM, 1); TokenNameFinderModel nameFinderModel = NameFinderME.train("en", null, sampleStream, params, TokenNameFinderFactory.create(null, null, Collections.emptyMap(), new BioCodec())); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/namefind/TokenNameFinderCrossValidatorTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/namefind/TokenNameFinderCrossValidatorTest.java b/opennlp-tools/src/test/java/opennlp/tools/namefind/TokenNameFinderCrossValidatorTest.java index 9e31987..0326fb2 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/namefind/TokenNameFinderCrossValidatorTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/namefind/TokenNameFinderCrossValidatorTest.java @@ -51,8 +51,8 @@ public class TokenNameFinderCrossValidatorTest { new PlainTextByLineStream(in, StandardCharsets.ISO_8859_1)); TrainingParameters mlParams = new TrainingParameters(); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, "70"); - mlParams.put(TrainingParameters.CUTOFF_PARAM, "1"); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 70); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 1); mlParams.put(TrainingParameters.ALGORITHM_PARAM, ModelType.MAXENT.toString()); @@ -78,8 +78,8 @@ public class TokenNameFinderCrossValidatorTest { new PlainTextByLineStream(in, StandardCharsets.ISO_8859_1)); TrainingParameters mlParams = new TrainingParameters(); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, "70"); - mlParams.put(TrainingParameters.CUTOFF_PARAM, "1"); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 70); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 1); mlParams.put(TrainingParameters.ALGORITHM_PARAM, ModelType.MAXENT.toString()); @@ -107,8 +107,8 @@ public class TokenNameFinderCrossValidatorTest { new PlainTextByLineStream(in, StandardCharsets.ISO_8859_1)); TrainingParameters mlParams = new TrainingParameters(); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, "70"); - mlParams.put(TrainingParameters.CUTOFF_PARAM, "1"); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 70); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 1); mlParams.put(TrainingParameters.ALGORITHM_PARAM, ModelType.MAXENT.toString()); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/postag/POSTaggerMETest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/postag/POSTaggerMETest.java b/opennlp-tools/src/test/java/opennlp/tools/postag/POSTaggerMETest.java index e2bca48..6d0785b 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/postag/POSTaggerMETest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/postag/POSTaggerMETest.java @@ -51,8 +51,8 @@ public class POSTaggerMETest { static POSModel trainPOSModel(ModelType type) throws IOException { TrainingParameters params = new TrainingParameters(); params.put(TrainingParameters.ALGORITHM_PARAM, type.toString()); - params.put(TrainingParameters.ITERATIONS_PARAM, "100"); - params.put(TrainingParameters.CUTOFF_PARAM, "5"); + params.put(TrainingParameters.ITERATIONS_PARAM, 100); + params.put(TrainingParameters.CUTOFF_PARAM, 5); return POSTaggerME.train("en", createSampleStream(), params, new POSTaggerFactory()); @@ -98,8 +98,8 @@ public class POSTaggerMETest { TrainingParameters params = new TrainingParameters(); params.put(TrainingParameters.ALGORITHM_PARAM, ModelType.MAXENT.name()); - params.put(TrainingParameters.ITERATIONS_PARAM, "100"); - params.put(TrainingParameters.CUTOFF_PARAM, "5"); + params.put(TrainingParameters.ITERATIONS_PARAM, 100); + params.put(TrainingParameters.CUTOFF_PARAM, 5); POSTaggerME.train("en", stream, params, new POSTaggerFactory()); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/sentdetect/SentenceDetectorMETest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/sentdetect/SentenceDetectorMETest.java b/opennlp-tools/src/test/java/opennlp/tools/sentdetect/SentenceDetectorMETest.java index 220650d..5fba0fd 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/sentdetect/SentenceDetectorMETest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/sentdetect/SentenceDetectorMETest.java @@ -43,8 +43,8 @@ public class SentenceDetectorMETest { "/opennlp/tools/sentdetect/Sentences.txt"); TrainingParameters mlParams = new TrainingParameters(); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, "100"); - mlParams.put(TrainingParameters.CUTOFF_PARAM, "0"); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 100); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 0); SentenceDetectorFactory factory = new SentenceDetectorFactory("en", true, null, null); @@ -143,8 +143,8 @@ public class SentenceDetectorMETest { "/opennlp/tools/sentdetect/SentencesInsufficient.txt"); TrainingParameters mlParams = new TrainingParameters(); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, "100"); - mlParams.put(TrainingParameters.CUTOFF_PARAM, "0"); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 100); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 0); SentenceDetectorFactory factory = new SentenceDetectorFactory("en", true, null, null); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerMETest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerMETest.java b/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerMETest.java index 14b9185..3dd92a0 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerMETest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerMETest.java @@ -84,8 +84,8 @@ public class TokenizerMETest { new PlainTextByLineStream(trainDataIn, StandardCharsets.UTF_8)); TrainingParameters mlParams = new TrainingParameters(); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, "100"); - mlParams.put(TrainingParameters.CUTOFF_PARAM, "5"); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 100); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 5); TokenizerME.train(samples, TokenizerFactory.create(null, "en", null, true, null), mlParams); http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerTestUtil.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerTestUtil.java b/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerTestUtil.java index 65fed21..4d49c58 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerTestUtil.java +++ b/opennlp-tools/src/test/java/opennlp/tools/tokenize/TokenizerTestUtil.java @@ -54,8 +54,8 @@ public class TokenizerTestUtil { new Span(3, 4)})); TrainingParameters mlParams = new TrainingParameters(); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(100)); - mlParams.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(0)); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 100); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 0); return TokenizerME.train(new CollectionObjectStream<>(samples), TokenizerFactory.create(null, "en", null, true, null), mlParams); @@ -70,8 +70,8 @@ public class TokenizerTestUtil { new PlainTextByLineStream(trainDataIn, StandardCharsets.UTF_8)); TrainingParameters mlParams = new TrainingParameters(); - mlParams.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(100)); - mlParams.put(TrainingParameters.CUTOFF_PARAM, Integer.toString(0)); + mlParams.put(TrainingParameters.ITERATIONS_PARAM, 100); + mlParams.put(TrainingParameters.CUTOFF_PARAM, 0); return TokenizerME.train(samples, TokenizerFactory.create(null, "en", null, true, null), mlParams); } http://git-wip-us.apache.org/repos/asf/opennlp/blob/99cbf0da/opennlp-tools/src/test/java/opennlp/tools/util/TrainingParametersTest.java ---------------------------------------------------------------------- diff --git a/opennlp-tools/src/test/java/opennlp/tools/util/TrainingParametersTest.java b/opennlp-tools/src/test/java/opennlp/tools/util/TrainingParametersTest.java index 294dff8..7c8e41e 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/util/TrainingParametersTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/util/TrainingParametersTest.java @@ -99,20 +99,20 @@ public class TrainingParametersTest { Assert.assertEquals("def", tp.getStringParameter("str", "k4", "def")); Assert.assertEquals(-100, tp.getIntParameter("k11", -100)); - tp.put("k11", "234"); + tp.put("k11", 234); Assert.assertEquals(234, tp.getIntParameter("k11", -100)); Assert.assertEquals(123, tp.getIntParameter("int", "k2", -100)); Assert.assertEquals(-100, tp.getIntParameter("int", "k4", -100)); Assert.assertEquals(234.5, tp.getDoubleParameter("k21", -100), 0.001); - tp.put("k21", "345.6"); + tp.put("k21", 345.6); Assert.assertEquals(345.6, tp.getDoubleParameter("k21", -100), 0.001); // should be changed - tp.putIfAbsent("k21", "456.7"); + tp.putIfAbsent("k21", 456.7); Assert.assertEquals(345.6, tp.getDoubleParameter("k21", -100), 0.001); // should be unchanged Assert.assertEquals(123.45, tp.getDoubleParameter("double", "k5", -100), 0.001); Assert.assertEquals(true, tp.getBooleanParameter("k31", true)); - tp.put("k31", "false"); + tp.put("k31", false); Assert.assertEquals(false, tp.getBooleanParameter("k31", true)); Assert.assertEquals(false, tp.getBooleanParameter("boolean", "k4", true)); }
