Blog d'un jeune chercheur en TAL

To content | To menu | To search

07/17/2010

Du bon usage des ressources dans UIMA

Les ressources sont un aspect de UIMA que j’ai peu abordé et que j’ai très peu utilisé, sauf récemment lorsque l’on a entraîné un modèle français HMM pour le HMM Tagger (il faut que j’écrive un billet à ce sujet d’ailleurs). Pourtant les ressources, et leur rôle, sont assez mal compris au sein d’UIMA.

Continue reading...

07/13/2010

Installer Subclipse pour Eclipse Helios

Installation d’Eclipse

Pour Debian Squeeze, Eclipse Helios n’est pas encore packagée. Je métais contenté de Galileo jusqu’à maintenant mais Subclipse a, pour une raison que je n’arrive toujours pas à m’expliquer, cessé de fonctionner. Après multiples vaines tentatives de retrouver un environnement de travail fonctionnel, j’ai aboutit à Eclipse Helios + Subclipse.

J’ai choisi d’installer Eclipse dans mon home, l’installation dans /opt ou un autre répertoire pour lequel mon utilisateur n’a pas les droits d’écriture s’étant avéré, encore une fois, problématique. Pour l’installation, rien de bien sorcier :

  1. On récupère l’archive qui va bien sur le site d’Eclipse
  2. On décompresse dans son répertoire personnel : tar -czvf eclipse-java-helios-linux-gtk-x86_64.tar.gz -C ~/

Suite à mes nombreuses expérimentations sans succès, je me suis permis de modifier plusieurs variables de configuration dans le eclipse.ini de sorte qu’il ressemble désormais à ça :

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.0.v20100503
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-debug
-consoleLog
-vm
/usr/lib/jvm/java-6-sun/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms40m
-Xmx384m
-Djava.net.preferIPv4Stack=true
-Djava.library.path=/usr/lib/jni

Les éléments les plus importants étant :

  • -debug et -consoleLog pour afficher plein de jolis messages d’information lorsqu’on lance l’application depuis une console ;
  • -vm /usr/lib/jvm/java-6-sun/bin/java qui indiquer à Eclipse d’utiliser la JVM de Sun pour son exécution ;
  • -Djava.net.preferIPv4Stack=true pour parer ce petit problème ;
  • -Djava.library.path=/usr/lib/jni pour indiquer à la JVM où aller regarder pour les bibliothèques natives.

Ce dernier point est le plus important, il est nécessaire pour la détection correcte de javaHL par la suite.

Installation de Subclipse

Un truc vraiment sympa avec Eclipse Helios c’est l’apparition du Eclipse Marketplace !

Pour le lancer : Help > Eclipse Marketplace ...

  1. Sélectionnez l’Eclipse Marketplace. Il est possible que l’installation fonctionne également avec le catalogue de Yoxos, mais je ne l’ai pas testé.
  2. Dans le champs de recherche, tapez Subclipse
  3. Dans la liste des résultats, sous l’entrée Subclipse, cliquez sur Install
  4. ... le reste suit la procédure habituelle d’installation de paquets, conservez toutes les entrées proposées.

Lorsque l’installation est terminée et avant de redémarrer Eclipse, vous devez installer la partie native de JavaHL. Pour ce faire, sous Debian Squeeze :

sudo aptitude install libsvn-java

Vérifiez bien que vous avez indiqué à la JVM comment accéder aux librairies natives : entrée -Djava.library.path=/usr/lib/jni dans le eclipse.ini

Vous pouvez désormais relancer Eclipse. Faites un clique-droit dans l’explorateur de projets, puis un Import. Vous devriez voir apparaître dans la liste un dossier SVN contenant une entrée Checkout Projects from SVN... vous n’avez plus qu’à suivre les instructions.

06/29/2010

