You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by Tommaso Teofili <to...@gmail.com> on 2010/11/05 16:59:25 UTC
UIMA integration
Hi all,
a quick recap on UIMA integration capabilities.
There are 4 components:
1. Ontologies module which is useful to build graphs, just like other
*ontologies module inside Clerezza, on top of UIMA typse and features
2. Utils module, I just refactored this module to expose a better API,
now having UIMAServicesFacade which offers more flexibility and
extensibility. That having one actual implementation ExternalServicesFacade,
which exploits external services wrapped inside UIMA to extract tags,
language, suggested category, named entites and concepts from a piece of
text. Utils module offers also a UIMAUtils.enhanceNode method to create the
graph nodes for UIMA types and feature to bind them to the node that whose
resource text has been enriched.
3. Metadata-generator module offers the possibility to enrich uploaded
stuff with UIMA via ExternalServicesFacade.
4. Concept-tagging module, just committed, at the moment consists of one
class which extends org.apache.clerezza.concepts.core class ResourceTagger
enabling automatic concept tagging on the resource via
ExternalServicesFacade (actually UIMA and AlchemyAPI) of the specified
resource.
If you have any issues or comments, please let me know.
Regards,
Tommaso
Re: AW: UIMA integration
Posted by Tommaso Teofili <to...@gmail.com>.
Hi all,
Franco, now that UIMA SDK has been released you can add the uimaj-ep-runtime
dependency directly from Apache repositories with:
<depedency>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj-ep-runtime</artifactId>
<version>2.3.1</version>
</dependency>
However I'll fix this on clerezza-uima modules too, in a short time also
UIMA sandbox components will be released and we'll get rid of system scoped
dependencies.
Florent, thanks for your feedback, I fixed building in UIMA sandbox so now
you only have to checkout the sandbox, cd aggregate-addons and do mvn
install.
Hope this helps,
Tommaso
2011/1/4 florent andré <fl...@4sengines.com>
> Hi Franco,
>
> From my personal experience, UIMA maven bundle are not all still
> available in a consistent way in public maven repos (but uima team work
> on it).
>
> So for get out uima bundle retrieve problem, I suggest you to first svn
> co uima and build it locally.
>
> You may have some little workaround to do (change some dependencies
> version), but it's work ! :)
>
> HTH
> ++
>
>
> On 01/04/2011 10:36 AM, Franco Fallica wrote:
> > Hi Tommaso,
> >
> > a while ago you sent me the below explanations for clerezza/uima
> integration.
> >
> > I just spent the last couple of hours installing your bundles but I
> didn't succeed.
> > would you be so kind and provide me with some kind of installation
> instructions?
> >
> > What I did is:
> >
> > add the 4 modules of org.apache.clerezza.uima as dependencies to my
> bundle.
> > additionaly I need the dep. to org.apache.uima/uimaj-ep-runtime
> >
> > in the end I was able to build the bundles but when I installed them.
> org.apache.clerezza.uima.utils is missing the package org.apache.uima.
> > in the pom of it. there is the following:
> > <dependency>
> > <groupId>org.apache.uima</groupId>
> > <artifactId>uimaj-ep-runtime</artifactId>
> > <scope>system</scope>
> >
> <systemPath>${project.basedir}/../lib/org.apache.uima.runtime_2.3.1.SNAPSHOT.jar</systemPath>
> > </dependency>
> >
> > so I don't see why it wouldn't find this jar.
> >
> > anyhow I would be very glad if you or anybody else for that matter could
> point me in the right direction.
> >
> > thank you very much and regards
> > franco
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Tommaso Teofili [mailto:tommaso.teofili@gmail.com]
> > Gesendet: Montag, 8. November 2010 14:49
> > An: clerezza-dev@incubator.apache.org
> > Betreff: Re: UIMA integration
> >
> > Hi Franco,
> >
> > 2010/11/8 Franco Fallica <fr...@getunik.com>
> >
> >> I've been working on something quite similar. And while looking at your
> >> code I decided to abandon my stuff and rather use yours as a basis for
> what
> >> we are trying to accomplish.
> >
> >
> > what is that exactly, can I help in some ways?
> >
> >
> >> Would it be possible for you to write a (very) short how-to about how to
> >> use your implementation or could you provide a short example?
> >>
> >
> > You can find very short examples inside ExternalServicesFacadeTest inside
> > org.apache.clerezza.uima.utils module.
> > A common scenario can go like this:
> >
> > // node representing a text resource
> >
> > Node existingNode = ....
> >
> > // create the UIMAServicesFacade
> >
> > UIMAServicesFacade uimaServicesFacade = new ExternalServicesFacade();
> >
> > // set runtime parameters for AlchemyAPI/OpenCalais inside a Map
> >
> > Map<String, Object> parameterSettings = new HashMap<String, Object>();
> >
> > parameterSettings.put("apikey", "AVALIDALCHEMYAPIKEY"); // param for
> >> AlchemyAPI
> >
> > externalServicesFacade.setParameterSetting(parameterSettings);
> >
> >
> >> // extract a list of concepts related to a text
> >
> > String resourceText = existingNode.toString();
> >
> > List<FeatureStructure> concepts =
> >> externalServicesFacade.getConcepts(resourceText);
> >
> >
> > then with that list of FeatureStructures, that are UIMA objects
> containing
> > Types (entities or annotations) and their Features (properties) you can
> > enhance the node representing that resource.
> >
> > UIMAUtils.enhanceNode(existingNode, concepts);
> >
> >
> > the enhanceNode() method uses the ontology inside
> > org.apache.clerezza.uima.ontologies module to build a graph of UIMA types
> > and features binding it to the existingNode.
> > You can find such a behavior inside the metadata-generator.
> >
> > I hope I clarified a little bit, If not (sorry and) let me know or keep
> > asking.
> > Regards,
> > Tommaso
>
Re: AW: UIMA integration
Posted by florent andré <fl...@4sengines.com>.
Hi Franco,
>From my personal experience, UIMA maven bundle are not all still
available in a consistent way in public maven repos (but uima team work
on it).
So for get out uima bundle retrieve problem, I suggest you to first svn
co uima and build it locally.
You may have some little workaround to do (change some dependencies
version), but it's work ! :)
HTH
++
On 01/04/2011 10:36 AM, Franco Fallica wrote:
> Hi Tommaso,
>
> a while ago you sent me the below explanations for clerezza/uima integration.
>
> I just spent the last couple of hours installing your bundles but I didn't succeed.
> would you be so kind and provide me with some kind of installation instructions?
>
> What I did is:
>
> add the 4 modules of org.apache.clerezza.uima as dependencies to my bundle.
> additionaly I need the dep. to org.apache.uima/uimaj-ep-runtime
>
> in the end I was able to build the bundles but when I installed them. org.apache.clerezza.uima.utils is missing the package org.apache.uima.
> in the pom of it. there is the following:
> <dependency>
> <groupId>org.apache.uima</groupId>
> <artifactId>uimaj-ep-runtime</artifactId>
> <scope>system</scope>
> <systemPath>${project.basedir}/../lib/org.apache.uima.runtime_2.3.1.SNAPSHOT.jar</systemPath>
> </dependency>
>
> so I don't see why it wouldn't find this jar.
>
> anyhow I would be very glad if you or anybody else for that matter could point me in the right direction.
>
> thank you very much and regards
> franco
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Tommaso Teofili [mailto:tommaso.teofili@gmail.com]
> Gesendet: Montag, 8. November 2010 14:49
> An: clerezza-dev@incubator.apache.org
> Betreff: Re: UIMA integration
>
> Hi Franco,
>
> 2010/11/8 Franco Fallica <fr...@getunik.com>
>
>> I've been working on something quite similar. And while looking at your
>> code I decided to abandon my stuff and rather use yours as a basis for what
>> we are trying to accomplish.
>
>
> what is that exactly, can I help in some ways?
>
>
>> Would it be possible for you to write a (very) short how-to about how to
>> use your implementation or could you provide a short example?
>>
>
> You can find very short examples inside ExternalServicesFacadeTest inside
> org.apache.clerezza.uima.utils module.
> A common scenario can go like this:
>
> // node representing a text resource
>
> Node existingNode = ....
>
> // create the UIMAServicesFacade
>
> UIMAServicesFacade uimaServicesFacade = new ExternalServicesFacade();
>
> // set runtime parameters for AlchemyAPI/OpenCalais inside a Map
>
> Map<String, Object> parameterSettings = new HashMap<String, Object>();
>
> parameterSettings.put("apikey", "AVALIDALCHEMYAPIKEY"); // param for
>> AlchemyAPI
>
> externalServicesFacade.setParameterSetting(parameterSettings);
>
>
>> // extract a list of concepts related to a text
>
> String resourceText = existingNode.toString();
>
> List<FeatureStructure> concepts =
>> externalServicesFacade.getConcepts(resourceText);
>
>
> then with that list of FeatureStructures, that are UIMA objects containing
> Types (entities or annotations) and their Features (properties) you can
> enhance the node representing that resource.
>
> UIMAUtils.enhanceNode(existingNode, concepts);
>
>
> the enhanceNode() method uses the ontology inside
> org.apache.clerezza.uima.ontologies module to build a graph of UIMA types
> and features binding it to the existingNode.
> You can find such a behavior inside the metadata-generator.
>
> I hope I clarified a little bit, If not (sorry and) let me know or keep
> asking.
> Regards,
> Tommaso
AW: UIMA integration
Posted by Franco Fallica <fr...@getunik.com>.
Hi Tommaso,
a while ago you sent me the below explanations for clerezza/uima integration.
I just spent the last couple of hours installing your bundles but I didn't succeed.
would you be so kind and provide me with some kind of installation instructions?
What I did is:
add the 4 modules of org.apache.clerezza.uima as dependencies to my bundle.
additionaly I need the dep. to org.apache.uima/uimaj-ep-runtime
in the end I was able to build the bundles but when I installed them. org.apache.clerezza.uima.utils is missing the package org.apache.uima.
in the pom of it. there is the following:
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj-ep-runtime</artifactId>
<scope>system</scope>
<systemPath>${project.basedir}/../lib/org.apache.uima.runtime_2.3.1.SNAPSHOT.jar</systemPath>
</dependency>
so I don't see why it wouldn't find this jar.
anyhow I would be very glad if you or anybody else for that matter could point me in the right direction.
thank you very much and regards
franco
-----Ursprüngliche Nachricht-----
Von: Tommaso Teofili [mailto:tommaso.teofili@gmail.com]
Gesendet: Montag, 8. November 2010 14:49
An: clerezza-dev@incubator.apache.org
Betreff: Re: UIMA integration
Hi Franco,
2010/11/8 Franco Fallica <fr...@getunik.com>
> I've been working on something quite similar. And while looking at your
> code I decided to abandon my stuff and rather use yours as a basis for what
> we are trying to accomplish.
what is that exactly, can I help in some ways?
> Would it be possible for you to write a (very) short how-to about how to
> use your implementation or could you provide a short example?
>
You can find very short examples inside ExternalServicesFacadeTest inside
org.apache.clerezza.uima.utils module.
A common scenario can go like this:
// node representing a text resource
Node existingNode = ....
// create the UIMAServicesFacade
UIMAServicesFacade uimaServicesFacade = new ExternalServicesFacade();
// set runtime parameters for AlchemyAPI/OpenCalais inside a Map
Map<String, Object> parameterSettings = new HashMap<String, Object>();
parameterSettings.put("apikey", "AVALIDALCHEMYAPIKEY"); // param for
> AlchemyAPI
externalServicesFacade.setParameterSetting(parameterSettings);
> // extract a list of concepts related to a text
String resourceText = existingNode.toString();
List<FeatureStructure> concepts =
> externalServicesFacade.getConcepts(resourceText);
then with that list of FeatureStructures, that are UIMA objects containing
Types (entities or annotations) and their Features (properties) you can
enhance the node representing that resource.
UIMAUtils.enhanceNode(existingNode, concepts);
the enhanceNode() method uses the ontology inside
org.apache.clerezza.uima.ontologies module to build a graph of UIMA types
and features binding it to the existingNode.
You can find such a behavior inside the metadata-generator.
I hope I clarified a little bit, If not (sorry and) let me know or keep
asking.
Regards,
Tommaso
Re: UIMA integration
Posted by Tommaso Teofili <to...@gmail.com>.
Hi Franco,
2010/11/8 Franco Fallica <fr...@getunik.com>
> I've been working on something quite similar. And while looking at your
> code I decided to abandon my stuff and rather use yours as a basis for what
> we are trying to accomplish.
what is that exactly, can I help in some ways?
> Would it be possible for you to write a (very) short how-to about how to
> use your implementation or could you provide a short example?
>
You can find very short examples inside ExternalServicesFacadeTest inside
org.apache.clerezza.uima.utils module.
A common scenario can go like this:
// node representing a text resource
Node existingNode = ....
// create the UIMAServicesFacade
UIMAServicesFacade uimaServicesFacade = new ExternalServicesFacade();
// set runtime parameters for AlchemyAPI/OpenCalais inside a Map
Map<String, Object> parameterSettings = new HashMap<String, Object>();
parameterSettings.put("apikey", "AVALIDALCHEMYAPIKEY"); // param for
> AlchemyAPI
externalServicesFacade.setParameterSetting(parameterSettings);
> // extract a list of concepts related to a text
String resourceText = existingNode.toString();
List<FeatureStructure> concepts =
> externalServicesFacade.getConcepts(resourceText);
then with that list of FeatureStructures, that are UIMA objects containing
Types (entities or annotations) and their Features (properties) you can
enhance the node representing that resource.
UIMAUtils.enhanceNode(existingNode, concepts);
the enhanceNode() method uses the ontology inside
org.apache.clerezza.uima.ontologies module to build a graph of UIMA types
and features binding it to the existingNode.
You can find such a behavior inside the metadata-generator.
I hope I clarified a little bit, If not (sorry and) let me know or keep
asking.
Regards,
Tommaso
AW: UIMA integration
Posted by Franco Fallica <fr...@getunik.com>.
Hi Tommaso,
I've been working on something quite similar. And while looking at your code I decided to abandon my stuff and rather use yours as a basis for what we are trying to accomplish. Would it be possible for you to write a (very) short how-to about how to use your implementation or could you provide a short example?
thanks in advance and kind regards
franco
-----Ursprüngliche Nachricht-----
Von: Tommaso Teofili [mailto:tommaso.teofili@gmail.com]
Gesendet: Freitag, 5. November 2010 16:59
An: clerezza-dev
Betreff: UIMA integration
Hi all,
a quick recap on UIMA integration capabilities.
There are 4 components:
1. Ontologies module which is useful to build graphs, just like other
*ontologies module inside Clerezza, on top of UIMA typse and features
2. Utils module, I just refactored this module to expose a better API,
now having UIMAServicesFacade which offers more flexibility and
extensibility. That having one actual implementation ExternalServicesFacade,
which exploits external services wrapped inside UIMA to extract tags,
language, suggested category, named entites and concepts from a piece of
text. Utils module offers also a UIMAUtils.enhanceNode method to create the
graph nodes for UIMA types and feature to bind them to the node that whose
resource text has been enriched.
3. Metadata-generator module offers the possibility to enrich uploaded
stuff with UIMA via ExternalServicesFacade.
4. Concept-tagging module, just committed, at the moment consists of one
class which extends org.apache.clerezza.concepts.core class ResourceTagger
enabling automatic concept tagging on the resource via
ExternalServicesFacade (actually UIMA and AlchemyAPI) of the specified
resource.
If you have any issues or comments, please let me know.
Regards,
Tommaso