Blog d'un jeune (chercheur) entrepreneur en TAL

Aller au contenu | Aller au menu | Aller à la recherche

28janv. 2011

Internet Censorhip in Egypt

I don't publish much in English, but here is an exception.

As you may know, Egypt has been cut off from the Internet ! This is the first time ever a government commits such an act against the Internet... and this should not happen again. I modestly relay the initiative of FDN to provide an RTC Internet access to the Egyptians so that they can get connected back.

Internet neutrality is a necessity. Internet can only be controled by the people !

Please relay...

26janv. 2011

Interroger OpenStreetMap en Python avec OsmApi

Le projet OpenStreetMap permet de générer de très jolies cartes qui illustreront prochainement Wikipédia. Mais l'intérêt du projet ne s'arrête pas à la création des cartes. Il s'agit bel et bien, à l'instar de Wikipédia, de créer une base de données géographique libre de droit.

Ces données sont accessibles au travers d'une API à qui sait où chercher. Je présente dans ce billet l'utilisation d'une bibliothèque Python permettant d'interroger cette API développer par un collègue Nantais.

Lire la suite

25janv. 2011

OpenStreetMap : requêtes avancées avec l'XAPI

OpenStreetMap est à la cartographie ce que Wikipédia est à l'encyclopédie. Le plus souvent les utilisateurs se contentent des cartes générées que ce soit pour imprimer un plan ou bien à des fins de navigation. Lorsque l'on souhaite accéder aux données du projet il faut habituellement utiliser l'API qui est assez limitée en fonctionnalités et en surtout en masse de données accessibles.

L'XAPI permet de récupérer des données plus vastes et filtrées.

Lire la suite

12janv. 2011

Cours de TALN (3) : n-grammes

Voilà le troisième et dernier opus du cours dont je parlais ici. J'avais présenté le premier opus ici et le second ici.

Lire la suite

09janv. 2011

Cours de TALN (2) : morphologie et étiquetage des rôles grammaticaux

Voilà le second opus du cours dont je parlais ici. J'avais présenté le premier opus ici.

Lire la suite

09janv. 2011

Python et Tree Tagger

Tree Tagger est un outil d'étiquetage des rôles grammaticaux disponible pour plusieurs plateformes et pour plusieurs langues. Si sa licence n'est pas libre, il peut être utilisé dans un cadre de recherche ou bien pour l'éducation.

Il existe un projet de wrapper Python pour cet outil qui pourrait m'être utile pour mon cours de TALN.

Lire la suite

07janv. 2011

Nettoyage des pages Web avec Web-Harvest

Dans un projet en cours, j'ai besoin d'un outil de nettoyage des pages Web. Par nettoyage des pages Web, j'entends l'isolement et l'extraction des éléments de la page qui constituent son contenu et le filtrage du reste (menus, publicité, scripts...). J'ai notamment proposé avec mon encadrant un sujet de stage à destination des M1 ALMA de l'Université de Nantes. (Le sujet a été écrit en quelques minutes et je me rends compte de plusieurs fautes, veuillez m'en excuser).

Lors de l'écriture de ce sujet de stage, j'ai découvert Web-Harvest, un outil d'extraction de contenu depuis le Web.

Lire la suite

06janv. 2011

PPDA accusé de plagiat... une opportunité pour ma thèse ?

C'est l'un des sujets chauds de cette rentrée hivernale : il semblerait que le livre à paraître sur Hemingway de PPDA publié par les Éditions Arthaud soit un plagiat. C'est le quotidien L'Express qui a levé le lièvre, rapidement relayé par bien d'autres.

Cette histoire serait une très belle illustration pour conclure ma thèse sur la dérivation de texte ! Si PPDA ou les éditions d'Arthaud voulaient bien m'envoyer une version du livre, je pourrais la confronter à l'aide de mes algorithmes sur la biographie signée Peter Griffin et parue en français aux éditions Gallimard. Mais parle-t-on bien de plagiat et qu'est-ce que cela signifie ?

Lire la suite

04janv. 2011

Petit script pour découvrir les expressions rationnelles

Comme j'en discutais dans mon billet précédent, mon premier cours cette année a principalement porté sur les expressions rationnelles. J'ai tiré deux bilans de ce cours :

  • il faut que les étudiants manipulent au maximum
  • il faut qu'ils comprennent mieux ce qui se passe dans les moteurs d'expressions rationnelles pour corriger leurs erreurs

