Vendredi 7 août 2009
Toujours dans le cadre des recherches sur la similarité d'articles d'overblog, j'ai expérimenté un
logiciel d'extraction de mots-clef : KEA (acronyme pour keyphrase extraction algorythm). Il s'agit d'un algorithme capable
d'extraire des mots-clef ou des phrases-clef, de façon libre, on en privilégiant un vocabulaire controllé. il est implémenté en Java, et distribué sous licence GNU.Cette article décrit la procédure suivie et les premiers résutats sur des articles du présent blog. J'ai fais les tests sur une machine basée sur un système Ubuntu 9.04, mais je pense que les commandes seront les mêmes sur n'importe quel système UNIX. Avant toute chose, il est nécessaire que le paquet Java-SUN version 6 soit présent sur le système.
- On commence par télécharger l'archive : KEA-5.0_full (22Mo, ZIP) et on extrait le contenu de l'archive dans un répertoire (/home/kea dans notre cas).
- Après s'être placé dans le répertoire kea, on met à jour l'environnement :
-
# Mise en place des PATH
export KEAHOME=/home/kea
export CLASSPATH=$CLASSPATH:$KEAHOME
export CLASSPATH=$CLASSPATH:$KEAHOME/lib/commons-logging.jar
export CLASSPATH=$CLASSPATH:$KEAHOME/lib/icu4j_3_4.jar
export CLASSPATH=$CLASSPATH:$KEAHOME/lib/iri.jar
export CLASSPATH=$CLASSPATH:$KEAHOME/lib/jena.jar
export CLASSPATH=$CLASSPATH:$KEAHOME/lib/snowball.jar
export CLASSPATH=$CLASSPATH:$KEAHOME/lib/weka.jar
export CLASSPATH=$CLASSPATH:$KEAHOME/lib/xercesImpl.jar
export CLASSPATH=$CLASSPATH:$KEAHOME/lib/kea-5.0.jar
- Comme indiqué dans la documentation d'usage, afin d'être sûr que tout va bien, on lance la compilation d'un test inclus dans l'archive :
-
# Mise en place du test
javac TestKea.java
java -Xmx526M TestKea - Puisque tout va bien, on va créer un modèle d'extraction français que l'on va tester sur des articles overblog. Pour l'apprentissage, dans un premier temps, j'ai utilisé les textes fournis dans l'arrchive dans le répertoire testdocs/fr/train/. On prépare tout d'abord les fichiers en question :
-
# Mise en place du modèle OB
mkdir OB
mkdir OB/train
mkdir OB/test
cp testdocs/fr/train/* OB/train/
- Tout étant prêt, on commence par créer le modèle. C'est la procédure la plus longue, prenant près d'une minute sur un P4. La commande précise les stop-words (mots interdits) et le stemmer français, eux aussi inclus (en plus des version anglaise et espagnoles). Pour notre test, on ne précise pas de vocabulaire particulier, les textes issus des blogs pouvant être multiples.
-
java kea.main.KEAModelBuilder -l OB/train/ -m OBModel -i fr -s StopwordsFrench -t FrenchStemmer -v none
- Et enfin, on applique le modèle sur le texte de certains articles, cde la manière suivante :
-
java kea.main.KEAKeyphraseExtractor -l OB/test/ -m OBModel -i fr -s StopwordsFrench -v none
| Article | Mot-clefs |
| Top des articles les plus vus |
|
| La similarité d'articles (plan B1) |
|
| [Illustration] Vilma 2 + colorisation |
|
| [Battlelore] Traversée du Rhône |
|
Je dois avouer que j'ai été assez surpris par les résultats qui sont loin d'être rédicules pour un tout premier tests. En particulier, les articles [Illustration] Vilma 2 + colorisation et [Battlelore] Traversée du Rhône donnent vraiment des résultats excellents. Pour le Top des articles les plus vus, c'est clairement moins concluant. Quand à l'article La similarité d'articles (plan B1), je conçois qu'il soit difficile d'extraire quelque chose de cohérent d'un article qui affiche des liens vers un semble d'articles similaires.
Au final, une assez bonne surprise, susceptible de servir de base à une génération automatiques de mots clefs pour renforcer la couverture d'articiles similaires (cf. le Plan B - La similarité d'articles chez OB ).

Derniers Commentaire