Author: rwesten
Date: Tue Feb 22 08:38:33 2011
New Revision: 1073251

URL: http://svn.apache.org/viewvc?rev=1073251&view=rev
Log:
Resolves STANBOL-60: If no Sentence can be detected by openNLP, than the whole 
text is used as sentence. Previous to that the parsed text was not analysed 
when no sentence was detected.

Modified:
    
incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/NamedEntityExtractionEnhancementEngine.java

Modified: 
incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/NamedEntityExtractionEnhancementEngine.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/NamedEntityExtractionEnhancementEngine.java?rev=1073251&r1=1073250&r2=1073251&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/NamedEntityExtractionEnhancementEngine.java
 (original)
+++ 
incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/NamedEntityExtractionEnhancementEngine.java
 Tue Feb 22 08:38:33 2011
@@ -333,13 +333,21 @@ public class NamedEntityExtractionEnhanc
         sentencePositions[0] = 0;
         System.arraycopy(sentenceEndings, 0, sentencePositions, 1,
                 sentenceEndings.length);
-        String[] sentences = new String[sentenceEndings.length];
-        for (int i = 0; i < sentences.length; i++) {
-            log.debug(String.format("Sentence %d from char %d to %d", i,
-                    sentencePositions[i], sentencePositions[i + 1]));
-            sentences[i] = text.substring(sentencePositions[i],
-                    sentencePositions[i + 1]);
-            log.debug("Sentence: " + sentences[i]);
+        String[] sentences;
+        if(sentenceEndings.length<1){
+            //STANBOL-60: if no sentence is detected treat the whole text as 
+            //one sentence.
+            log.debug("No sentence detected -> use whole text as one element");
+            sentences = new String[] {text};
+        } else {
+            sentences = new String[sentenceEndings.length];
+            for (int i = 0; i < sentences.length; i++) {
+                log.debug(String.format("Sentence %d from char %d to %d", i,
+                        sentencePositions[i], sentencePositions[i + 1]));
+                sentences[i] = text.substring(sentencePositions[i],
+                        sentencePositions[i + 1]);
+                log.debug("Sentence: " + sentences[i]);
+            }
         }
 
         NameFinderME finder = new NameFinderME(nameFinderModel);


Reply via email to