Fantomas’side

Weblog open-source

Archives 2015

Veliberator is alive

Il y a quelques jours, j'ai décidé de mettre à jour le code de veliberator, l'API qui me sert à récupérer en direct les informations du réseau Vélib'. Je vous en avais déjà parlé lors d'un article précèdent en 2009.

Donc après avoir fini la mise à jour de 2015, je me suis demandé à quel point il était compliqué d'en faire un robot pour IRC, une vieille idée qui me trottait en tête depuis longtemps.

Or après quelques recherches il est assez simple de faire un bot IRC, grâce à la librairie irc pour Python. Un module étant même fourni spécifiquement pour écrire ce genre de robot.

Malgré une documentation éparse, j'ai pu en quelques heures mettre sur pied une version IRC de veliberator me permettant de trouver les stations libres les plus proches.

Pour rencontrer veliberator le robot, connectez-vous sur irc.freenode.net/#velib et écrivez une des choses suivantes:

veliberator, status 42001
veliberator, address tour eiffel
veliberator, help

Quand c'est facile et utile, le développement devient plus qu'un plaisir.

♪ Je lui dirais des mots vides ♫

Depuis des temps reculés, j'essaye en composant avec mon temps et mon inspiration de toujours développer et maintenir Zinnia. Or un des points que j'essaye d'améliorer ces derniers temps, tant au niveau des résultats, que des performances, c'est la comparaison du contenu des articles, afin de retrouver les articles les plus similaires entre eux.

Une des étapes pour comparer le contenu entre les articles, va être de soustraire dans le texte l'ensemble des mots vides de sens (ou stop words en anglais), tel que "le, la, les", afin de limiter le nombre de mots à comparer, tout en travaillant sur des mots dirons-nous "qualifiés". 

Prenons un exemple concret en français :

Maître Corbeau sur un arbre perché,
Tenait en son bec un fromage.
Maître Renard par l’odeur alléché
Lui tint à peu près ce langage :
Et bonjour, Monsieur du Corbeau.

Une fois soustrait de ses mots vides, cet extrait de fable donnera :

Maître Corbeau XXX XX arbre perché,
Tenait XX XXX bec XX fromage.
Maître Renard XXX X’odeur alléché
XXX tint X XXX XXXX XX langage :
XX bonjour, Monsieur XX Corbeau.

On voit donc que l'on conserve les mots essentiels du texte, même si l'on perd le sens des phrases. Et on comprend aussi l'intérêt d'améliorer ce processus, qui peut fortement jouer sur la qualité des résultats et des performances.

Revenons à Zinnia, j'essaye donc d'améliorer cette étape du filtrage, car actuellement seuls les mots vides ...

Continuer la lecture