You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by co...@apache.org on 2011/07/18 23:44:07 UTC
svn commit: r1148065 - in
/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser:
BuildModelUpdaterTool.java CheckModelUpdaterTool.java ModelUpdaterTool.java
Author: colen
Date: Mon Jul 18 21:44:06 2011
New Revision: 1148065
URL: http://svn.apache.org/viewvc?rev=1148065&view=rev
Log:
OPENNLP-227 Updated Parser ModelUpdater tool
Modified:
incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java
incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java
incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java
Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java?rev=1148065&r1=1148064&r2=1148065&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java Mon Jul 18 21:44:06 2011
@@ -20,7 +20,6 @@ package opennlp.tools.cmdline.parser;
import java.io.IOException;
import opennlp.model.AbstractModel;
-import opennlp.tools.cmdline.BasicTrainingParameters;
import opennlp.tools.dictionary.Dictionary;
import opennlp.tools.parser.Parse;
import opennlp.tools.parser.ParserEventTypeEnum;
@@ -41,7 +40,7 @@ public final class BuildModelUpdaterTool
@Override
protected ParserModel trainAndUpdate(ParserModel originalModel,
- ObjectStream<Parse> parseSamples, BasicTrainingParameters parameters)
+ ObjectStream<Parse> parseSamples, ModelUpdaterParams parameters)
throws IOException {
Dictionary mdict = ParserTrainerTool.buildDictionary(parseSamples, originalModel.getHeadRules(), parameters.getCutoff());
@@ -54,7 +53,7 @@ public final class BuildModelUpdaterTool
opennlp.model.EventStream bes = new ParserEventStream(parseSamples,
originalModel.getHeadRules(), ParserEventTypeEnum.BUILD, mdict);
AbstractModel buildModel = Parser.train(bes,
- parameters.getNumberOfIterations(), parameters.getCutoff());
+ parameters.getIterations(), parameters.getCutoff());
parseSamples.close();
Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java?rev=1148065&r1=1148064&r2=1148065&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java Mon Jul 18 21:44:06 2011
@@ -20,7 +20,6 @@ package opennlp.tools.cmdline.parser;
import java.io.IOException;
import opennlp.model.AbstractModel;
-import opennlp.tools.cmdline.BasicTrainingParameters;
import opennlp.tools.dictionary.Dictionary;
import opennlp.tools.parser.Parse;
import opennlp.tools.parser.ParserEventTypeEnum;
@@ -42,7 +41,7 @@ public final class CheckModelUpdaterTool
@Override
protected ParserModel trainAndUpdate(ParserModel originalModel,
- ObjectStream<Parse> parseSamples, BasicTrainingParameters parameters)
+ ObjectStream<Parse> parseSamples, ModelUpdaterParams parameters)
throws IOException {
Dictionary mdict = ParserTrainerTool.buildDictionary(parseSamples, originalModel.getHeadRules(), parameters.getCutoff());
@@ -55,7 +54,7 @@ public final class CheckModelUpdaterTool
opennlp.model.EventStream bes = new ParserEventStream(parseSamples,
originalModel.getHeadRules(), ParserEventTypeEnum.CHECK, mdict);
AbstractModel checkModel = Parser.train(bes,
- parameters.getNumberOfIterations(), parameters.getCutoff());
+ parameters.getIterations(), parameters.getCutoff());
parseSamples.close();
Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java?rev=1148065&r1=1148064&r2=1148065&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java Mon Jul 18 21:44:06 2011
@@ -20,7 +20,9 @@ package opennlp.tools.cmdline.parser;
import java.io.File;
import java.io.IOException;
-import opennlp.tools.cmdline.BasicTrainingParameters;
+import opennlp.tools.cmdline.ArgumentParser;
+import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
+import opennlp.tools.cmdline.BasicTrainingParams;
import opennlp.tools.cmdline.CLI;
import opennlp.tools.cmdline.CmdLineTool;
import opennlp.tools.cmdline.CmdLineUtil;
@@ -33,35 +35,44 @@ import opennlp.tools.util.ObjectStream;
* Abstract base class for tools which update the parser model.
*/
abstract class ModelUpdaterTool implements CmdLineTool {
+
+ interface ModelUpdaterParams extends BasicTrainingParams {
+
+ @ParameterDescription(valueName = "modelFile", description = "the model file to be updated")
+ File getModel();
+
+ }
protected abstract ParserModel trainAndUpdate(ParserModel originalModel,
- ObjectStream<Parse> parseSamples, BasicTrainingParameters parameters)
+ ObjectStream<Parse> parseSamples, ModelUpdaterParams parameters)
throws IOException;
public String getHelp() {
- return "Usage: " + CLI.CMD + " " + getName() + " -data training.file -model parser.model";
+ return "Usage: " + CLI.CMD + " " + getName() + " "
+ + ArgumentParser.createUsage(ModelUpdaterParams.class);
}
public final void run(String[] args) {
- if (args.length < 8) {
- System.out.println(getHelp());
+ if (!ArgumentParser.validateArguments(args, ModelUpdaterParams.class)) {
+ System.err.println(getHelp());
throw new TerminateToolException(1);
}
- BasicTrainingParameters parameters = new BasicTrainingParameters(args);
+ ModelUpdaterParams params = ArgumentParser.parse(args,
+ ModelUpdaterParams.class);
// Load model to be updated
- File modelFile = new File(CmdLineUtil.getParameter("-model", args));
+ File modelFile = params.getModel();
ParserModel originalParserModel = new ParserModelLoader().load(modelFile);
- ObjectStream<Parse> parseSamples = ParserTrainerTool.openTrainingData(new File(CmdLineUtil.getParameter("-data", args)),
- parameters.getEncoding());
+ ObjectStream<Parse> parseSamples = ParserTrainerTool.openTrainingData(params.getData(),
+ params.getEncoding());
ParserModel updatedParserModel;
try {
updatedParserModel = trainAndUpdate(originalParserModel,
- parseSamples, parameters);
+ parseSamples, params);
}
catch (IOException e) {
CmdLineUtil.printTrainingIoError(e);