Bonjour !
Je travaille présentement sur un filtre bayésien de spam en C++. Ma version naïve fonctionne très bien et j'en suis à en améliorer les performances et la précision avec un modèle de Markov caché (Hidden Markox Model, HMM).
J'ai un peu de difficulté à bien démarrer mon implémentation et j'avoue ne pas encore avoir bien saisi le fonctionnement de l'estimation des paramètres avec l'algorithme de Baum-Welch (aussi appelé algorithme de Forward-Backward), Or, tout HMM a pour hypothèse que les paramètres sont connus (ce qui n'est pas mon cas, je dois donc les estimer).
J'ouvre donc cette discussion au cas où quelqu'un parmi vous aurait de bons conseils à mon prodiguer. Aussi, si je serai probablement tenté de coucher ici mes impressions, trucs et astuces au fur et à mesure de mes travaux. Plus tard, si je réussi à monter quelque chose de pas mal, je penserai à monter un cours pour la postérité (et pour référence ultérieure ).
En attendant, voici plus de détails sur le problème.
En pratique, le modèle sert à associer une représentation d'information (ici, une chaîne de caractères) à une connaissance théorique (ici, un mot) ayant potentiellement subit des altérations. Par exemple, associer la chaîne observée "EnL@RGEm3nt" à son sens théorique et abstrait "enlargement". Ça permettrait à mon filtre de diminuer de BEAUCOUP sa base de données et d'améliorer grandement sa précision.
J'ai donc commencé à lire sur le modèle, notamment ici http://www.shokhirev.com/nikolai.html et aussi le chapitre 14 de ce gars qui produit des cours extraordinaires sur youtube http://www.youtube.com/user/mathematicalmonk .
EDIT : Autre bonne source : http://www.google.fr/url?sa=t&rct=j&...iivfTg&cad=rja
Des idées ?
Partager