Hi,

I managed to create a UIMA C++ component that performs POSTagging with
Pythonator. It works very well as a standalone annotator. I created a XMI
with sentence and token annotation, the Python code could iterate them and
create the POS tags. I could run it as follows

runAE.sh PythonAnnotator.xml -xmi xmi_folder


Now I am integrating it to the pipeline using UIMA Fit.



...

AggregateBuilder builder = new AggregateBuilder();

builder.add(AnalysisEngineFactory.createEngineDescription(SentDetect.class,

   SentenceModelResource.PARAM_SENTENCE_MODEL_RESOURCE, sentdetectModelRes
));

builder.add(AnalysisEngineFactory.createEngineDescription(Tokenizer.class,

  TokenizerModelResource.PARAM_TOKENIZER_MODEL_RESOURCE, tokenizerModelRes
));

builder.add(AnalysisEngineFactory.createEngineDescriptionFromPath(
"/complete_path/PythonAnnotator.xml"))


AnalysisEngine aggregate = builder.createAggregate();


It runs OK. I can see a log in the Python code that the "process" function
was called. It loads the type system. I can also run getDocumentText and it
works as expected.


The issue starts when I try to iterate over the sentence annotations. They
are not there! It works in the standalone version when I read it from XMI.


Any clue what I am missing?


Thank you,

William

Reply via email to