You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by al...@apache.org on 2007/01/10 23:13:11 UTC
svn commit: r495007 -
/incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/annotator_analysis_engine_guide.xml
Author: alally
Date: Wed Jan 10 14:13:10 2007
New Revision: 495007
URL: http://svn.apache.org/viewvc?view=rev&rev=495007
Log:
Fixed incorrect section nesting in Result Specification section of Annotator and AE Developer's Guide.
Modified:
incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/annotator_analysis_engine_guide.xml
Modified: incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/annotator_analysis_engine_guide.xml
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/annotator_analysis_engine_guide.xml?view=diff&rev=495007&r1=495006&r2=495007
==============================================================================
--- incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/annotator_analysis_engine_guide.xml (original)
+++ incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/annotator_analysis_engine_guide.xml Wed Jan 10 14:13:10 2007
@@ -1898,7 +1898,7 @@
</section>
</section>
<section id="ugr.tug.aae.result_specification_setting">
- <title>Result Specification Setting</title>
+ <title>Result Specifications</title>
<para>The Result Specification is passed to the annotator instance by calling its
setResultSpecificaiton method. When called, the default implementation saves the
@@ -1918,120 +1918,69 @@
specify it, or choose not to specify it (for example, using the form of the
process(...) call on an Analysis Engine that doesn't include the Result
Specification), a <quote>Default</quote> Result Specification is used.</para>
-
- </section>
-
- <section id="ugr.tug.aae.result_spec.default">
- <title>Default ResultSpecification</title>
-
- <para>The default Result Specification is taken from the Engine's output
- Capability Specification. Remember that a Capability Specification has both
- inputs and outputs, can specify types and / or features, and there can be more than one
- Capability Set. If there is more than one set, the logical union of these sets is used.
- The default Result Specification is exactly what's included in the output
- Capability Specification.</para>
-
- </section>
-
- <section id="ugr.tug.aae.result_spec.passing_to_annotators">
- <title>Passing Result Specifications to Annotators</title>
-
- <para>If you are not using a Collection Processing Engine, you can specify a Result
- Specification for your AnalysisEngine(s) by calling the
- <literal>AnalysisEngine.setResultSpecification(ResultSpecification)</literal>
- method.</para>
- <para>It is also possible to pass a Result Specification on each call to
- <literal>AnalysisEngine.process(CAS, ResultSpecification)</literal>. However,
- this is not recommended if your Result Specification will stay constant across
- multiple calls to
- <literal>process</literal>. In that case it will be more efficient to call
- <literal>AnalysisEngine.setResultSpecification(ResultSpecification)</literal>
- only when the Result Specification changes.</para>
- <para> For primitive Analysis Engines, whatever Result Specification you pass in is
- passed along to the annotator's
- <literal>setResultSpecification(ResultSpecification)</literal> method. For
- aggregate Analysis Engines, see below.</para>
- </section>
-
- <section id="ugr.tug.aae.result_spec.aggregates">
- <title>Aggregates</title>
-
- <para>For aggregate engines, the Result Specification passed to the
- <code>AnalysisEngine.setResultSpecification(ResultSpecification)</code>
- method is intended to specify the set of output types/features that the aggregate
- should produce. This is not necessarily equivalent to the set of output
- types/features that each annotator should produce. For example, an annotator may
- need to produce an intermediate type that is then consumed by a downstream annotator,
- even though that intermediate type is not part of the Result Specification.</para>
- <para>To handle this situation, when
- <code>AnalysisEngine.setResultSpecification(ResultSpecification)</code>
- is called on an aggregate, the framework computes the union of the passed Result
- Specification with the set of
- <emphasis>all</emphasis> input types and features of
- <emphasis>all</emphasis> component AnalysisEngines within that aggregate. This forms the
- complete set of types and features that any component of the aggregate might need to
- produce. This derived Result Specification is then passed to the
- <code>AnalysisEngine.setResultSpecification(ResultSpecification)</code>
- of each component AnalysisEngine. In the case of nested aggregates, this procedure
- is applied recursively.</para>
- <!-- to be deleted because design changed
- <para>For aggregate engines, the value passed to the primitive annotator code depends
- on the kind of flow.</para>
-
- <section id="ugr.tug.aae.result_spec.aggregates.fixed_flow">
- <title>Fixed Flow</title>
-
- <para>For FixedFlow, any ResultSpecification passed into the aggregate is
- ignored, and instead, each primitive annotator is passed a result spec that
- corresponds to the union of its output capability specifications at the primitive
- descriptor level. If no output capability specification is given, the annotator
- will still be called, but the result specification will be empty.</para>
+
+ <section id="ugr.tug.aae.result_spec.default">
+ <title>Default ResultSpecification</title>
+
+ <para>The default Result Specification is taken from the Engine's output
+ Capability Specification. Remember that a Capability Specification has both
+ inputs and outputs, can specify types and / or features, and there can be more than one
+ Capability Set. If there is more than one set, the logical union of these sets is used.
+ The default Result Specification is exactly what's included in the output
+ Capability Specification.</para>
</section>
- <section id="ugr.tug.aae.result_spec.aggregates.capability_language_flow">
- <title>CapabilityLanguageFlow</title>
- <para>For CapabilityLanguageFlow, each annotator is passed a
- ResultSpecification that is the intersection of the primitive annotator's
- output Capability Specification with the ResultSpecification passed to the
- aggregate. If this intersection is null (the annotator does not produce any type or
- feature included in the ResultSpecification), the annotator will not be called at
- all.</para>
+ <section id="ugr.tug.aae.result_spec.passing_to_annotators">
+ <title>Passing Result Specifications to Annotators</title>
- <para>Therefore, if using the CapabilityLanguageFlow, if you want to supply a
- custom ResultSpecification for the aggregate it must include any intermediate
- types that need to be produced internally in the flow, or else things will not work
- properly.</para>
+ <para>If you are not using a Collection Processing Engine, you can specify a Result
+ Specification for your AnalysisEngine(s) by calling the
+ <literal>AnalysisEngine.setResultSpecification(ResultSpecification)</literal>
+ method.</para>
+ <para>It is also possible to pass a Result Specification on each call to
+ <literal>AnalysisEngine.process(CAS, ResultSpecification)</literal>. However,
+ this is not recommended if your Result Specification will stay constant across
+ multiple calls to
+ <literal>process</literal>. In that case it will be more efficient to call
+ <literal>AnalysisEngine.setResultSpecification(ResultSpecification)</literal>
+ only when the Result Specification changes.</para>
+ <para> For primitive Analysis Engines, whatever Result Specification you pass in is
+ passed along to the annotator's
+ <literal>setResultSpecification(ResultSpecification)</literal> method. For
+ aggregate Analysis Engines, see below.</para>
</section>
- <section id="ugr.tug.aae.skipping_ae_in_capability_language_flow">
- <title>Special rule for skipping Analysis Engines</title>
-
- <para>When using the CapabilityLanguageFlow, an annotator will be also be skipped
- if all of its outputs are in the output capability of some annotator(s) that has
- (have) executed previously in the flow. The concept here is that if all of an
- annotator's output types have already been produced, that annotator will
- not be called.</para>
-
- <para>For an Aggregate, each annotator is passed a Result Specification that is the
- intersection of the set of types mentioned in its output with the Result
- Specification passed to the aggregate. If this intersection is null (the
- annotator does not produce any type included in the ResultSpecification), the
- annotator will not be called at all.</para>
+ <section id="ugr.tug.aae.result_spec.aggregates">
+ <title>Aggregates</title>
- <para>Therefore, if using the CapabilityLanguageFlow, if you want to supply a
- custom ResultSpecification for the aggregate it must include any intermediate
- types that need to be produced, or else things will not work properly.</para>
- </section>
- -->
+ <para>For aggregate engines, the Result Specification passed to the
+ <code>AnalysisEngine.setResultSpecification(ResultSpecification)</code>
+ method is intended to specify the set of output types/features that the aggregate
+ should produce. This is not necessarily equivalent to the set of output
+ types/features that each annotator should produce. For example, an annotator may
+ need to produce an intermediate type that is then consumed by a downstream annotator,
+ even though that intermediate type is not part of the Result Specification.</para>
+ <para>To handle this situation, when
+ <code>AnalysisEngine.setResultSpecification(ResultSpecification)</code>
+ is called on an aggregate, the framework computes the union of the passed Result
+ Specification with the set of
+ <emphasis>all</emphasis> input types and features of
+ <emphasis>all</emphasis> component AnalysisEngines within that aggregate. This forms the
+ complete set of types and features that any component of the aggregate might need to
+ produce. This derived Result Specification is then passed to the
+ <code>AnalysisEngine.setResultSpecification(ResultSpecification)</code>
+ of each component AnalysisEngine. In the case of nested aggregates, this procedure
+ is applied recursively.</para>
+ </section>
<section id="ugr.tug.aae.result_spec.aggregates.cpes">
<title>Collection Proessing Engines</title>
-
+
<para>The Default Result Specification is always used for all components of a
- Collection Processing Engine.</para>
-
+ Collection Processing Engine.</para>
</section>
</section>
+
<section id="ugr.tug.aae.classpath_when_using_jcas">
<title>Class path setup when using JCas</title>