"Le réseau n'est pas accessible" incongrue dans Eclipse (ou n'importe quelle application Java)

Depuis ma dernière mise-à-jour dans Debian Squeeze, je me suis aperçu qu’Eclipse (ou bien n’importe quelle application Java) n’était plus en mesure de se connecter au réseau. L’application retourne inéluctablement le message "Le réseau n’est pas accessible", quand bien même toutes les autres applications se connectent sans problème.

Apparemment ce comportement est dû à l’utilisation exclusive d’IPv6 dans Java (JVM Sun ou OpenJDK indifféremment)... ce qui sur les réseaux toujours en IPv4 ne mène à rien, et correspond effectivement à un réseau inaccessible.

La solution consiste à passer l’option -Djava.net.preferIPv4Stack=true à la JVM à son lancement. Pour Eclipse, il suffit d’ajouter cette ligne au fichier eclipse.ini (/etc/eclipse.ini) pour Debian.

La discussion concernant ce bug chez Debian : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560142

06/22/2010

Debian : échec du lancement des applications graphiques en root

Je viens tout juste de quitter Ubuntu qui commençait sérieusement à m’agacer avec ses versions pas vraiment finies et ses mises-à-jour de version qui plantent tout. Alors je suis revenu sous la distribution reine : Debian.

Le premier petit accroc que je viens de rencontrer concerne le lancement de l’outil update-manager. Lorsque que je le lance à partir de ma zone de notification, il m’invite à taper mon mot de passe afin de passer root et de s’exécuter, puis se crache lamentablement avec un Failed to run update-manager as user root, suivi d’un petit Failed to communicate with gksu-run-helper.

Le problème vient de l’utilisation de su pour l’authentification, il suffit de le remplacer par sudo. Pour ce faire :

  1. Lancez l’outil de configuration gksu-properties (à partir d’une console)
  2. Placez l’entrée Authentication mode sur sudo
  3. Fermez, c’est corrigé :)

Je ne sais pas si c’est un problème dû à quelques fichiers de configurations restant d’Ubuntu dans mon home, mais c’est un peu gênant. Il faudrait peut-être le remonter aux développeurs Debian.

04/02/2010

51e billet... un peu de fun : mettre en place une fausse webcam sous Ubuntu

Pour mon 51e billet sur ce blog, je me suis dit que j’allais faire quelque chose d’un peu plus détendu que d’habitude. Voici un petit tutoriel pour installer une fausse webcam sous Ubuntu Karmic.

À quoi ça sert une fausse webcam ? Potentiellement à plusieurs choses :

  • Faire passer le flux de votre vraie webcam qui n’est pas reconnue par Flash dans une fausse reconnue elle par Flash (cherchez pas ^^)
  • Balancer votre dernier film de vacance en streaming à votre mamie par la webcam, sans mettre en place de choses compliquées
  • Faire croire à votre rencard internet que vous êtes Bard Pitt (ou Angelina Jolie... c’est selon le rencard)

Continue reading...

04/01/2010

Parcours des annotations couvertes par une autre annotation

Lorsque l’on travaille avec Apache UIMA et que l’on ajoute un nombre important d’annotations, il arrive un moment où l’on va vouloir filtrer certaines de ces annotations en fonction d’autres. Ainsi, assez couramment on éprouve le besoin de devoir récupérer des annotations qui couvrent la même zone de texte qu’une autre. Par exemple :

  • récupérer les mots contenus dans une phrases ;
  • récupérer les paragraphes dans un document ;

Il y a au moins deux approches dans Apache UIMA qui permettent de répondre à ce besoin : le subiterator et le FSMatchConstraint.

Continue reading...

03/16/2010

Tests unitaires pour UIMA avec UUTUC

La qualité du code développé dans le cadre des activités de recherche scientifique n’est pas toujours aussi bon qu’on pourrait l’espérer. Outre la nécessité (évidente à mes yeux) d’ouvrir le codes des activités scientifiques financées par l’État et les collectivités territoriales, il est également nécessaire de suivre de bonnes pratiques de programmation. L’écriture de tests unitaires et leur exécution régulière est une de ces bonnes pratiques.

Je présente dans ce billet un cas d’utilisation de la bibliothèque UUTUC, présentée lors du Workshop sur l’Ingénierie Logiciel, les Tests et l’Assurance Qualité pour le Traitement des Langues Naturelles (SETQA-NLP 2009), pour tester l’implémentation d’une bibliothèque développée et utilisée dans le cadre de ma thèse (tddts-uima-shingling).

Continue reading...

