uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Lally" <ala...@alum.rpi.edu>
Subject Re: Default Result Specifications too complicated?
Date Tue, 17 Apr 2007 13:36:19 GMT
On 4/17/07, Michael Baessler <mba@michael-baessler.de> wrote:
> Sorry, I currently don't understand what is going on here...
> you mentioned above how the default Result Spec is computed. But I think
> the Result Spec depends on the used
> aggregate flow, isn't it? So what flow is used in the sample above, the
> fixed flow? I know when using the capabilityLanguageFlow all is slightly
> different for example.
> So my thought was that the Result Spec depends on the used flow and if
> the flow does not manipulate the Result Spec the annotators produce all
> they can.

This changed in 2.0 with the introduction of the flow controller.  The
ResultSpec no longer has any dependence on the flow.  The framework
assumes the most general case of the custom flow controller.

The effect is that an annotator's ResultSpec will include all of the
input types of *any* component in the same aggregate, even if that
component happens to run before the annotator, not after it.  We
decide that this is such a strange case that it wasn't worth worrying

> So is "all they can" implemented as default Result Spec? If true, I
> think in this case we can turn off/ignore the Result Spec.

The default result spec is not "all they can".  A type is only
included in an annotator's default result spec if one of the following
is true:
(a) The type is listed in the outputs of all containing aggregates (so
it's concluded that the type is a final output of the whole aggregate
which the application may inspect)
(b) The type is listed in the inputs of some other component of the
aggregate (so it's concluded that the type may be a necessary
intermediate type that some other annotator may inspect in order to
produce output that's of interest to the application)

As I recall, you (Michael) and/or Thilo felt that a default result
spec of "all they can" was not appropriate, and that it was a
necessary feature to restrict the outputs of an annotator based on the
declared outputs of an enclosing aggregate.  In any case this was
always done in the capability language flow in previous versions of
UIMA, but in 2.0 was generalized to be independent of flow.


View raw message