vendredi 18 décembre 2009

Exécuter un traitement ou une chaîne de traitement sous UIMA (avec UIMAJ et en local)

Update 20100326: Définition de traitement et chaînes de traitement + précision de l'utilisation d'Eclipse pour l'exécution Update 20100212: Validé pour Apache UIMAJ 2.2.*-incubating et  UIMAJ 2.3.*-incubating

Apache UIMA ne distingue pas la notion de traitement de celle de chaîne de traitement. Il ne manipule que des chaînes de traitement qui a minima ne compte qu'un seul traitement/composant à exécuter. La description de la chaîne est réalisée à partir d'un fichier descripteur qui est
  • soit configuré comme primitif si il désigne un traitement élémentaire. La classe implémentant le traitement sera alors désignée.
  • soit configuré comme aggregate si il désigne une chaîne de traitement. Dans ce cas il référencera d'autres descripteurs de fichiers primitif ou Aggregate.
C'est de cette manière que l'on peut réaliser de l'encapsulation de traitement.

Les différentes manières d'exécuter un traitement sont illustrés avec des descripteurs présents dans les exemples de code fourni avec UIMAJ.
$UIMA_HOME/examples/descriptors/analysis_engine/
EN LIGNE DE COMMANDE
Le UIMA_HOME/README indique comment réaliser un test d'installation. Il s'agit d'exécuter un AnnotatorEngine et d'observer si le résultat correspond au traitement attendu à l'aide de l'outil $UIMA_HOME/bin/runAE.sh
  • Argument 1, on indique un descripteur d'AnnotatorEngine, par exemple : PersonTitleAnnotator.xml, SimpleTokenAndSentenceAnnotator.xml, SimpleNameRecognizer_RegEx_TAE.xml 
  • Argument 2, un répertoire source où se trouve des fichiers .txt à traiter
  • Argument 2, un répertoire de destination des résultats produits
$UIMA_HOME/bin/runAE.sh $UIMA_HOME/examples/descriptors/analysis_engine/SimpleTokenAndSentenceAnnotator.xml $UIMA_HOME/examples/data/ $UIMA_HOME/examples/data/processed
A TRAVERS UN GUI HORS ECLIPSE 
Par exemple à l'aide de la commande $UIMA_HOME/bin/documentAnalyzer.sh
  • InputDirectory doit diriger vers : applications/apache-uimaj/examples/data
  • OutputDirectory doit diriger vers : applications/apache-uimaj/examples/data/processed
  • Location of Analysis Engine XML Descriptor : applications/apache-uimaj/examples/descriptors/analysis_engine/SimpleTokenAndSentenceAnnotator.xml
Puis Run et double cliquer sur un fichier pour lancer le Java Viewer (en ligne de commande il s'agit du programme annotationViewer.sh)

L'exécution GUI hors eclipse peut aussi se faire avec le cpeGui.sh qui requiert de spécifier des descripteurs de composant d'import et d'export des données à traiter (à savoir un collection reader et des cas consummer). Des exemples sont disponibles dans le répertoire exemples de UIMA. Si vous exporter en XMI, il vous faudra aussi lancer à la main l'annotation viewer pour visualiser les résultats.

AU SEIN D'ECLIPSE
  1. Cela requiert de créer un projet Eclipse pour le développement d'un composant UIMA
  2. Pour exécuter les outils veiller à ajouter dans les libraries du projet en plus de uima-core et uima-tools, uima-cpe ! Tous ces packages se trouvent dans UIMA_HOME/lib
  3. Cliquer sur le projet avec le bouton droit dans la vue Package Explorer > Run as > Run Configurations > Java Application
  4. Puis
    1. Dans Name: donnez le nom que vous souhaitez à la place New_configuration, par exemple DocumentAnalyser
    2. Dans Project: vérifiez que vous êtes dans le bon projet Eclipse
    3. Dans Main Class: cherchez la classe DocumentAnalyzer, vous devez trouver (si vous avez bien ajouter le package uima-tools) org.apache.uima.tools.docanalyzer.DocumentAnalyzer
  5. Apply > Run ; le DocumentAnalyser exportera les résultats en XMI et exécutera l'Annotation Viewer
Pour visualiser les fichiers XMI préalablement générés
  1. réalisez la même démarche avec la classe Annotation Viewer

    Aucun commentaire:

    Enregistrer un commentaire