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 20:54:32 UTC
svn commit: r1148004 - in
/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind:
TokenNameFinderCrossValidatorTool.java TokenNameFinderTrainerTool.java
TrainingParameters.java TrainingParametersI.java TrainingParams.java
Author: colen
Date: Mon Jul 18 18:54:31 2011
New Revision: 1148004
URL: http://svn.apache.org/viewvc?rev=1148004&view=rev
Log:
OPENNLP-227 Updated Name Finder trainer and cv tools
Added:
incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java (contents, props changed)
- copied, changed from r1147973, incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParametersI.java
Removed:
incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParameters.java
incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParametersI.java
Modified:
incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java
incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java
Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java?rev=1148004&r1=1148003&r2=1148004&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java Mon Jul 18 18:54:31 2011
@@ -23,8 +23,8 @@ import java.nio.charset.Charset;
import java.util.Map;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CVParams;
import opennlp.tools.cmdline.CLI;
+import opennlp.tools.cmdline.CVParams;
import opennlp.tools.cmdline.CmdLineTool;
import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.TerminateToolException;
@@ -34,7 +34,7 @@ import opennlp.tools.util.ObjectStream;
public final class TokenNameFinderCrossValidatorTool implements CmdLineTool {
- interface Parameters extends TrainingParametersI, CVParams{
+ interface CVToolParams extends TrainingParams, CVParams{
}
@@ -48,17 +48,16 @@ public final class TokenNameFinderCrossV
public String getHelp() {
return "Usage: " + CLI.CMD + " " + getName() + " "
- + TrainingParameters.getParameterUsage() + " -data trainData\n"
- + TrainingParameters.getDescription();
+ + ArgumentParser.createUsage(CVToolParams.class);
}
public void run(String[] args) {
- if (!ArgumentParser.validateArguments(args, Parameters.class)) {
+ if (!ArgumentParser.validateArguments(args, CVToolParams.class)) {
System.err.println(getHelp());
throw new TerminateToolException(1);
}
- Parameters params = ArgumentParser.parse(args, Parameters.class);
+ CVToolParams params = ArgumentParser.parse(args, CVToolParams.class);
opennlp.tools.util.TrainingParameters mlParams = CmdLineUtil
.loadTrainingParameters(params.getParams(),false);
Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java?rev=1148004&r1=1148003&r2=1148004&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java Mon Jul 18 18:54:31 2011
@@ -25,10 +25,12 @@ import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.Map;
+import opennlp.tools.cmdline.ArgumentParser;
import opennlp.tools.cmdline.CLI;
import opennlp.tools.cmdline.CmdLineTool;
import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.TerminateToolException;
+import opennlp.tools.cmdline.TrainingToolParams;
import opennlp.tools.namefind.NameSample;
import opennlp.tools.namefind.NameSampleDataStream;
import opennlp.tools.namefind.TokenNameFinderModel;
@@ -39,6 +41,10 @@ import opennlp.tools.util.model.Artifact
import opennlp.tools.util.model.ModelUtil;
public final class TokenNameFinderTrainerTool implements CmdLineTool {
+
+ interface TrainerToolParams extends TrainingParams, TrainingToolParams{
+
+ }
public String getName() {
return "TokenNameFinderTrainer";
@@ -49,9 +55,8 @@ public final class TokenNameFinderTraine
}
public String getHelp() {
- return "Usage: " + CLI.CMD + " " + getName() + " " +
- TrainingParameters.getParameterUsage() + " -data trainingData -model model\n" +
- TrainingParameters.getDescription();
+ return "Usage: " + CLI.CMD + " " + getName() + " "
+ + ArgumentParser.createUsage(TrainerToolParams.class);
}
static ObjectStream<NameSample> openSampleData(String sampleDataName,
@@ -162,48 +167,44 @@ public final class TokenNameFinderTraine
public void run(String[] args) {
- if (args.length < 8) {
- System.out.println(getHelp());
+ if (!ArgumentParser.validateArguments(args, TrainerToolParams.class)) {
+ System.err.println(getHelp());
throw new TerminateToolException(1);
}
- TrainingParameters parameters = new TrainingParameters(args);
-
- if(!parameters.isValid()) {
- System.out.println(getHelp());
- throw new TerminateToolException(1);
- }
+ TrainerToolParams params = ArgumentParser.parse(args,
+ TrainerToolParams.class);
opennlp.tools.util.TrainingParameters mlParams =
- CmdLineUtil.loadTrainingParameters(CmdLineUtil.getParameter("-params", args), true);
+ CmdLineUtil.loadTrainingParameters(params.getParams(), true);
- File trainingDataInFile = new File(CmdLineUtil.getParameter("-data", args));
- File modelOutFile = new File(CmdLineUtil.getParameter("-model", args));
+ File trainingDataInFile = params.getData();
+ File modelOutFile = params.getModel();
- byte featureGeneratorBytes[] = openFeatureGeneratorBytes(parameters.getFeatureGenDescriptorFile());
+ byte featureGeneratorBytes[] = openFeatureGeneratorBytes(params.getFeaturegen());
// TODO: Support Custom resources:
// Must be loaded into memory, or written to tmp file until descriptor
// is loaded which defines parses when model is loaded
- Map<String, Object> resources = loadResources(parameters.getResourceDirectory());
+ Map<String, Object> resources = loadResources(params.getResources());
CmdLineUtil.checkOutputFile("name finder model", modelOutFile);
ObjectStream<NameSample> sampleStream = openSampleData("Training", trainingDataInFile,
- parameters.getEncoding());
+ params.getEncoding());
TokenNameFinderModel model;
try {
if (mlParams == null) {
- model = opennlp.tools.namefind.NameFinderME.train(parameters.getLanguage(), parameters.getType(),
- sampleStream, featureGeneratorBytes, resources, parameters.getNumberOfIterations(),
- parameters.getCutoff());
+ model = opennlp.tools.namefind.NameFinderME.train(params.getLang(), params.getType(),
+ sampleStream, featureGeneratorBytes, resources, params.getIterations(),
+ params.getCutoff());
}
else {
model = opennlp.tools.namefind.NameFinderME.train(
- parameters.getLanguage(), parameters.getType(), sampleStream,
+ params.getLang(), params.getType(), sampleStream,
mlParams, featureGeneratorBytes, resources);
}
}
Copied: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java (from r1147973, incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParametersI.java)
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java?p2=incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java&p1=incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParametersI.java&r1=1147973&r2=1148004&rev=1148004&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParametersI.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java Mon Jul 18 18:54:31 2011
@@ -28,7 +28,7 @@ import opennlp.tools.cmdline.BasicTraini
*
* Note: Do not use this class, internal use only!
*/
-interface TrainingParametersI extends BasicTrainingParams {
+interface TrainingParams extends BasicTrainingParams {
@ParameterDescription(valueName = "modelType", description = "The type of the token name finder model")
@OptionalParameter(defaultValue = "default")
Propchange: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java
------------------------------------------------------------------------------
svn:mime-type = text/plain