03/13/2010

Nicolas Sarkozy speeches corpus (Update)

In this post, I compiled and distributed a corpus of the speeches of Nicolas Sarkozy (President of the Republic of France). Since then, the president pronounced new speeches. I completed the corpus in consequence.

Continue reading...

03/09/2010

Utiliser Bazaar au travers de Web DAV

Dans le cadre de mon cours sur les outils pour le travail collaboratif, je fais travailler tous mes étudiants ensembles sur un même projet. Ces derniers sont alors invités (fortement) à utiliser plusieurs outils dans le cadre de leur collaboration : messagerie instantanée (IRC), wiki et gestionnaire de tickets (Trac) et un gestionnaire de version décentralisé (bazaar).

Avant je leur faisais utiliser subversion qui a un module Apache dédié et qui est pris en charge par défaut dans Trac. La nouveauté de cette année c’est l’utilisation de Bazaar...

Continue reading...

03/06/2010

Utilisation du CAS Editor

Il y a quelques temps j’avais écrit une documentation en interne dans mon laboratoire sur l’utilisation du ’’CAS Editor’’. À l’époque c’était assez éprouvant car ce dernier se présentait sous la forme d’une application RCP Eclipse.

Depuis la version 2.3.0, le CAS Editor a été intégré sous la forme d’un plugin Eclipse. L’occasion de remettre la doc au goût du jour et de la partager avec le reste du monde.

Continue reading...

03/04/2010

Release of the Wikipedia collection reader v.0.4

Wikipedia is an incredible source of information, data and more generally of language acts (uses of language). It is a unique resource for researchers in natural language processing (NLP).

The MediaWiki UIMA Loader is a UIMA component, a collection reader to be more specific, that is able of making use of Wikipedia to build corpora. The 0.4 version is the first release publicly announced for this component.

Continue reading...

02/21/2010

UIMA & Wikipédia (5) : Gestion du projet avec Maven

La création de composants UIMA permettant d’accéder et tirer parti de Wikipédia offrirait de nouvelles perspectives au traitement des langues en offrant un accès aisé à cette formidable ressource que représente l’encyclopédie libre. Je compte m’atteler à la création de tels composants et vais tâcher de publier plusieurs billets décrivant ma démarche en cours.

Voici le cinquième billet, plus orienté technique de développement, qui discute de la gestion du projet avec Maven, permettant notamment de gérer automatiquement les dépendances à MWDumper et à Wikimodel.

Continue reading...

02/19/2010

Un peu de sécurité : renforcer SSH

Après les annonces récentes concernant la sécurité des systèmes informatiques (ici ou ), je me suis dit que ce serait pas mal de m’intéresser un peu à la sécurité de mon serveur.

Je vais commencer par SSH étant donné qu’il s’agit du moyen le plus classique pour entrer sur le serveur.

Continue reading...

02/14/2010

UIMA & Wikipédia (4) : Analyse de la syntaxe MediaWiki

Wikipedia est une incroyable source d’information, de données et plus généralement d’actes langagiers (utilisation du langage). Ce dernier point est très important pour nous autres chercheurs en traitement automatique des langues. En effet, nous avons besoin d’observer de très nombreux exemples d’utilisation du langage, que ce soit de manière automatique ou manuelle. Pour ce faire, nous compilons de vastes exemples d’utilisation du langage sous forme de corpus.

La création de composants UIMA permettant d’accéder et tirer parti de Wikipédia offrirait de nouvelles perspectives au traitement des langues en offrant un accès aisé à cette formidable ressource que représente l’encyclopédie libre. Je compte m’atteler à la création de tels composants et vais tâcher de publier plusieurs billets décrivant ma démarche en cours.

Voici le quatrième billet qui discute de l’analyse syntaxique du contenu des pages wiki pour la suppression des balises Wiki.

Continue reading...

02/12/2010

UIMA & Wikipédia (3) : Filtrage des données à charger

Wikipedia est une incroyable source d’information, de données et plus généralement d’actes langagiers (utilisation du langage). Ce dernier point est très important pour nous autres chercheurs en traitement automatique des langues. En effet, nous avons besoin d’observer de très nombreux exemples d’utilisation du langage, que ce soit de manière automatique ou manuelle. Pour ce faire, nous compilons de vastes exemples d’utilisation du langage sous forme de corpus.

