Magazine Internet

semanticTags : Le plugin qui ne verra jamais le jour

Publié le 05 février 2009 par Zenstyle

C'est triste de dire ça mais c'est malheureusement vrai. Oh... mince... mais qu'est-ce que je peux être bête, il faut d'abord que je vous parle de semanticTags. C'est une idée que j'ai eu après avoir faire mon projet PAIR pour l'école : Semantic Maps. Je suis parti du principe que l'on peux appliquer un calcul de distance sémantique sur les mots contenus dans un billet pour en extraire les plus corrélés et ainsi proposer des tags qui sont en rapport avec le texte, tout cela de façon automatique.

Je m'y suis donc mis sérieusement ces deux derniers jours pour créer un plugin Dotclear 2 basé sur cette idée. L'algorithme est relativement simple et facile à mettre en place bien que j'ai eu pas mal d'ajustements à mettre en place pour qu'il s'intègre bien avec la mécanique de Dotclear. J'ai fait mes premiers tests sur des phrases banales piochées ici et là, des phrases courtes avec pas plus de 15 - 20 mots.

Une grosse différence qu'il y a entre le plugin et mon projet de l'année dernière est que l'on triait les termes manuellement avant de calculer les distances entre eux. Or ici, le plugin prend tous les termes du billet ce qui inclut les pronoms, les adverbes, etc... Forcément, mes premiers tests me sortaient comme mots forts des trucs du genre la, le ou dans car ils sont utilisés avec presque tous les autres mots. J'ai du créer un dictionnaire de termes à ne pas traiter pour éviter ce comportement. Je supprime grâce à lui tous les pronoms, adverbes ainsi qu'articles et les verbes les plus utilisés. Mes essais étaient alors concluants, j'obtenais ce que je souhaitais ainsi que des suggestions judicieuses.

Vous vous dites : Mais mince, pourquoi il ne nous le donne pas alors ce plugin puisque ça marche ?! C'est légitime... Mais ce que vous ne savez pas c'est la manière dont ce plugin marche. Pour calculer les distances sémantiques entre tous les mots, il faut établir une matrice carrée contenant ces distances. Et chaque calcul représente une requête sur un moteur de recherche. Bien qu'en utilisant l'API BOSS de Yahoo! qui est assez légère, une requête est une requête et pour chaque terme, il faut calculer la distance avec tous les autres mots ce qui donne une complexité en n carré. Cela veut dire que pour un billet de 300 mots [1], il faut faire 300*300 soit... 90 000 requêtes.

Et la c'est le drame, car même en enlevant les articles, adverbes, etc, on est toujours à 150 ou 200 mots. Et si on compte 1/4 de secondes pour une requête, on est 6,4 heures en tout pour obtenir la matrice tant espérée...

Bref, je dois dire que je suis assez frustré car ça aurait été un beau plugin mais il n'y a malheureusement pas possibilité pour optimiser ça mis à part peut être une énorme base de données qui contiendrait déjà beaucoup de distance. Mais même avec ça, cela alourdirait les bases SQL ce qui serait un soucis pour certains... Je suis coincé, Damned!

Notes

[1] qui est un billet assez court


Retour à La Une de Logo Paperblog

A propos de l’auteur


Zenstyle 1 partage Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossiers Paperblog

Magazine