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()]);
}