Intelligence artificielle sous SPIP ?

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Je viens de voir que cet article était validé et donc accessible dans la partie publique. Initialement mon but était de récupérer des avis sur le projet pour voir s’il avait un réel intérêt. Depuis pas mal de choses ont été modifiée.

Je n’avais pas pris le temps de mettre à jour les informations et je vais me rattraper...

Le projet a donc avancé, mais il est en « sommeil » depuis un petit moment. Voici l’état d’avancement :
-  Modification graphique du bot
-  Simplification des tables MySQL, le nombre est réduit à 2
-  Base de connaissance plus conséquente (sur le site de test)
-  et quelques petites fonctions...

Pour faire simple, vous trouverez ci-joint un zip avec les sources et quelques infos...

Les mises à jour et infos supplementaires seront disponibles à l’adresse suivante :

http://www.free.knet.fr/rubrique.php?id_rubrique=8

PS : vous y trouverez aussi le bot...

*******************************************************
Ci-dessous, l’article d’origine...
*******************************************************

Tout est parti d’une phrase de ma femme :

« C’est nul ton truc, il ne cause même pas ! »

Cette critique se portait sur des lignes de code PHP. Piqué au vif, j’ai relevé le défi.

J’ai sorti un script PHP basé sur le principe du Stimulus/Réponses avec analyse de la pertinence. Mais une simple page avec un encart de saisie et une simple réponse texte sur un fond de page blanche ne lui suffisait pas. Alors je lui est donné vie grâce à flash et je l’ai domicilié sur un site SPIP.

Il s’appelle Lili_Bot ...

Plus sérieusement, j’y ai ajouté une interface d’administration qui :

-  recense toutes les questions posées par les utilisateurs auxquelles le script n’a pu trouver de correspondance, afin de pouvoir améliorer son comportement
-  gère la liste des couples stimulus /réponses
-  permet d’attribuer une « expression faciale » aux réponses

Le script permet aussi d’effectuer une recherche sur un site SPIP (le nombre de réponses trouvées est pris en compte dans la phrase du bot.

Une version de demo en ligne à l’adresse suivante :

http://free.knet.fr

Il reste encore un bugs et quelques imperfections :
-  Au premier chargement celà ne fonctionne pas toujours, après actualisation plus de pb (bug du code ActionScript dans le swf)
-  Pas de travail graphique (ce n’est pas mon fort...)
-  La base de connaissance est réduite par manque de temps pour la compléter.

Voici quelques expressions enregistrées pour les tests :

-  « bonjour » ou « salut »
-  « qui est tu ? »
-  Quelques insultes (histoire qu’il puisse se défendre)
-  et d’autres à découvrir ...


petite doc sommaire

J’utilise 3 tables mySQL principales :

-  Tables des stimulus (phrase envoyée par l’utilisateur). Un stimulus est un ensemble de mot clef mis en majuscule, sans accents, sans caractère spécial. C’est avec les enregistrements de cette table que la phrase transmise est comparée. Les résultats sont classés par ordre de pertinence. S’il n’y a aucun résultat trouvé, la phrase transmise par l’utilisateur est « nettoyée », puis enregistrée dans cette table. Ceci permet au bot de « savoir » que cette phrase lui a déjà été soumise et cela permet surtout à son administrateur de lui « apprendre » à répondre et ainsi d’affiner la base de connaissance en fonction des sujets abordés sur le site.

-   Tables des réponses C’est ici que l’on liste les réponses disponibles avec l’expression façiale correspondante.

-  Tables des correspondances On fait le lien entre les stimuli et les réponses. Un stimulus peut avoir plusieures réponses et inversement. Plusieures réponses pour un seul stimulus permet de donner plus de vie au bot (pas toujours la même réponse) et plusieurs stimulus pour une réponse permet au bot de mieux « comprendre » les différentes façon de dire la même chose.

-  Il existe une table additionnelle pour les utilisateurs, mais je compte utiliser celle de spip, pour pouvoir accueillir les visiteurs avec leur pseudo, s’ils sont enregistrés...

Bien sûr, tout cela est géré par une interface (Qui est d’ailleurs à améliorer au niveau de l’ergonomie).


Pièce jointe

Description du fichier lili_bot.zip :

Ensemble des swf et fla utilisés par lili_bot.

Un fichier text.php est fourni et permet de simuler une réponse. Pour l’utiliser il faut modifier la ligne 5. Il y a 3 éléments à renseigner :

&flash_reponse= (texte de la réponse)
&flash_image= (expression façiale à charger)
&flash_mot= (nombre de syllabe à prononcer)

Le pack est prêt à être utilisé en local, sans l’installer sur un serveur. Il suffit de lancer lilibot_v0_1.swf après décompression.

Toute proposition d’amélioration du code est plus que la bienvenue.


J’ai rédigé cet article (avec l’aide d’un bienfaiteur anonyme qui a refait la mise en page) afin de recueillir des avis pour savoir s’il est utile de finaliser ce script et d’en faire une contribution...
Merci de me faire part de vos commentaires

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom