Title: Diapositive 1
1UIMA Unstructured Information Management
Architecture
Plan Conception Objectifs et
potentiels Présentation de larchitecture
UIMA Les différents Composants Structure et
Fonctions Récapitulatif, vue générale Développe
ment langages, outils Conclusion et
Perspectives Liens utiles
Sophie Candel
25 Avril 2007
2UIMA Conception
Conception Application JAVA créé par IBM,
sponsorisé par les Etats-Unis (DARPA). Consortiu
m de sociétés et duniversités. UIMA devient
Open Source et en 2006, IBM met à la disposition
des développeurs le code source sur
sourceforge.net. Constat initial On
estime que 80 de linformation possédée par une
entreprise nest pas structurée Gartner
Group.
Defense Advanced Research Projects Agency
Sophie Candel
25 Avril 2007
3UIMA Objectifs et Potentiels
Objectifs LUIM consiste en des outils et
méthodes nécessaires pour stocker, retirer,
parcourir et découvrir les connaissances dans des
données non structurées infosphere.se. lUIMA
permet de développer plus rapidement de tels
outils. Elle apporte lARCHITECTURE pour ces
outils. Potentiels UIMA étant une
architecture, peut on lutiliser dans un autre
contexte que le traitement de texte?
Sophie Candel
25 Avril 2007
4UIMA Présentation - Les différents Composants
UIMA est une application orientée objet. Elle
est composée de différents éléments ayant une
fonction précise. Elle dispose doutils intégrés
permettant la création de ces composants. Les
différents Composants Structure et
Fonctions Chaque composant est constitué dune
partie codante (classes java) et dune partie
descriptive (fichier XML ou descriptor). -AE
ou Aggregated Engine -CAS ou Common Analysis
System -CP ou Collection Processing
Sophie Candel
25 Avril 2007
5UIMA Présentation - Les différents Composants
AE ou Analysis Engine Encapsule lalgorithme
de traitement Chaque AE est spécialisé
et est composé de -un descriptor -un
annotator processus de traitement des
données -un contexte UIMA définit laccès aux
ressources -un CAS données transitant
Sophie Candel
25 Avril 2007
6UIMA Présentation - Les différents Composants
Il existe deux types dAE -les AE
primitifs -les AE agrégés (AAE-Aggregated
Analysis Engine)
AAE ou Aggregated Analysis Engine
Le flux des données est contrôlé, lappel
dengin à distance est géré sous UIMA par SOAP
ou Vinci.
UIMA Users Guide, Figure 3
Sophie Candel
25 Avril 2007
7UIMA Présentation - Les différents Composants
CAS ou Common Analysis System Un CAS contient
les documents originaux sujets au traitement par
les annotators les métadonnées suite au
traitement. Il peut y avoir plusieurs
documents dans un même CAS, on appelle ces
documents les SOFA ou Subject OF
Analysis. TCAS est une vue particulière du CAS
selon un SOFA particulier. Il y a trois grandes
parties relatives aux CAS -la description des
données (type system) -la création et la
manipulation des données -lindexation XCAS
est une version XML du CAS (pour sauvegarde par
exemple)
Sophie Candel
25 Avril 2007
8UIMA Présentation - Les différents Composants
CP ou Collection Processing Un CP est
composé de plusieurs composants primitifs. Le
CPE ou Collection Processing Engine permet de
faire tourner les AE sur des collections de
données. Le CPE filtre les données, gère les
erreurs, effectue un rapport de performance,
gère les threads Il est composé de -un
Collection Reader -un CAS initializer -un AE
ou AAE -un/des CAS Consumer(s) Le CPM ou
Collection Processing Manager permet lexécution
dun CPE. Il lit le descriptor du CPE, déploie
et fait tourner le CPE.
Sophie Candel
25 Avril 2007
9UIMA Présentation - Récapitulatif, vue générale
High-Level UIMA Component Architecture from
Source to Sink
UIMA Users Guide, Figure 5
Sophie Candel
25 Avril 2007
10UIMA Présentation - Récapitulatif, vue générale
Collection Processing Manager
UIMA Users Guide, Figure 6
Sophie Candel
25 Avril 2007
11UIMA Développement
Généralités UIMA est une application
multiplateforme développée en JAVA, cependant,
elle supporte le langage C (plugins) et peut
interagir avec des services distants écrits dans
un autre langage. Eclipse est fortement
conseillé pour le développement (plugins
Eclipse) Outils UIMA De nombreux outils
sont disponibles sous UIMA -Component
Descriptor Editor -CPE Configurator -PEAR
Packager, PEAR Installer (Processing Engine
ARchive) -Document Analyzer -CAS Visual
Debugger -JCasGen -XCAS Viewer
Sophie Candel
25 Avril 2007
12UIMA Développement
- Développer une application UIMA
- Créer le Type Descriptor
- Eclipse?New?Type System Descriptor File
- Définir les types de CAS.
- Générer les classes Java pour ces types de CAS
- A partir du Descriptor File, lancer JCasGen
- x.java méthodes propres au fonctionnement de
lannotator - x_type.java méthodes spécifiques au
fonctionnement interne du système UIMA - Créer lannotator (méthode process())
- xAnnotator.java
- Créer lanalysis engine
- Créer lAE descriptorEclipse?New?AE Descriptor
File - Assembler lannotator à ce descriptor
-
- Intégrer cet ensemble UIMA à une application y
faisant appel
Sophie Candel
25 Avril 2007
13UIMA Conclusion et Perspectives
Outil de développement puissant Facilité
dinstallation et de déploiement Projet
vivant (UIMA Component Repository,
IBM) Nombreux outils Bonne documentation,
forum Utilisation de UIMA pour le
développement de PipeAlign2 Développement
dannotators spécialisés dans les tâches de
bioanalyse Projet Websphere avec IBM Blast
lancé via UIMA OK
Sophie Candel
25 Avril 2007
14UIMA Liens utiles
IBM, projet UIMA http//www.research.ibm.com/UIMA
/ UIMA SDK http//www.alphaworks.ibm.com/tech/ui
ma/download UIMA users guide
http//dl.alphaworks.ibm.com/technologies/uima/UIM
A_SDK_Users_Guide_Reference.pdf Sources UIMA
http//uima-framework.sourceforge.net/ UIMA
javadoc http//incubator.apache.org/uima/javadoc.
html UIMA Component Repository
http//uima.lti.cs.cmu.edu8080/UCR/Welcome.do Ec
lipse http//www.eclipse.org/downloads/ Forum
UIMA http//www.alphaworks.ibm.com/tech/uima/foru
m
Sophie Candel
25 Avril 2007