You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Mohammad Mourhaf AL Asswad <mm...@cornell.edu> on 2013/07/24 10:54:03 UTC

UIMA and ontology

Hello everyone,

I am new to UIMA. I used Gate before but would like to try UIMA.

My work involves mapping text files to ontologies and RDF data. For instance, using an ontology like Agrovoc which defines agricultural concepts, I like to find agricultural concepts in text. I like to make use of both skos:prefLabels and skos:altLabels defined in Agrovoc (for example, for cows, cow is the prefLabel and cattle is an altLabel). Can I do this in UIMA? If yes, where shall I start? How do I load the ontology in UIMA and use it in my analysis? Is there any source of information that explains what to do to accomplish this task? 

Any thoughts are much appreciated.

Best regards,

Mourhaf, 

Re: UIMA and ontology

Posted by Manuel Fiorelli <ma...@gmail.com>.
Hi,

my colleagues and I have already faced the challenge of doing ontology
population/learning using UIMA.

In [1] we introduce CODA, an architecture and an associated framework which
support you in producing RDF out of UIMA analysis results. In [2] we
describe the PEARL language for declaratively specifying this mapping.
Beyond the academic papers, you can refer to
http://art.uniroma2.it/coda/for documentation and instructions on how
to get CODA. As they are under
active development, the documentation may be slightly out-of-date. If you
are interested, feel free to contact us by private email for

In [3] we describe a system based on [1, 2] for extracting semantic
relations between AGROVOC [4] concepts from Web pages. In this system, UIMA
analysis engines (from the project DKpro) perform the linguistic analysis,
while PEARL is used to actually produce RDF triples.

Best regards,
Manuel Fiorelli
PhD Student in Computer Science and Automation Engineering
University of Rome, "Tor Vergata"

[1]
Fiorelli, M., Pazienza, M. T., Petruzza, S., Stellato, A., & Turbati, A.
(2010). Computer-aided Ontology Development: an integrated environment. New
Challenges for NLP Frameworks 2010 (held jointly with LREC2010).
http://art.uniroma2.it/publications/docs/2010_LREC2010_Computer-aided%20Ontology%20Development%20an%20integrated%20environment.pdf7

[2]
Pazienza, M. T., Stellato, A., & Turbati, A. (2012, May). PEARL: ProjEction
of Annotations Rule Language, a Language for Projecting (UIMA) Annotations
over RDF Knowledge Bases. In LREC (pp. 3828-3835).
http://www.lrec-conf.org/proceedings/lrec2012/pdf/424_Paper.pdf

[3]
Pazienza, M. T., Stellato, A., Tudorache, A. G., Turbati, A., & Vagnoni, F.
(2012, January). An Architecture for Data and Knowledge Acquisition for the
Semantic Web: The AGROVOC Use Case. In On the Move to Meaningful Internet
Systems: OTM 2012 Workshops (pp. 426-433). Springer Berlin Heidelberg.

[4]
Caracciolo, C., Stellato, A., Morshed, A., Johannsen, G., Rajbhandari, S.,
Jaques, Y., & Keizer, J. (2012). The AGROVOC Linked Dataset. Semantic Web.
http://www.semantic-web-journal.net/sites/default/files/AGROVOC_Dataset_vFinal_v2.3.pdf


2013/7/24 Mohammad Mourhaf AL Asswad <mm...@cornell.edu>
>
> Hello everyone,
>
> I am new to UIMA. I used Gate before but would like to try UIMA.
>
> My work involves mapping text files to ontologies and RDF data. For
instance, using an ontology
> like Agrovoc which defines agricultural concepts, I like to find
agricultural concepts in text. I like
> to make use of both skos:prefLabels and skos:altLabels defined in Agrovoc
(for example, for cows,
> cow is the prefLabel and cattle is an altLabel). Can I do this in UIMA?
If yes, where shall I start?
>How do I load the ontology in UIMA and use it in my analysis? Is there any
source of information
> that explains what to do to accomplish this task?
>
> Any thoughts are much appreciated.
>
> Best regards,
>
> Mourhaf,

Re: UIMA and ontology

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

Some "getting started" references:


http://uima.apache.org/documentation.html#getting_started

These walk you through some basic concepts, and writing your first annotator, etc.

A good "book" to read is
http://uima.apache.org/d/uimaj-2.4.0/tutorials_and_users_guides.html or, if you
want to print it out and read it, the equivalent PDF:
http://uima.apache.org/d/uimaj-2.4.0/tutorials_and_users_guides.pdf

It looks like the Agrovoc community has, in addition to vocabularies, some
"taggers"; perhaps you could make use of these by wrapping them as UIMA Annotators.

The UIMA data representation (type system) is similar to Java's Object Oriented
Types, in that it allows a single inheritance.  Complex data structures can
easily be represented because data instances can be defined to contain arbitrary
references to other data instances. 

To answer you question, in particular, for an entity type "animal" it could have
a subtype "cow", and the instance could define the two features you mention:
prefLabels and altLabels.  (UIMA supports values which are arrays and lists of
other things, too).

UIMA comes in several language embeddings (Java, C++), but Java is the most
used.  Your annotators can load resources at "initialize" time, including
ontologies; alternatively, if you wish to "share" a loaded resource among many
annotators, UIMA provides for this too (see
http://uima.apache.org/d/uimaj-2.4.0/tutorials_and_users_guides.html#ugr.tug.aae.accessing_external_resource_files
)

HTH. -Marshall


On 7/24/2013 4:54 AM, Mohammad Mourhaf AL Asswad wrote:
> Hello everyone,
>
> I am new to UIMA. I used Gate before but would like to try UIMA.
>
> My work involves mapping text files to ontologies and RDF data. For instance, using an ontology like Agrovoc which defines agricultural concepts, I like to find agricultural concepts in text. I like to make use of both skos:prefLabels and skos:altLabels defined in Agrovoc (for example, for cows, cow is the prefLabel and cattle is an altLabel). Can I do this in UIMA? If yes, where shall I start? How do I load the ontology in UIMA and use it in my analysis? Is there any source of information that explains what to do to accomplish this task? 
>
> Any thoughts are much appreciated.
>
> Best regards,
>
> Mourhaf, 
>