You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Aaron Kaplan <Aa...@xrce.xerox.com> on 2007/11/21 12:53:35 UTC
Result Specifications in CPE
In Section 1.5.5.4 of "UIMA Tutorial and Developers' Guides" I read:
The Default Result Specification is always used for all components of
a Collection Processing Engine.
Why is this? Is it just because nobody's gotten around to putting in a
call to setResultSpecification, or is there some fundamental reason that
it couldn't be done?
What I would like is that when my annotator is instantiated inside a
CPE, it can skip generating certain annotations if no other component in
the CPE is going to consume them.
-Aaron
Result Specifications in CPE
Posted by Michael Baessler <mb...@michael-baessler.de>.
I think this is an documentation issue. Since we changed the code to
work fine with the capabilityLanguageFlow the Default ResultSpec is not
used in any case, right?
-- Michael
> Aaron Kaplan wrote:
>> In Section 1.5.5.4 of "UIMA Tutorial and Developers' Guides" I read:
>>
>> The Default Result Specification is always used for all components
>> of a Collection Processing Engine.
>>
>> Why is this? Is it just because nobody's gotten around to putting in
>> a call to setResultSpecification, or is there some fundamental reason
>> that it couldn't be done?
>>
>> What I would like is that when my annotator is instantiated inside a
>> CPE, it can skip generating certain annotations if no other component
>> in the CPE is going to consume them.
>>
>> -Aaron
> I think this is a documentation issue, but I'm not quite sure. I will
> start a discussion about this on the uima-dev list.
> I think when you use an aggregate AE with a capabilityLanguageFlow as
> flow constraint, a computed Result Specification is used.
>
> If you don't use an aggregate AE as CasProcessor I think it is true,
> that the Default Result Specification is used.
>
> We will let you know the result of the discussion on uima-dev.
>
> -- Michael
>
Re: Result Specifications in CPE
Posted by Aaron Kaplan <Aa...@xrce.xerox.com>.
Adam Lally wrote:
> The documentation may be a little confusing. What it means is that
> the default Result Spec is used for all _top level_ components in the
> CPE. For an aggregate AE, the rules in section 1.5.5.3 of the
> documentation apply _within_ that aggregate.
Great. Thanks for the clarification.
-Aaron
Re: Result Specifications in CPE
Posted by Adam Lally <al...@alum.rpi.edu>.
On Nov 21, 2007 8:02 AM, Michael Baessler <mb...@michael-baessler.de> wrote:
>
> Aaron Kaplan wrote:
> > In Section 1.5.5.4 of "UIMA Tutorial and Developers' Guides" I read:
> >
> > The Default Result Specification is always used for all components
> > of a Collection Processing Engine.
> >
> > Why is this? Is it just because nobody's gotten around to putting in
> > a call to setResultSpecification, or is there some fundamental reason
> > that it couldn't be done?
> >
> > What I would like is that when my annotator is instantiated inside a
> > CPE, it can skip generating certain annotations if no other component
> > in the CPE is going to consume them.
> >
> > -Aaron
> I think this is a documentation issue, but I'm not quite sure. I will
> start a discussion about this on the uima-dev list.
> I think when you use an aggregate AE with a capabilityLanguageFlow as
> flow constraint, a computed Result Specification is used.
>
> If you don't use an aggregate AE as CasProcessor I think it is true,
> that the Default Result Specification is used.
>
Yes, the last thing that Michael said is right.
The documentation may be a little confusing. What it means is that
the default Result Spec is used for all _top level_ components in the
CPE. For an aggregate AE, the rules in section 1.5.5.3 of the
documentation apply _within_ that aggregate.
So it is true that if you have an AE that outputs types x and y, and
you put that AE as a top-level component in a CPE, but no downstream
component of the CPE inputs type x, then the result spec. for your AE
will still include both types x and y. The same would be true if you
wrapped your AE in an aggregate that declared both x and y as outputs.
The bottom line is: downstream components of the CPE have no effect
on the result spec.
I don't think there's any fundamental reason for this, it's just that
no one ever got around to implementing it.
-Adam
Re: Result Specifications in CPE
Posted by Michael Baessler <mb...@michael-baessler.de>.
Aaron Kaplan wrote:
> In Section 1.5.5.4 of "UIMA Tutorial and Developers' Guides" I read:
>
> The Default Result Specification is always used for all components
> of a Collection Processing Engine.
>
> Why is this? Is it just because nobody's gotten around to putting in
> a call to setResultSpecification, or is there some fundamental reason
> that it couldn't be done?
>
> What I would like is that when my annotator is instantiated inside a
> CPE, it can skip generating certain annotations if no other component
> in the CPE is going to consume them.
>
> -Aaron
I think this is a documentation issue, but I'm not quite sure. I will
start a discussion about this on the uima-dev list.
I think when you use an aggregate AE with a capabilityLanguageFlow as
flow constraint, a computed Result Specification is used.
If you don't use an aggregate AE as CasProcessor I think it is true,
that the Default Result Specification is used.
We will let you know the result of the discussion on uima-dev.
-- Michael