Hello,
often annotators are more flexible and reusable than its assumed in
UIMA.
The configuration is static to the annotator because it is set via
the descriptor.
There are annotators which benefit from determining the types to use
at runtime
via a configuration parameter. This is already possible (e.g the
example regex annotator),
but it is not possible to set the capabilities at runtime.
To improve this UIMA should ask the annotator for the capabilities.
To make the configuration
easier it could be considered to add a "Type" range type for parameters.
This type system mapping makes annotators independent of one specific
type system
and allows the reuse with another type system, e.g. currently its
hard to reuse a tokenizer
from one group and combine it with a pos annotator from another group
since
the token type would not match.
It is also not possible to set the language during runtime, e.g. an
annotator
could have a model/rule file which also specifies the language.
The language setting is then redundant in the descriptor.
It should also be considered to reuse annotators with different settings
e.g. a few name finder instances but with different models and
different output types.
This is too already possible but some information in the descriptor must
be duplicated for every instance, e.g. version, implementing class, etc.
What do you think ?
Jörn