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 18:59:01 GMT
It is different. In an aggregate, all AEs operate on the same CAS. There are cases though,
where an AE wants to call out to another AE to do some sub-processing on data that may not
even be in the original pipeline CAS.

Often such scenarios can also be solved by adding the new data to another view in the CAS
and apply subsequent processing steps to all views. But then you have to juggle around with
views, which causes all kinds of other inconveniences. 

While I can perfectly understand that people want to solve this within the UIMA framework,
I don't see a good way of doing that right now. Currently, I  prefer to solve such situations
outside of the UIMA framework and have started the DKPro Lab [1] framework to deal with cases
where I need to run multiple pipelines that interact with each other. But there might be ways
the UIMA framework itself can better be exploited to address such scenarios.

-- Richard

[1] http://code.google.com/p/dkpro-lab/

Am 10.06.2012 um 20:32 schrieb Roeder, Chris:

> How is this different from what aggregates are for?
> -Chris
> ________________________________________
> From: Richard Eckart de Castilho [eckart@ukp.informatik.tu-darmstadt.de]
> Sent: Friday, June 08, 2012 3:14 AM
> To: <user@uima.apache.org>
> Subject: Re: AW: Calling an annotator from another annotator
> Am 08.06.2012 um 10:50 schrieb <Armin.Wegner@bka.bund.de>
> <Armin.Wegner@bka.bund.de>:
>> At the moment, uimaFIT doesn't have explicit support for injecting AnalysisEngineDescriptors
directly as parameters. One could imagine something like this:
>>      createPrimitiveDescriptor(OuterAE.class,
>>               OuterAE.PARAM_NAME, "outer",
>>              OuterAE.PARAM_INNER_AE, createPrimitiveDescriptor(InnerAE.class,
>>                      PARAM_NAME, "inner");
> I've been thinking a bit more about this part. It looks intriguingly simple, but its
not as straight as with the external resources. When a analysis engine descriptor is created
with uimaFIT factories, I want it to be self-contained. Unfortunately, there is no good place
where auxiliary analysis engine descriptors could be stored in an AnalysisEngineDescription,
in particular a place from where the data could be accessed and injected into a component.
The straight-forward way of just serializing the descriptor into XML and passing that as a
String parameter would work, but it's so ugly that I don't even want to consider implementing
that... just imagine what would happen if that descriptor is opened in the Eclipse component
> I've opened an uimaFIT issue though - just in case.
>        http://code.google.com/p/uimafit/issues/detail?id=124
> -- 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