La création de composants UIMA permettant d’accéder et tirer parti de Wikipédia offrirait de nouvelles perspectives au traitement des langues en offrant un accès aisé à cette formidable ressource que représente l’encyclopédie libre. Je compte m’atteler à la création de tels composants et vais tâcher de publier plusieurs billets décrivant ma démarche en cours.

Voici le troisième billet qui discute du filtrage des données à charger : articles, révision, ...

Continue reading...

02/02/2010

UIMA & Wikipédia (2) : Chargement d'un dump Wikipedia

Wikipedia est une incroyable source d’information, de données et plus généralement d’actes langagiers (utilisation du langage). Ce dernier point est très important pour nous autres chercheurs en traitement automatique des langues. En effet, nous avons besoin d’observer de très nombreux exemples d’utilisation du langage, que ce soit de manière automatique ou manuelle. Pour ce faire, nous compilons de vastes exemples d’utilisation du langage sous forme de corpus.

La création de composants UIMA permettant d’accéder et tirer parti de Wikipédia offrirait de nouvelles perspectives au traitement des langues en offrant un accès aisé à cette formidable ressource que représente l’encyclopédie libre. Je compte m’atteler à la création de tels composants et vais tâcher de publier plusieurs billets décrivant ma démarche en cours.

Voici le second billet qui discute du chargement d’un dump XML de l’encyclopédie libre et la distribution du contenu sous forme de CAS.

Continue reading...

02/01/2010

UIMA & Wikipédia (1) : Proposition de Type System

Wikipedia est une incroyable source d’information, de données et plus généralement d’actes langagiers (utilisation du langage). Ce dernier point est très important pour nous autres chercheurs en traitement automatique des langues. En effet, nous avons besoin d’observer de très nombreux exemples d’utilisation du langage, que ce soit de manière automatique ou manuelle. Pour ce faire, nous compilons de vastes exemples d’utilisation du langage sous forme de corpus.

La création de composants UIMA permettant d’accéder et tirer parti de Wikipédia offrirait de nouvelles perspectives au traitement des langues en offrant un accès aisé à cette formidable ressource que représente l’encyclopédie libre. Je compte m’atteler à la création de tels composants et vais tâcher de publier plusieurs billets décrivant ma démarche en cours.

Voici le premier billet qui discute de la création d’un Type System approprié pour représenter les pages de Wikipedia.

Continue reading...

01/29/2010

Sortie d'Apache UIMA 2.3

L’annonce est parue hier sur les listes concernées, la nouvelle version du framework Apache UIMA (Unstructured Information Management Architecture) est sortie, estampillée 2.3 !

Continue reading...

12/19/2009

Quel est le mot français pour "workflow" ? "mail" ? "camping-car" ?

Vous trouvez que bon nombre de vos amis, vous compris, utilisez un nombre important d’anglicismes et autres mots importés de langues étrangères bien que vous soupçonniez l’existence d’un mot équivalent en Français. Vous aimeriez un outil intégré à votre traitement de texte favori du type du correcteur orthographique ? Le correcteur terminologique français est fait pour vous !

Continue reading...

11/18/2009

Insérer plusieurs copies locales de Wikipedia dans une base PostgreSQL

Dans ce billet, j’avais décrit une méthode permettant de créer un miroir local de Wikipédia dans une base PostgreSQL. Plus précisément, la démarche fonctionnait pour Wikinews en tant que super-utilisateur postgres, mais je ne pouvais pas aller plus en avant étant donné que mon serveur ne possédait pas assez d’espace pour accueillir un miroir Wikipédia.

Heureuse nouvelle, mon laboratoire a fait l’acquisition d’un énorme serveur (24 cœurs Xeon à 2,6GHz, 200Go de RAM, et 1,5To d’espace disque) sur lequel j’ai pu expérimenter la création d’un réel miroir Wikipédia qui plus est sur un serveur sur lequel je ne suis pas administrateur... impossible donc de passer super-administrateur de la base !

Continue reading...

- page 1 of 3