Is there some interest/need in the UIMA community to have an annotation mapping
annotator?
I think some of you might know the issue that different UIMA components work on
different
annotations and type systems. A mapping annotator component could be used to
translate the
annotations between these different requirements. E.g. we have a tokenizer
component at the
beginning of the analysis flow that produces example.Token annotations with a
POS feature set. Later
in the flow have a component that needs that information, but expects an
example.Noun annotation.
Unfortunately there is no way to configure both components to produce or read
different annotation
types, so in that case we need a mapping.
Tokenizer creates:
example.Token (2,8)
POS = NN
Mapping annotator translates this to:
example.Noun (2,8)
posTag = NN
If there is a need for such a component we can reuse some of the code developed
for the UIMA
SimpleServer. The SimpleServer has a mapping syntax with additional filtering
as shown below.
The mapping for the example above looks like:
<type name="example.Token" outputTag="example.Noun">
<filters>
<filter featurePath="POS" operator="=" value="NN" />
</filters>
<outputs>
<output featurePath="pos" outputAttribute="posTag"/>
</outputs>
</type>
Any feedback/comments for such a component?
Are there any implementations available?
-- Michael