Thanks Thilo, I appreciate your insight. After testing all of the example opennlp descriptors, the following situation has become apparent...

Except for OpenNLPSentenceDetector (which does not rely on previous annotations), it seems that none of the example (opennlp) non-aggregates are working. (They used to work, but now they don't). However, using them within aggregate descriptors works fine. For example, the OpenNLPAggregate descriptor does what it should do, but running the OpenNLPTokenizer descriptor alone does not annotate at all. I'm guessing this is a datapath configuration (or resource specification) problem, in which case I guess I'm on my own. The paths seem to check out though. Have you encountered this before?

Many thanks,

Sam


Thilo Goetz wrote:
Hm, maybe you're not invoking anything that
actually creates sentences?  Simply declaring
sentences as input requirement is not enough:
you need to also invoke the annotator to create
sentences.  You need to build an aggregate, see
http://incubator.apache.org/uima/downloads/releaseDocs/2.2.1-incubating/docs/html/tutorials_and_users_guides/tutorials_and_users_guides.html#ugr.tug.aae.building_aggregates

If that's not the problem, we'll need more info
(e.g., the full descriptor you created).

HTH,
Thilo

Sam Fisher wrote:
Hi UIMA Users,

I'm very new to UIMA (started exploring it last week). From following the uimaj-example tutorials, I was able to create an annotator that operates directly on a text document. Now I'm trying to create a descriptor and annotator code (i.e. a 'primitive' analysis engine) that simply looks at or accesses Sentence annotations.

In the descriptor (AnnotViewerDescr.xml), I've set the type system to use the OpenNLPExampleTypes.xml (which specifies/references the org.apache.uima.examples.opennlp.Sentence type). The capabillities are set to take the Sentence type as input. This descriptor is nearly identical to the OpenNLPTokenizer.xml file except that it points to AnnotViewer.java and does not "output" any capabilities.

In the AnnotViewer.java file, I copied and pasted (from Tokenizer.java) the AnnotationIndex declaration for the set of sentences, and then print whether or not the sentence annotations index contains anything. Here's the process method ...

<code>
public void process(JCas aJCas) throws AnalysisEngineProcessException  {

AnnotationIndex sentenceIndex = aJCas.getAnnotationIndex(Sentence.type);

// iterate over Sentences
FSIterator sentenceIterator = sentenceIndex.iterator();
System.out.println(sentenceIterator.isValid());//.hasNext();

}
</code>

The sentenceIterator.isValid() is returning "false" when asked if it has any sentence annotations. So the annotation is not happening or is not being found. Any thoughts? What am I leaving out?

Many thanks,

Sam





Reply via email to