mardi 16 février 2010

Installer et utiliser UIMA TextMarker

Mise à jour le 15 Mars 2011


Ce post fut initialement écrit pour la version TextMarker_1.0.0.201002031959.
Il a été révisé pour la version courante qui est TextMarker_1.0.0.201102241433
La prochaine version est attendue pour... ?




TextMarker est avant tout une bibliothèque libre (licence LGPL) pour le développement d'applications d'extraction d'information à base de règles 
sur des éléments de surface et des annotations existantes

. En tant que bibliothèque il peut s'utiliser relativement simplement au sein d'un Analysis Engine d'Apache UIMA.


C'est aussi un environnement de développement au sein d'Eclipse base sur le framework DLTK 
 (Dynamic Languages Toolkit) 

qui offre via ses plugins un éditeur de règles, des composants pour l'explication de l'inférence des règles et un processus de construction d'Analysis Engines et Systemes de Types.

Il est développé par Peter Kluegl and Martin Atzmueller and Frank Puppe à l'unversité de Wuerzburg (de).

La documentation s'est enrichi considérablement entre 2010/02 et 2011/02. Un certain nombre de dépendances, et de possibilités d'utilisation font que ce n'est pas toujours évident de comprendre comment le faire fonctionner.


Il est possible de l'utiliser hors Eclipse (cf. FAQ), voir pour cela le post Utiliser UIMA TextMarker au sein d'un Analysis Engine (i.e. hors Eclipse).
    INSTALLER AU SEIN D'ECLIPSE
    La page d'installation référence deux approches possibles soit automatiquement via des sites updates soit manuellement en copiant manuellement les bons plugins et features dans les sous répertoires d'Eclipse. 


    Installation automatique au sein d'Eclipse 3.5 via les updates sites
    Un update site se déclare via le menu  (Help > Install new softwares). Il peut être utile (si des problèmes sont rencontrés) de redémarrer Eclipse entre chaque installation à l'aide de la commande eclipse -clean.
    1. Ajouter http://www.apache.org/dist/uima/eclipse-update-site UIMA (version 2.3) Update site ;
    2. Ajouter http://download.eclipse.org/technology/dltk/updates-dev/1.0 DLTK Core Framework (version 1.X) update site pour plugins ; Attention TextMarker utilise actuellement DLTK 1.0 et Eclipse 3.6 update site fournit seulement DLTK 2.0
    3. Ajouter http://download.eclipse.org/releases/galileo  Eclipse Modeling Framework (EMF) ; (probablement déjà disponible dans vos Available Sofware Sites) ; 
    L'installation de TextMarker ci-dessous conduira Eclipse à récupérer ce qu'il faut sur les  updates site ajoutés ci-dessus.
    1. Ajouter http://ki.informatik.uni-wuerzburg.de/~pkluegl/updatesite TextMarker update site ; sélectionner "Work with", déselectionner "Group items by category" et sélectionner "Contact all update sites during install to find required software", sélectionner le TextMarker feature. Le CEV feature est déjà contenu dans le TextMarker feature.
    2. Optionnel : Si vous désirez des visualisations HTML alors installer aussi le CEV HTML feature présenté lors de l'update de TextMarker. Par contre ajouter d'abord les XPCom puis XULRunner features http://ftp.mozilla.org/pub/mozilla.org/xulrunner/eclipse/
      Personnellement lors de l'installation de 2011/02 XPCom a pu s'installer mais pas XULRunner, il manquait des dépendances dans les update sites.
    Installation manuelle au sein d'Eclipse 3.5
    L'installation peut aussi être manuelle en copiant le contenu des répertoires plugins et features de l'archive de TextMarker dans les répertoires de même nom d'Eclipse (contient CEV feature et HTML feature). Ce que j'ai finalement fait en 2011/02.

    UTILISER TEXTMARKER AU SEIN D'ECLIPSE
    A partir du Getting Started on déduit les étapes suivantes

    Initialiser avec
    1. Importer le projet exemple dans votre workspace
    2. Ouvrir la perspective TextMarker (Window > Open Perspective)
    3. Stopper la construction automatique, nettoyer et relancer la construction afin de configurer les bons chemins dans tous les composants générés (Project > Stop Build Automatically and do Clean)
     Exécuter avec
    1. Vous pouvez ouvrir les fichiers.tm présents dans scripts avec le TextMarker Source Editor (Ouvrir avec >  TextMarker Source Editor) ; mais ce ne sont que des fichiers textes 
    2. Supprimer les fichiers présents dans output
    3. Lancer TextMarker en cliquant bouton droit Run As > Text Marker et en selectionnant Main.tm ; rien d'apparent ne se produit, mais le répertoire output se remplit à nouveau
     Constater que cela marche
    1. Le répertoire output se remplit
    2. Faire un open with Web Browser sur les fichiers html du répertoire output pour visualiser le résultat du traitement
    3. Le mieux est de lancer un annotation viewer pour visualiser les annotations contenus dans le XMI ; un simple éditeur XML peut faire cela aussi sinon : Run as > Run configurations > Java Applications > org.apache.uima.tools.AnnotationViewerMain en spécifiant en input le répertoire output de TM et en spéciant comme TypeSystem le descriptors/de/uniwue/example/MainTypeSystem.xml. Attention il se peut que vous ayez besoin de lancer cela d'un projet java où les lib de UIMA sont déclarés et avec une copie du répertoire descripteurs de TM déclaré en répertoire source (éventuellement un jcasgen dans le MainEngine.xml)
    Si des problèmes se produisent, 
    Problème avec le data path lors de l'exécution, vous pouvez effectuer ce que la note suivante indique
    Clean and rebuild the example project in order to set the correct paths in all generated components (also the path to the main script location). If the builder preference "import by name" is activated, then a new TextMarker project should rather be created in order to automatically include the correct UIMA datapath. Simply copy all elements into the newly created project afterwards.    
    A noter que
      • Pour spécifier un data path à utiliser pour trouver une resource by name faire sur le projet bouton droit > Properties > UIMA CDE Property page > entrer autant de chemins absolus que souhaités séparés par le séparateur de classpath
      • Pour configurer la résolution des imports à la création des descripteurs ou pour utiliser des imports by name à la création des descripteurs faire Window > Preferences > TextMarker > Builder
    Problème de "Interpreter installation TextMarker Interpreter does not exist" lors de l'exécution 
    non résolu... je cherchais éventuellement à modifier le build path pour lui indiquer les deux bibliothèques importantes, mais cela ne semble pas fonctionner.


    LIENS

    1 commentaire:

    1. Guillaume Vauvert22 juin 2012 à 02:11

      Dans Eclipse Indigo (peut-être d'autres versions), il faut décocher "Group items by category" pour voir apparaitre les Features (TextMarker, CEV, CEV HTML).

      RépondreSupprimer