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 2017/08/31 12:10:55 UTC

[opennlp] branch master updated: OPENNLP-1125: Change misclassified report layout for LanguageDetector

This is an automated email from the ASF dual-hosted git repository.

colen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/opennlp.git


The following commit(s) were added to refs/heads/master by this push:
     new f82b5b5  OPENNLP-1125: Change misclassified report layout for LanguageDetector
f82b5b5 is described below

commit f82b5b57840389fcfdc4f16cb75703361d6ea059
Author: William D C M SILVA <co...@apache.org>
AuthorDate: Tue Aug 29 09:45:54 2017 -0300

    OPENNLP-1125: Change misclassified report layout for LanguageDetector
---
 .../LanguageDetectorEvaluationErrorListener.java           |  7 +++++++
 .../tools/langdetect/LanguageDetectorEvaluatorTest.java    | 14 +++++++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluationErrorListener.java b/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluationErrorListener.java
index 073ef31..eeec89d 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluationErrorListener.java
+++ b/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluationErrorListener.java
@@ -44,6 +44,7 @@ public class LanguageDetectorEvaluationErrorListener extends
    */
   public LanguageDetectorEvaluationErrorListener(OutputStream outputStream) {
     super(outputStream);
+    printStream.println("Expected\tPredicted\tContext");
   }
 
   @Override
@@ -51,4 +52,10 @@ public class LanguageDetectorEvaluationErrorListener extends
     printError(reference, prediction);
   }
 
+  @Override
+  protected void printError(LanguageSample referenceSample, LanguageSample predictedSample) {
+    printStream.println(String.join("\t", referenceSample.getLanguage().getLang(),
+        predictedSample.getLanguage().getLang(),
+        referenceSample.getContext()));
+  }
 }
diff --git a/opennlp-tools/src/test/java/opennlp/tools/langdetect/LanguageDetectorEvaluatorTest.java b/opennlp-tools/src/test/java/opennlp/tools/langdetect/LanguageDetectorEvaluatorTest.java
index 8bdd71b..5e8b2ea 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/langdetect/LanguageDetectorEvaluatorTest.java
+++ b/opennlp-tools/src/test/java/opennlp/tools/langdetect/LanguageDetectorEvaluatorTest.java
@@ -17,11 +17,15 @@
 
 package opennlp.tools.langdetect;
 
+import java.io.ByteArrayOutputStream;
+import java.nio.charset.StandardCharsets;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.junit.Assert;
 import org.junit.Test;
 
+import opennlp.tools.cmdline.langdetect.LanguageDetectorEvaluationErrorListener;
+
 
 public class LanguageDetectorEvaluatorTest {
 
@@ -33,6 +37,8 @@ public class LanguageDetectorEvaluatorTest {
     final AtomicInteger correctCount = new AtomicInteger();
     final AtomicInteger incorrectCount = new AtomicInteger();
 
+    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+
     LanguageDetectorEvaluator evaluator = new LanguageDetectorEvaluator(langdetector,
         new LanguageDetectorEvaluationMonitor() {
           @Override
@@ -46,7 +52,7 @@ public class LanguageDetectorEvaluatorTest {
                                      LanguageSample prediction) {
             incorrectCount.incrementAndGet();
           }
-        });
+        }, new LanguageDetectorEvaluationErrorListener(outputStream));
 
     evaluator.evaluateSample(new LanguageSample(new Language("pob"),
         "escreve e faz palestras pelo mundo inteiro sobre anjos"));
@@ -63,6 +69,12 @@ public class LanguageDetectorEvaluatorTest {
 
     Assert.assertEquals(3, evaluator.getDocumentCount());
     Assert.assertEquals(0.33, evaluator.getAccuracy(), 0.01);
+
+    String report = outputStream.toString(StandardCharsets.UTF_8.name());
+
+    Assert.assertEquals("Expected\tPredicted\tContext\n" +
+        "fra\tpob\tescreve e faz palestras pelo mundo inteiro sobre anjos\n" +
+        "fra\tpob\tescreve e faz palestras pelo mundo inteiro sobre anjos\n", report);
   }
 
 }

-- 
To stop receiving notification emails like this one, please contact
['"commits@opennlp.apache.org" <co...@opennlp.apache.org>'].