uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuong Ngo <cngo....@gmail.com>
Subject Re: Problems with Annotators using a non-default View
Date Thu, 27 Mar 2014 06:19:03 GMT
Eddie:

I mispoke slight earlier.  We have 3 analysis engines: one to create a new
view, one to work on that new view, and one that calls the previous two.
Let's call them A, B, and C respectively.  So C calls A and then B in a
fixed flow order utilizing custom resource specifier.  C is the full
pipeline and does not specify any input or output sofas.  Previously, A was
not included in the C pipeline and was called separately.  We are trying to
integrate A into C to simplify things.  Thanks in advance.

Chuong Ngo


On Wed, Mar 26, 2014 at 6:16 PM, Eddie Epstein <eaepstein@gmail.com> wrote:

> Would be nice to see the big picture, how the JMS services are integrated
> into the full pipeline. Sounds like you have two, separate, "remote" JMS
> annotators, which are being called from an aggregate on a "local" client.
> And guessing that there is sofamapping on the aggregate, for the two remote
> delegates?
>
> Anyway, sofamapping currently does not work across to remote services. The
> workaround is to wrap a remote annotator in an aggregate with the same
> sofamapping specified there as in the local client.
>
> Note also that by setting sofa capabilities in its descriptor, an annotator
> is declaring itself "view aware", which changes the View delivered to the
> annotator's process method. A view aware annotator receives something
> called a base CAS which does not have a sofa, and has to use getView to
> work with real views.
>
> The whole ball of wax is at
>
> http://uima.apache.org/d/uimaj-2.5.0/tutorials_and_users_guides.html#ugr.tug.mvs
>
>
>
> On Wed, Mar 26, 2014 at 12:04 PM, Chuong Ngo <cngo.nlp@gmail.com> wrote:
>
> > I have two annotators that are being used via JMS calls in UIMA AS.  The
> > first annotator creates a separate view that then needs to be read by the
> > second annotator.  The view is created with:
> >
> > String destinationId = "SomeView";
> > JCas targetView = aJCas.createView(destinationId);
> > String text = "hold the new text."
> > ...
> > targetView.setDocumentText(text);
> > targetView.setDocumentLanguage(sourceView.getDocumentLanguage())
> >
> > This part seems to work, since after calling this annotator's queue, I
> can
> > iterate through the views in the CAS and it shows up.  In order for my
> > second annotator to read from and write to that new view that was just
> > created, I simply added the View's name as the input and output sofas:
> >
> > <capabilities>
> >       <capability>
> > ...
> >         <inputSofas>
> >             <sofaName>SomeView</sofaName>
> >         </inputSofas>
> >         <outputSofas>
> >             <sofaName>SomeView</sofaName>
> >         </outputSofas>
> >         <languagesSupported/>
> >       </capability>
> >     </capabilities>
> >
> > However, the JCas that gets passed to the 2nd annotator is blank.  What
> is
> > the problem?
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message