At some point I had started a project to create an XSLT style of CAS
transformer, to do all of the annotation based transformations (rather
than data oriented stuff that looks at the text itself).  I can look and
see what shape that is in but I haven't had much luck in getting code
donations past management/legal in the past.  At any rate this would in
general be a very useful project.  I also would like to see Marshall's
suggestion of having a feature-name alias mapping be part of the
framework itself, somewhat similar to the Sofa Name Mapping capability
that is already there.

-----Original Message-----
From: Michael Baessler [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 13, 2008 11:09 AM
To: [email protected]
Subject: Annotation Mapping Annotator

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

Reply via email to