As part of my UIMA pipeline, I have a number of analysis engines that
produce different annotations based on their configuration. For instance,
you might configure a gazetteer annotator to annotate people in one
instance, and locations in another (potentially both within the same
pipeline). I also have a flow controller that looks at the inputs and
outputs of each analysis engine and works out the optimum order to run them
in.

However, I'm struggling to find a way for the analysis engine to pass
information about the types it consumers/produces to the flow controller. I
looked at doing it with capabilities, but that doesn't work because I am
unable to modify those capabilities (as far as I can tell) at run time to
match the configuration. I also looked at trying to use the Session object,
but it would appear that this is not shared between the FlowContext and the
UimaContext. The only thing I've found that is even remotely plausible is
that I can access the ConfigurationParameters of the analysis engine from
the flow controller, but using that will involve the flow controller having
an understanding of how each analysis engine can be configured so I'd
rather not use that if I can help it.

How can I pass information from the analysis engine to the flow controller?
Alternatively, is there a way to get from the analysis engine key to the
instance itself so that I can directly ask the analysis engine how it is
configured?

Thanks,
James

Reply via email to