J'ai donc écrit un script Python pour les accompagner dans leur découverte des expressions rationnelles.

Lire la suite

03janv. 2011

Cours de TALN (1) : expressions rationnelles

Voilà, suite à mon précédent billet, je me suis décidé à me lancer dans l'écriture du cours que je dois donner demain.

Lire la suite

03janv. 2011

Un cours de TALN parfait ?

Depuis le début de mon doctorat j'ai eu la chance de pouvoir dispenser plusieurs enseignements autour du TALN. Malheureusement je n'ai jamais été responsable du module et je n'ai jamais tellement eu la liberté d'enseigner comme je le souhaitais. Personnellement je n'ai pas aimé la façon dont le TALN m'a été enseigné et par conséquent je n'aime pas l'enseigner de la même façon qu'il me l'a été.

Quelle aurait été le cours de TALN que j'aurais aimé avoir ? Certainement quelque chose mieux ancré dans le TALN d'aujourd'hui et orienté vers les méthodes et les applications !

Lire la suite

02janv. 2011

Joyeux noël : Cheap Magic Inside en cadeau !

Pour ceux qui aiment Beirut, le film Cheap Magic Inside réalisé en 2007 par la Blogothèque au format "concerts à emporter" est désormais téléchargeable gratuitement et légalement à partir de cette page dédiée.

Lire la suite

27déc. 2010

Crash de mon serveur

Mon serveur qui hébergeait entre autre ce blog n'a pas supporté l'arrivée de l'hiver et nous a quitté le week-end du 12 décembre. Ce blog et quelques autres ont alors disparu d'internet depuis lors. Les voici de nouveau en ligne et fonctionnels depuis aujourd'hui.

Malheureusement je n'ai pas réussi à tout récupérer (système de sauvegarde défaillant), et il manque quelques billets et surtout plusieurs commentaires. N'hésitez pas à signaler tout dysfonctionnement que vous rencontreriez.

En attendant une année 2011 où je finirai peut-être enfin cette satanée thèse, je vous souhaite de joyeuses fêtes :)

20sept. 2010

UIMA insights : le doigt dans le workflow

Les opérations logicielles en traitement automatique des langues sont souvent très importantes, très coûteuse, mais également parallélisables. C'est l'un des avantages indéniables d'UIMA, par le choix d'une architecture par composants, de permettre de paralléliser les traitements assez simplement.

La programmation d'un composant UIMA doit donc se faire avec en tête l'idée qu'il pourrait être déployé pour un traitement parallélisé. Lorsque comme moi on n'a pas cette habitude, on se heurte rapidement à des petits obstacles techniques. Dans le cas présent, il s'agissait de développer un composant qui exportait les résultats d'un calcul dans un fichier CSV.

Lire la suite

08sept. 2010

Un rapide tokeniseur en mots pour le français

Parmi les addons distribués avec UIMA, le composant WhitespaceTokenizer permet de découper les textes en "mots" en s'appuyant sur les espaces et autres blancs. Malheureusement si cette approche est acceptable pour l'anglais, elle est beaucoup plus problématique pour le français. Le découpage en mots n'est pas une tâche forcément évidente et qui nécessiterait un réel travail. Partagé entre la nécessité d'une tokenisation correcte et le peu de temps qui me reste pour terminer ma thèse, voici une proposition suffisamment acceptable pour mes besoins.

Lire la suite

26août 2010

Calculer le recouvrement de deux textes avec NLTK

Mon travail de thèse, sobrement intitulée Détection de dérivations de texte, consiste à évaluer la probabilité qu'un texte dérive d'un autre. Une des applications, que je déteste mais qui a l'avantage de parler à la plupart des gens, est la détection de plagiat.

Une approche, naïve mais simple à mettre en œuvre, consiste à calculer le nombre de mots que deux textes partagent. Voici une proposition d'implémentation d'une telle technique tirant partie de la bibliothèque NLTK.

Lire la suite

17juil. 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.

Lire la suite

13juil. 2010

Installer Subclipse pour Eclipse Helios

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.

Lire la suite

29juin 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

22juin 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.

- page 2 de 6 -