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:14:32 UTC

svn commit: r1147993 - in /incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker: ChunkerCrossValidatorTool.java ChunkerTrainerTool.java TrainingParams.java

Author: colen
Date: Mon Jul 18 18:14:30 2011
New Revision: 1147993

URL: http://svn.apache.org/viewvc?rev=1147993&view=rev
Log:
OPENNLP-227 Updated Chunker trainer and cv tools

Added:
    incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java   (with props)
Modified:
    incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java
    incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java

Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java?rev=1147993&r1=1147992&r2=1147993&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java Mon Jul 18 18:14:30 2011
@@ -23,8 +23,8 @@ import java.io.IOException;
 import opennlp.tools.chunker.ChunkSample;
 import opennlp.tools.chunker.ChunkerCrossValidator;
 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;
@@ -32,6 +32,10 @@ import opennlp.tools.util.ObjectStream;
 import opennlp.tools.util.eval.FMeasure;
 
 public final class ChunkerCrossValidatorTool implements CmdLineTool {
+  
+  interface CVToolParams extends TrainingParams, CVParams {
+    
+  }
 
   public String getName() {
     return "ChunkerCrossValidator";
@@ -43,17 +47,17 @@ public final class ChunkerCrossValidator
   
   public String getHelp() {
     return "Usage: " + CLI.CMD + " " + getName() + " "
-        + ArgumentParser.createUsage(CVParams.class);
+        + ArgumentParser.createUsage(CVToolParams.class);
   }
 
   public void run(String[] args) {
-    if (!ArgumentParser.validateArguments(args, CVParams.class)) {
+    if (!ArgumentParser.validateArguments(args, CVToolParams.class)) {
       System.err.println(getHelp());
       throw new TerminateToolException(1);
     }
     
-    CVParams params = ArgumentParser.parse(args,
-        CVParams.class);
+    CVToolParams params = ArgumentParser.parse(args,
+        CVToolParams.class);
     
     File trainingDataInFile = params.getData();
     CmdLineUtil.checkInputFile("Training Data", trainingDataInFile);

Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java?rev=1147993&r1=1147992&r2=1147993&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java Mon Jul 18 18:14:30 2011
@@ -27,15 +27,20 @@ import opennlp.tools.chunker.ChunkSample
 import opennlp.tools.chunker.ChunkerME;
 import opennlp.tools.chunker.ChunkerModel;
 import opennlp.tools.chunker.DefaultChunkerContextGenerator;
-import opennlp.tools.cmdline.BasicTrainingParameters;
+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.util.ObjectStream;
 import opennlp.tools.util.PlainTextByLineStream;
 
 public class ChunkerTrainerTool implements CmdLineTool {
+  
+  interface TrainerToolParams extends TrainingParams, TrainingToolParams{
+
+  }
 
   public String getName() {
     return "ChunkerTrainerME";
@@ -46,9 +51,8 @@ public class ChunkerTrainerTool implemen
   }
 
   public String getHelp() {
-    return "Usage: " + CLI.CMD + " " + getName()
-        + BasicTrainingParameters.getParameterUsage() + " -data trainingData -model model\n" +
-        BasicTrainingParameters.getDescription();
+    return "Usage: " + CLI.CMD + " " + getName() + " "
+        + ArgumentParser.createUsage(TrainingToolParams.class);
   }
 
   static ObjectStream<ChunkSample> openSampleData(String sampleDataName,
@@ -65,36 +69,32 @@ public class ChunkerTrainerTool implemen
   
   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);
     }
     
-    BasicTrainingParameters parameters = new BasicTrainingParameters(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), false);
+      CmdLineUtil.loadTrainingParameters(params.getParams(), false);
     
-    File trainingDataInFile = new File(CmdLineUtil.getParameter("-data", args));
-    File modelOutFile = new File(CmdLineUtil.getParameter("-model", args));
+    File trainingDataInFile = params.getData();
+    File modelOutFile = params.getModel();
 
     CmdLineUtil.checkOutputFile("sentence detector model", modelOutFile);
     ObjectStream<ChunkSample> sampleStream = 
-      openSampleData("Training", trainingDataInFile, parameters.getEncoding());
+      openSampleData("Training", trainingDataInFile, params.getEncoding());
     
     ChunkerModel model;
     try {
       if (mlParams == null) {
-        model = ChunkerME.train(parameters.getLanguage(), sampleStream, 
-            parameters.getCutoff(), parameters.getNumberOfIterations());
+        model = ChunkerME.train(params.getLang(), sampleStream, 
+            params.getCutoff(), params.getIterations());
       }
       else {
-        model = ChunkerME.train(parameters.getLanguage(), sampleStream, 
+        model = ChunkerME.train(params.getLang(), sampleStream, 
             new DefaultChunkerContextGenerator(), mlParams);
       }
     } catch (IOException e) {

Added: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java?rev=1147993&view=auto
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java (added)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java Mon Jul 18 18:14:30 2011
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.cmdline.chunker;
+
+import opennlp.tools.cmdline.BasicTrainingParams;
+
+/**
+ * TrainingParams for Chunker.
+ * 
+ * Note: Do not use this class, internal use only!
+ */
+interface TrainingParams extends BasicTrainingParams {
+  
+}

Propchange: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain