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);