Hello,

if I got it right the idea of uima is to provide a framework which can be extended by annotators which are developed by a 3rd party. A user can now go shopping for the annotators he needs, put them together and is happy. To put them togehter he must declare his own type system.

Now he will encounter a problem to get the annotators to work together with his type system. One solution might be to write little annotators which cast the FS instance to meet the annotators type system before it was executed and after that it will run again to cast the FS instances back.

What he have done is he has mapped his FS types to the annotator types and then mapped them back
to his FS types.

I have written uima wrappers for the opennlp project which nearly exactly do this natively. If some wants to use them he must specify his types in the descriptor and then the annotator
try to get instances of them.

http://opennlp.cvs.sourceforge.net/opennlp/opennlp.uima/src/opennlp/uima

Maybe it would make things for all easier to make this the default way.
If someone wants to use an annotator he must provide a mapping between annotator type system
and his own type system.

I think this would also solve your jcas problems, cause jcas types (classes) are then only
locally known by one annotator.

Jörn

Reply via email to