uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Eckart de Castilho <eck...@ukp.informatik.tu-darmstadt.de>
Subject Re: AW: Calling an annotator from another annotator
Date Sun, 10 Jun 2012 00:35:32 GMT
Am 08.06.2012 um 15:41 schrieb <Armin.Wegner@bka.bund.de>
> Hello Richard!
> Besides view selection, your suggestion works. The outer analysis engine works on the
view given by AggregateBuilder.add(analysisEngineDescription, CAS.NAME_DEFAULT_SOFA, viewName)
as it should. The inner analysis engine is called with analysisEngine.process(cas) from the
outer ae's process(CAS cas) method, where cas is the specified view. But the CAS of the inner
ae's process method is _initialView. The inner ae's view must be explicitly set.

I would naively have expected that the view is passed though, but then again I'm not too surprised
that it isn't.

> I've encountered these kinds of difficulties before. All these stuff with views just
beeing CASes of theire own as suggested by the documentation is just not true. I think that
this is a principle UIMA CAS design issue. It is not possible to extract a view and save it
as a separate CAS, e. g. for getting rid of all the annotations of intermediate pipeline processes
which I do not want to be in the final result, or persisting just one view as a lean CAS of
its own. 

You can use a CasMultiplier which takes one input CAS and uses a CasCopier to copy only a
certain view to an output CAS. Then you can save the new CAS to a file. It's not possible
(to my knowledge) to use XMI or XCAS writers to write only a single view.

-- Richard

Richard Eckart de Castilho
Technical Lead
Ubiquitous Knowledge Processing Lab (UKP-TUD) 
FB 20 Computer Science Department      
Technische Universit├Ąt Darmstadt 
Hochschulstr. 10, D-64289 Darmstadt, Germany 
phone [+49] (0)6151 16-7477, fax -5455, room S2/02/B117
Web Research at TU Darmstadt (WeRC) www.werc.tu-darmstadt.de

View raw message