You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Andrea Turbati <tu...@info.uniroma2.it> on 2010/11/30 15:44:16 UTC

create complex Type System

  Hello,
I'm new to the UIMA AAE and I was able to create a "simple" AAE by 
putting different AE together without any real interaction between them. 
I'd like to go further and compose an AAE in which the type returned is 
not just the set of simple types from the AEs, but it is a new Type in 
which the elements are connected and interact in some way.
So for example if I have 3 simple AEs:

    * The first recognises *first name*
    * The second the* last name*
    * The third  the *title *(Mr. Miss, Mrs, etc.)

I'd like to create an AAE in which I have as an output just one type 
that is able to identify for example "Mr. Andrea Turbati"as one 
annotation and not as three different ones.

I'd like to do the composition not manually but from a java application 
at runtime.

Thanks

Andrea Turbati

-- 

-------------------------------------------------

Dott. Andrea Turbati

AI Research Group PhD student,

Dept. of Computer Science, Systems and Production

University of Roma, Tor Vergata

Via del Politecnico 1 00133 ROMA (ITALY)

tel: +39 06 7259 7332 (lab)

e_mail: turbati@info.uniroma2.it

home page: http://art.uniroma2.it/turbati/

--------------------------------------------------


Re: create complex Type System

Posted by Eddie Epstein <ea...@gmail.com>.
Not sure exactly what you are asking. Normally the typesystem is
defined in one or more typesystem descriptor files. It is possible to
define types in a component descriptor, but I personally advocate
against this; types are intended to be shared between components, and
so the components should import the same typesystem descriptors.

It is also possible to create a typesystem without any xml files,
using APIs. This is used in Junit test code.
Code is here: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/CASTestSetup.java?revision=933273&view=markup

Javadoc here: http://uima.apache.org/downloads/releaseDocs/2.3.0-incubating/docs/api/index.html

Eddie

On Thu, Dec 2, 2010 at 9:58 AM, Andreea Diosteanu
<an...@gmail.com> wrote:
> Hello,
>
> I am also trying to create AAE by creating complex type systems as a union
> of simple types. I managed to create them manually, but I would like to
> create them from java code at runtime.
> Can anyone help us?
>
> Thank you,
> Andreea
>
> On Tue, Nov 30, 2010 at 3:44 PM, Andrea Turbati <tu...@info.uniroma2.it>wrote:
>
>>  Hello,
>> I'm new to the UIMA AAE and I was able to create a "simple" AAE by putting
>> different AE together without any real interaction between them. I'd like to
>> go further and compose an AAE in which the type returned is not just the set
>> of simple types from the AEs, but it is a new Type in which the elements are
>> connected and interact in some way.
>> So for example if I have 3 simple AEs:
>>
>>   * The first recognises *first name*
>>   * The second the* last name*
>>   * The third  the *title *(Mr. Miss, Mrs, etc.)
>>
>> I'd like to create an AAE in which I have as an output just one type that
>> is able to identify for example "Mr. Andrea Turbati"as one annotation and
>> not as three different ones.
>>
>> I'd like to do the composition not manually but from a java application at
>> runtime.
>>
>> Thanks
>>
>> Andrea Turbati
>>
>> --
>>
>> -------------------------------------------------
>>
>> Dott. Andrea Turbati
>>
>> AI Research Group PhD student,
>>
>> Dept. of Computer Science, Systems and Production
>>
>> University of Roma, Tor Vergata
>>
>> Via del Politecnico 1 00133 ROMA (ITALY)
>>
>> tel: +39 06 7259 7332 (lab)
>>
>> e_mail: turbati@info.uniroma2.it
>>
>> home page: http://art.uniroma2.it/turbati/
>>
>> --------------------------------------------------
>>
>>
>

Re: create complex Type System

Posted by Andreea Diosteanu <an...@gmail.com>.
Hello,

I am also trying to create AAE by creating complex type systems as a union
of simple types. I managed to create them manually, but I would like to
create them from java code at runtime.
Can anyone help us?

Thank you,
Andreea

On Tue, Nov 30, 2010 at 3:44 PM, Andrea Turbati <tu...@info.uniroma2.it>wrote:

>  Hello,
> I'm new to the UIMA AAE and I was able to create a "simple" AAE by putting
> different AE together without any real interaction between them. I'd like to
> go further and compose an AAE in which the type returned is not just the set
> of simple types from the AEs, but it is a new Type in which the elements are
> connected and interact in some way.
> So for example if I have 3 simple AEs:
>
>   * The first recognises *first name*
>   * The second the* last name*
>   * The third  the *title *(Mr. Miss, Mrs, etc.)
>
> I'd like to create an AAE in which I have as an output just one type that
> is able to identify for example "Mr. Andrea Turbati"as one annotation and
> not as three different ones.
>
> I'd like to do the composition not manually but from a java application at
> runtime.
>
> Thanks
>
> Andrea Turbati
>
> --
>
> -------------------------------------------------
>
> Dott. Andrea Turbati
>
> AI Research Group PhD student,
>
> Dept. of Computer Science, Systems and Production
>
> University of Roma, Tor Vergata
>
> Via del Politecnico 1 00133 ROMA (ITALY)
>
> tel: +39 06 7259 7332 (lab)
>
> e_mail: turbati@info.uniroma2.it
>
> home page: http://art.uniroma2.it/turbati/
>
> --------------------------------------------------
>
>

Re: create complex Type System

Posted by Marshall Schor <ms...@schor.com>.

On 12/2/2010 11:17 AM, Andrea Turbati wrote:
>  Il 02/12/2010 16:33, Marshall Schor ha scritto:
>> On 11/30/2010 9:44 AM, Andrea Turbati wrote:
>>>   Hello,
>>> I'm new to the UIMA AAE and I was able to create a "simple" AAE by putting
>>> different AE together without any real interaction between them. I'd like to
>>> go further and compose an AAE in which the type returned is not just the set
>>> of simple types from the AEs, but it is a new Type in which the elements are
>>> connected and interact in some way.
>>> So for example if I have 3 simple AEs:
>>>
>>>     * The first recognises *first name*
>>>     * The second the* last name*
>>>     * The third  the *title *(Mr. Miss, Mrs, etc.)
>>>
>>> I'd like to create an AAE in which I have as an output just one type that is
>>> able to identify for example "Mr. Andrea Turbati"as one annotation and not as
>>> three different ones.
>>>
>>> I'd like to do the composition not manually but from a java application at
>>> runtime.
>> I'm not certain what your question is, but this sounds similar to one of the
>> example annotators: MeetingAnnotator - it is an annotator that takes the results
>> of 2 previous annotators, "TutorialDateTime" and RoomNumberAnnotator, and makes
>> a new Meeting annotation, whose span is from the beginning of the earliest
>> previous annotation to the end of the latest one.
>>
>> You can see the source here:
>> http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex4/MeetingAnnotator.java?revision=933273&view=markup
>>
>> <http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex4/MeetingAnnotator.java?revision=933273&view=markup>
>>
>>
>
> Thank you for the answer.
> I thought that in UIMA you could compose Type System using only an XML
> descriptor without having to write any new code. Because writing code is a
> "human task" and in my case I'm trying to create a tool that composes two or
> more AE and gives as output just an XML describing the AAE. Then I should be
> able to pass the single AEs and the descriptor of the AAE to another module
> which will annotate a text using the information from the AAE descriptor and
> the code of the AEs.
> So for example if I have an AE which is able to annotate last Name and another
> one that annotate Government title and in a text I find "President Obama", I'd
> like to have a single annotation for "President Obama" and not two separate
> one for each word.

You might be able to make such an "annotator".  Here's some thoughts:

I guess it would need to be configured with some parameters: specifying the two
types you wanted to "combine" ("LastName" and "GovernmentTitle"), and maybe some
information about a "window" - a window of size 1 would get "President Obama"
but not "President Barack Obama".  I think you need a window to disallow, for
instance, having "President" somewhere in the document, and Obama somewhere
completely unrelated to the first annotation.

You could probably make such a combining annotator, by generalizing the
MeetingAnnotator.

Would this do what you want?

