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 (AE) 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'université de Wuerzburg (de).La FAQ de TextMarker indique comment développer une application Java qui utilise TextMarker. De l'explication, on en déduit certains éléments pour utiliser au sein d'un AE.
DEUX PRE-REQUIS : des bibliothèques et le projet exemple
L'utilisation de TextMarker requiert deux bibliothèques. Il s'agit de
- AntLR 3.1.3
- de.uniwue.tm.textmarker.engine
Pour rappel, on ajoute un update site à Eclipse via le menu Help > Install new softwares (sélectionner et installer les éléments présentés).
La bibliothèque de.uniwue.tm.textmarker.engine se trouve disponible indifféremment via Eclipse update site ou via l'archive pour l'installation manuelle (la première est en générale plus récente). Ces bibliothèques se trouveront dans le répertoire ECLIPSE_HOME/plugins.
Le projet exemple fournit des exemples de descripteurs d'AE et de TS. Le récupérer. Je vous invite à consulter les différents fichiers du répertoire script et bien entendu la documentation en ligne (menu de gauche chapitre Langage) pour comprendre. Globalement l'ensemble de scripts sert à annoter différents éléments d'un référence bibliographique...
VOTRE PREMIER AE AVEC TEXTMARKER
Afin de réaliser un premier AE, le plus simple est de
- créer dans Eclipse un Java Project
- y copier les répertoires descriptor, script, resources, input et output du projet Exemple
- ajouter dans le build path les bibliothèques d'UIMA habituelle pour faire fonctionner un AE (dans UIMA_HOME/lib, sélectionner uima-core, uima-cpe, uima-document-annotation, uima-tools)
- ajouter dans le build path les deux bibliothèques requises par TextMarker et qui ont été récupérés selon la manipulation décrite ci-dessus. Ci l'on s'appuie sur l
ECLIPSE_HOME/plugins/de.uniwue.dltk.textmarker.antlr_3.1.3.201103101605/antlr-3.1.3.jarECLIPSE_HOME/plugins/de.uniwue.tm.textmarker.engine_1.0.0.201103101605.jar - ajouter dans le build path les répertoires descriptor, script et resources
Les descripteurs se trouvent dans descriptor.de.uniwue.example. Il s'agit de
- AuthorEngine.xml, MainEngine.xml, TestEngine.xml, TitleEngine.xml, YearEngine.xml
... Les autres se plaignent qu'il manque la déclaration du configurationParameter "descriptorPaths", je le rajoute donc pour chacun à la mano à l'aide du Text Editor
<configurationParameter>
<name>descriptorPaths</name>
<type>String</type>
<multiValued>true</multiValued>
<mandatory>false</mandatory>
</configurationParameter>
et le place sous l'élément
<configurationParameters searchStrategy="language_fallback">
Je lance enfin l'exécution à l'aide du documentAnalyser en spécifiant l'input et l'output. Tour à tour je teste les différents descripteurs. Ceux ci peuvent s'exécuter indépendamment les uns des autres.
- AuthorEngine.xml et TitleEngine.xml fonctionne directement sans souci, des annotations peuvent être visualisées dans le XMI produit.
- YearEngine.xml et MainEngine.xml requièrent de modifier leurs capabilities dans leur descripteur afin de spécifier les types des annotations que je désire visualiser... il y en a pas mal.
- TestEngine.xml, ne fonctionne pas (null exception)
TODO
Comment créer son propre AE utilisant TextMarker ?
- http://tmwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=AnalysisEngine
- Menu de gauche Langage avec la première section http://tmwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=Introduction
- http://tmwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=Dictionaries
Avec Eclipse Indigo (peut-être d'autres versions), il faut désactiver "Group items by category" pour voir apparaitre les Features disonibles.
RépondreSupprimer