You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2013/09/16 12:50:49 UTC

svn commit: r1523583 - in /opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools: cmdline/EvaluationErrorPrinter.java cmdline/namefind/NameEvaluationErrorListener.java namefind/NameSample.java

Author: joern
Date: Mon Sep 16 10:50:48 2013
New Revision: 1523583

URL: http://svn.apache.org/r1523583
Log:
OPENNLP-595 Added support for an optional NameSample id

Modified:
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSample.java

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java?rev=1523583&r1=1523582&r2=1523583&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java Mon Sep 16 10:50:48 2013
@@ -55,7 +55,7 @@ public abstract class EvaluationErrorPri
   }
 
   // for namefinder, chunker...
-  protected void printError(Span references[], Span predictions[],
+  protected void printError(String id, Span references[], Span predictions[],
       T referenceSample, T predictedSample, String[] sentenceTokens) {
     List<Span> falseNegatives = new ArrayList<Span>();
     List<Span> falsePositives = new ArrayList<Span>();
@@ -64,6 +64,10 @@ public abstract class EvaluationErrorPri
 
     if (falsePositives.size() + falseNegatives.size() > 0) {
 
+      if (id != null) {
+        printStream.println("Id: {" + id + "}");
+      }
+      
       printSamples(referenceSample, predictedSample);
 
       printErrors(falsePositives, falseNegatives, sentenceTokens);
@@ -71,6 +75,11 @@ public abstract class EvaluationErrorPri
     }
   }
 
+  protected void printError(Span references[], Span predictions[],
+      T referenceSample, T predictedSample, String[] sentenceTokens) {
+    printError(null, references, predictions, referenceSample, predictedSample, sentenceTokens);
+  }
+  
   // for pos tagger
   protected void printError(String references[], String predictions[],
       T referenceSample, T predictedSample, String[] sentenceTokens) {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java?rev=1523583&r1=1523582&r2=1523583&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java Mon Sep 16 10:50:48 2013
@@ -48,7 +48,7 @@ public class NameEvaluationErrorListener
 
   @Override
   public void missclassified(NameSample reference, NameSample prediction) {
-    printError(reference.getNames(), prediction.getNames(), reference,
+    printError(reference.getId(), reference.getNames(), prediction.getNames(), reference,
         prediction, reference.getSentence());
   }
 

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSample.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSample.java?rev=1523583&r1=1523582&r2=1523583&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSample.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSample.java Mon Sep 16 10:50:48 2013
@@ -33,6 +33,7 @@ import opennlp.tools.util.Span;
  */
 public class NameSample {
 
+  private final String id;
   private final List<String> sentence;
   private final List<Span> names;
   private final String[][] additionalContext;
@@ -41,18 +42,11 @@ public class NameSample {
   /** The a default type value when there is no type in training data. */
   public static final String DEFAULT_TYPE = "default";
 
-  /**
-   * Initializes the current instance.
-   *
-   * @param sentence training sentence
-   * @param names
-   * @param additionalContext
-   * @param clearAdaptiveData if true the adaptive data of the 
-   *     feature generators is cleared
-   */
-  public NameSample(String[] sentence, Span[] names,
+  public NameSample(String id, String[] sentence, Span[] names,
       String[][] additionalContext, boolean clearAdaptiveData) {
-
+    
+    this.id = id;
+    
     if (sentence == null) {
       throw new IllegalArgumentException("sentence must not be null!");
     }
@@ -79,11 +73,29 @@ public class NameSample {
     
     // TODO: Check that name spans are not overlapping, otherwise throw exception
   }
+  
+  /**
+   * Initializes the current instance.
+   *
+   * @param sentence training sentence
+   * @param names
+   * @param additionalContext
+   * @param clearAdaptiveData if true the adaptive data of the 
+   *     feature generators is cleared
+   */
+  public NameSample(String[] sentence, Span[] names,
+      String[][] additionalContext, boolean clearAdaptiveData) {
+    this(null, sentence, names, additionalContext, clearAdaptiveData);
+  }
 
   public NameSample(String[] sentence, Span[] names, boolean clearAdaptiveData) {
     this(sentence, names, null, clearAdaptiveData);
   }
   
+  public String getId() {
+    return id;
+  }
+  
   public String[] getSentence() {
     return sentence.toArray(new String[sentence.size()]);
   }