-Marshall


Re: create complex Type System

Posted by Andrea Turbati <tu...@info.uniroma2.it>.
  Il 02/12/2010 16:33, Marshall Schor ha scritto:
> On 11/30/2010 9:44 AM, Andrea Turbati wrote:
>>   Hello,
>> I'm new to the UIMA AAE and I was able to create a "simple" AAE by putting
>> different AE together without any real interaction between them. I'd like to
>> go further and compose an AAE in which the type returned is not just the set
>> of simple types from the AEs, but it is a new Type in which the elements are
>> connected and interact in some way.
>> So for example if I have 3 simple AEs:
>>
>>     * The first recognises *first name*
>>     * The second the* last name*
>>     * The third  the *title *(Mr. Miss, Mrs, etc.)
>>
>> I'd like to create an AAE in which I have as an output just one type that is
>> able to identify for example "Mr. Andrea Turbati"as one annotation and not as
>> three different ones.
>>
>> I'd like to do the composition not manually but from a java application at
>> runtime.
> I'm not certain what your question is, but this sounds similar to one of the
> example annotators: MeetingAnnotator - it is an annotator that takes the results
> of 2 previous annotators, "TutorialDateTime" and RoomNumberAnnotator, and makes
> a new Meeting annotation, whose span is from the beginning of the earliest
> previous annotation to the end of the latest one.
>
> You can see the source here:
> http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex4/MeetingAnnotator.java?revision=933273&view=markup
> <http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex4/MeetingAnnotator.java?revision=933273&view=markup>
>

Thank you for the answer.
I thought that in UIMA you could compose Type System using only an XML 
descriptor without having to write any new code. Because writing code is 
a "human task" and in my case I'm trying to create a tool that composes 
two or more AE and gives as output just an XML describing the AAE. Then 
I should be able to pass the single AEs and the descriptor of the AAE to 
another module which will annotate a text using the information from the 
AAE descriptor and the code of the AEs.
So for example if I have an AE which is able to annotate last Name and 
another one that annotate Government title and in a text I find 
"President Obama", I'd like to have a single annotation for "President 
Obama" and not two separate one for each word.

Thanks

Andrea Turbati




> Marshall Schor
>> Thanks
>>
>> Andrea Turbati
>>


-- 

-------------------------------------------------

Dott. Andrea Turbati

AI Research Group PhD student,

Dept. of Computer Science, Systems and Production

University of Roma, Tor Vergata

Via del Politecnico 1 00133 ROMA (ITALY)

tel: +39 06 7259 7332 (lab)

e_mail: turbati@info.uniroma2.it

home page: http://art.uniroma2.it/turbati/

--------------------------------------------------


Re: create complex Type System

Posted by Marshall Schor <ms...@schor.com>.
On 11/30/2010 9:44 AM, Andrea Turbati wrote:
>  Hello,
> I'm new to the UIMA AAE and I was able to create a "simple" AAE by putting
> different AE together without any real interaction between them. I'd like to
> go further and compose an AAE in which the type returned is not just the set
> of simple types from the AEs, but it is a new Type in which the elements are
> connected and interact in some way.
> So for example if I have 3 simple AEs:
>
>    * The first recognises *first name*
>    * The second the* last name*
>    * The third  the *title *(Mr. Miss, Mrs, etc.)
>
> I'd like to create an AAE in which I have as an output just one type that is
> able to identify for example "Mr. Andrea Turbati"as one annotation and not as
> three different ones.
>
> I'd like to do the composition not manually but from a java application at
> runtime.

I'm not certain what your question is, but this sounds similar to one of the
example annotators: MeetingAnnotator - it is an annotator that takes the results
of 2 previous annotators, "TutorialDateTime" and RoomNumberAnnotator, and makes
a new Meeting annotation, whose span is from the beginning of the earliest
previous annotation to the end of the latest one.

You can see the source here:
http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex4/MeetingAnnotator.java?revision=933273&view=markup
<http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex4/MeetingAnnotator.java?revision=933273&view=markup>

-Marshall Schor
>
> Thanks
>
> Andrea Turbati
>