amaroK chat bot plugin
Bonsoir,
l'avant dernier post n'a été qu'une mise en bouche pour réaliser quelque chose de plus intéressant. Au menu du jour, je propose encore un nouveau plugin pour aMSN.
OK, cette fois j'évite le listing de code, le jargon technique et toutes ces choses qui font du blog «encore un autre blog par un informaticien pour informaticiens». Tous doivent s'y retrouver!
Le chat botté.
En quelques mots, un «chat bot» ou «chat robot» est un logiciel qui mène une conversation avec un humain. Ce logiciel prétend être intelligent en essayant de répondre de façon cohérente aux messages envoyés par l'interlocuteur.
..au pays des merveilles
A.L.I.C.E ou Alice est un chat bot qui est fondé sur une base de connaissances écrite dans un langage XML nommé AIML. Le plugin que je propose, intègre Alice à aMSN et permet de laisser le bot faire la conversation à votre place.
Par exemple, une fois le chat bot activé, celui-ci mène la conversation engagée par un de vos contacts MSN.
Les outils
Pour réaliser cela j'ai utilisé le langage Python qui est disponible sur la majorité des distributions Linux. Le binding Python pour le SDK de KDE est aussi nécessaire dans la mesure où DCOP est utilisé comme protocole de communication inter-processus. Pour manipuler la base de connaissance en AIML, pyAIML a été utilisé. Et enfin, pour réaliser le plugin, on peut reprendre, moyennant quelques modifications, le code TCL de l'avant dernier post.
La conception
Le script Python sera utilisé pour:
TCL <--> DCOP <--> Python
Les seuls messages DCOP exposés par le script Python sont:
ask: Pour soumettre un message à Alice et obtenir une réponse
syntaxe: dcop Alice bot ask "" ""
exemple: dcop Alice-6466 "what is the date today?" "david"
exit: Pour arrêter le programme Python.
syntaxe: dcop Alice bot exit
Télécharger le script python ici.
Le plugin TCL
Inutile de publier le code du plugin. Pour le réaliser, il suffit de repartir du dernier plugin et de coder la procédure received dans laquelle on fait cette fois l'appel DCOP ask.
Pour appeler ask on peut écrire quelque chose comme ça:
set reponse [exec dcop `dcop | grep -i alice` bot ask $question $identifiant]
La réponse obtenue, on l'envoi à l'interlocuteur en utilisant la procédure MessageSend définie dans le fichier gui.tcl. Comme pour le dernier plugin, rien n'est prévu pour l'arrêt, ni pour le chargement. Je laisse le soin à l'intéressé de compléter.
l'avant dernier post n'a été qu'une mise en bouche pour réaliser quelque chose de plus intéressant. Au menu du jour, je propose encore un nouveau plugin pour aMSN.
OK, cette fois j'évite le listing de code, le jargon technique et toutes ces choses qui font du blog «encore un autre blog par un informaticien pour informaticiens». Tous doivent s'y retrouver!
Le chat botté.
En quelques mots, un «chat bot» ou «chat robot» est un logiciel qui mène une conversation avec un humain. Ce logiciel prétend être intelligent en essayant de répondre de façon cohérente aux messages envoyés par l'interlocuteur.
..au pays des merveilles
A.L.I.C.E ou Alice est un chat bot qui est fondé sur une base de connaissances écrite dans un langage XML nommé AIML. Le plugin que je propose, intègre Alice à aMSN et permet de laisser le bot faire la conversation à votre place.
Par exemple, une fois le chat bot activé, celui-ci mène la conversation engagée par un de vos contacts MSN.
Les outils
Pour réaliser cela j'ai utilisé le langage Python qui est disponible sur la majorité des distributions Linux. Le binding Python pour le SDK de KDE est aussi nécessaire dans la mesure où DCOP est utilisé comme protocole de communication inter-processus. Pour manipuler la base de connaissance en AIML, pyAIML a été utilisé. Et enfin, pour réaliser le plugin, on peut reprendre, moyennant quelques modifications, le code TCL de l'avant dernier post.
La conception
Le script Python sera utilisé pour:
- Charger les fichiers AIML.
- Transmettre le message de l'interlocuteur à Alice.
- Renvoyer la réponse.
TCL <--> DCOP <--> Python
Les seuls messages DCOP exposés par le script Python sont:
ask: Pour soumettre un message à Alice et obtenir une réponse
syntaxe: dcop Alice bot ask "
exemple: dcop Alice-6466 "what is the date today?" "david"
exit: Pour arrêter le programme Python.
syntaxe: dcop Alice bot exit
Télécharger le script python ici.
Le plugin TCL
Inutile de publier le code du plugin. Pour le réaliser, il suffit de repartir du dernier plugin et de coder la procédure received dans laquelle on fait cette fois l'appel DCOP ask.
Pour appeler ask on peut écrire quelque chose comme ça:
set reponse [exec dcop `dcop | grep -i alice` bot ask $question $identifiant]
La réponse obtenue, on l'envoi à l'interlocuteur en utilisant la procédure MessageSend définie dans le fichier gui.tcl. Comme pour le dernier plugin, rien n'est prévu pour l'arrêt, ni pour le chargement. Je laisse le soin à l'intéressé de compléter.
3 Comments:
Une idée (débile) pour une autre version de chat bot : un répondeur automatique et intelligent de messages "roses" pour solitaires endurcis. Déclinable en version masculine et féminine... Idée de nom du logiciel : Chocolo Bot
Facile il suffit d'avoir une nouvelle base de connaissances.
Monsieur est toujours frivole.
bonjour,
Je suis preneuse si vous avez une version toute prête de ce repondeur automatique et intelligent de messages rose, c'est justement ce que je cherchais pour notre salle quand je vous ai lu.
Ou faut il signer ?
(je suis affreusement nulle en technique) mais je peux vous indiquer la salle voir si votre idée lumineuse est compatible avec notre joujou.
Merci de votre réponse,
Sourire de sables
Enregistrer un commentaire
<< Home