RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Betabot le chatterbot

Forum : INTELLIGENCE ARTIFICIELLE ( IA )
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ INTELLIGENCE ARTIFICIELLE ( IA )

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [>>]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM INTELLIGENCE ARTIFICIELLE ( IA )

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
BertProd
Membre MP
Avatar de BertProd
Inscrit : 07/06/2006
Messages : 161
Message
#116334
Posté le 21/11/06 à 10:19
Bonjour à tous,

J'ouvre ce nouveau sujet pour présenter mon projet de codage d'un chatterbot nommé "Betabot".

Un peu d'histoire :
-------------------
"Betabot" est un projet issue du sujet "Nouveau projet IA" présent dans le formum MP. Cet ancien sujet proposait le codage d'un chatterbot nommé "Charlie". Il devait simuler un dialogue homme/machine ressemblant de très près à celui entre deux hommes (en créant une Intelligence Artificielle évoluée). Après de nombreux débats et estimations de réalisation ... le projet n'a jamais démarré. Quelques mois ont passés et voici que je reviens vous proposer "Betabot" qui lui est un projet déjà commencé (par moi). La première version est déjà opérationnelle et la deuxième est presque finie. Autant dire que le projet est très actif. Ce nouveau sujet permet aussi de vous éviter de lire les 189 posts de l'ancien sujet "Nouveau projet IA" Smiley

Présentation du projet :
------------------------
Le but du projet "Betabot" est de créer un chatterbot capable d'apprendre tout et n'importe quoi suivant la logique de son éducateur. Par exemple, il doit être possible de lui apprendre n'importe quel langage, que ce soit le français, l'anglais, n'importe quelle langue (même des langages inventés). L'intelligence artificielle interviendra plus tard et permettra entre autre de simuler des raisonements, des décisions, des choix ... sur les réponses à fournir à l'interlocuteur.

Fichiers sources (disponibles à la fin du sujet "Nouveau projet IA")
--------------------------------------------------------------------
- index.php
- fonctions_principales.php
- betabot.sql

Compatible sur :
----------------
- Windows
- Linux
- Mac

Infos complémentaires
---------------------
"Betabot" est sous Licence Générale Publique GNU (Open Source).

Installation de Betabot :
-------------------------
Pour installer Betabot il faut installer sur sa machine : Apache, PHP et MySQL (PHPmyAdmin est un plus). Ensuite il faut editer le fichier "index.php" et indiquer les chemins d'accès vers le fichier "fonctions_principales.php" en haut du fichiers (file_exists(chemin_d_acces) et require_once(chemin_d_acces)). Ensuite il faut créer une base de donnée nommée "betabot", puis créer toutes les tables en exécutant le fichier sql "betabot.sql". Avec PHPmyAdmin il suffit d'importer ce fichier après avoir créé la base.

Utilisation de Betabot :
------------------------
Au premier démarage, Betabot ne connaît strictement rien. Son interlocuteur (vous) devra l'éduquer comme il le souhaite. Pour l'éduquer il suffit de lui parler. A chaque phrase, Betabot enregistre les mots, les liens et les réponses du dialogue.

Voici un exemple d'utilisation de Betabot :

Vous : Bonjour
Betabot : Bonjour.
Vous : ça va ?
Betabot : Ca va ?.


Ici, Betabot a appris que lorsque vous lui dites "Bonjour" alors il doit répondre "Bonjour." puis lorsque vous lui dites "ça va ?" alors il doit répondre "Ca va ?.". Vous allez me dire, mais il est complètement bête ... c'est un perroquet ton "Beta machin truc". Et bien je vous propose de lire la suite (Aujourd'hui de quoi est capable Betabot).

Aujourd'hui de quoi est capable Betabot :
-----------------------------------------

Version 1.0 (opérationelle depuis le 18/11/2006)
- Mise en place de la balise "[tadd]".
- Détails :
Lorsque Betabot répète une phrase qui vous lui avez aprise mais qu'il n'aurait pas du répondre par cette phrase, il faut utiliser la balise "[tadd]" (traduire par "Tu Aurais Du Dire") devant la nouvelle phrase qu'il aurait du dire.

Exemple :

Vous : Bonjour
Betabot : Bonjour.
Vous : ça va ?
Betabot : Ca va ?.
Vous : [tadd] Oui et toi ? // on lui demande de répondre "Oui et toi ?" à la phrase "ça va ?".
Betabot : Oui et toi ?.
Vous : Bonjour // on test si le bot a bien pris en compte ce qu'on lui a aprris.
Betabot : Bonjour.
Vous : ça va ?
Betabot : Oui et toi ?. // test positif il répond "Oui et toi ?.".


Version 1.1 (opérationelle depuis le 29/11/2006)
- Mise en place de la balise "[tapd]".
- Détails :
Lorsque Betabot propose une réponse, celle-ci est unique ... donc le dialogue suit facilement le même fil conducteur. Il faut utiliser la balise "[tapd]" (traduire par "Tu Aurais Pu Dire") devant une phrase pour indiquer à Betabot qu'il peut choisir entre l'ancienne ou les anciennes réponses et la phrase qu'on lui donne.

Exemple :

Vous : Bonjour
Betabot : Bonjour.
Vous : [tadd] Salut // on lui indique qu'il peut aussi répondre "Salut." à la phrase "Bonjour".
Betabot : Salut.
Vous : Bonjour
Betabot : Bonjour. // parfois il répond "Bonjour.".
Vous : Bonjour
Betabot : Salut. // parfois il répond "Salut.".


Prochaines évolutions :
-----------------------
- Passage en XML et transformation XSLT pour la sauvegarde de données.
- Ajout d'un module d'installation guidée (cela permettra d'installer Betabot sur votre machine en quelques clics).
- Ajout d'un dictionnaire (correcteur orthographique totalement éditable par l'éducateur).
- Ajout d'un système de poids sur les phrases (ce qui permet de savoir quelles phrases sont les plus utilisées dans le cas d'une utilisation multi-utilisateurs par exemple ... ainsi le bot apprendra qu'il faut plus souvent dire telle ou telle phrase).
- Ajout d'une balise "[sup]" qui permettra de supprimer des données apprise par Betabot.
- Ajout d'un vérrou qui empêche le bot d'apprendre (dans le cas d'un multi-utilisateur lorsque l'éducateur ne veut pas que son bot apprenne n'importe quoi).
- ...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

BertProd
Membre MP
Avatar de BertProd
Inscrit : 07/06/2006
Messages : 161
Message
#116357
Posté le 21/11/06 à 14:59
Voila je viens de ré-éditer le post du sujet. Je le mettrais régulièrement à jour alors n'hésiter pas à revenir voir. De même si vous avez des questions n'hésiter pas à les poser. Pour les intéressés je mettrais surement un site à disposition pour qu'on puissent travailler à plusieurs tranquillement.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

lelaulau
Nouveau membre
Inscrit : 24/11/2006
Messages : 2
Message
#116620
Posté le 24/11/06 à 13:06
Peux tu donner un lien vers la page du projet?
Sous quelle license c'est? As tu réalisé ton propre langage de description pour les patrons? (tout est dans la base de donnée, on peut les sérialiser en txt, en AIML?)

merci pour les infos.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

BertProd
Membre MP
Avatar de BertProd
Inscrit : 07/06/2006
Messages : 161
Message
#116800
Posté le 27/11/06 à 10:42
Petites précisions :

"Betabot" est sous Licence Générale Publique GNU (Open Source). Cependant, je n'ai toujours pas créé de site dédié au projet. J'espère pouvoir le faire dans les plus brefs délais (dès que j'aurais une connexion internet dans mon nouvel appartement). En attendant, ce forum sera un tremplin pour le lancement du projet.

Le codage de "Betabot" est rapide mais chaque amélioration demande quand même pas mal de temps libre ce que je n'ai pas le luxe d'avoir. C'est pourquoi il va falloir s'armer d'un peu de patience. La grande différence avec mes anciens projets est que "Betabot" est concret et déjà fonctionnel.

Je pense que j'aurais finie de coder la deuxième amélioration demain (mardi) donc pleins de bonnes surprises ;-)

Ce qu'il me manque actuellement, ce serait un dépôt ou je pourrais déposer les sources pour que tout le monde le test. Mais cela viendra avec le site.

Je vous préviendrais lorsque le site sera en ligne.

Pour les infos techniques :

Pour l'instant j'ai juste manipulé judicieusement les bases de données du bot. Tous les mots sont enregistrés dans une table et affectés à un identifiant unique. Les phrases sont aussi enregistrées dans une autre table mais cette fois ce ne sont que des compositions d'identifiant de mots. Je m'explique : prenons un exemple,


Vous : Bonjour ça va ?
Betabot : Bonjour ça va ?.


Dans la table "mots" on aura cela :

ID mot
1 bonjour
2 ça
3 va
4 ?

Et dans la table phrase :

ID phrase
1 1;2;3;4;

Bon c'est peut être pas très clair mais je peux pas faire beaucoup mieux comme explication. Le site me permettra de faire des schémas simples.

Oui on peut sérialiser les données en txt.

Sinon la technologie AIML pas utilisée (ou pas encore, qui sait ...)

En tout cas ce qui est sur, c'est que la méthode d'enregistrement va changer (en premier, j'utiliserais la technologie XML/XSLT).

Si vous avez besoin d'informations supplémentaires, n'hésitez pas à me posez des questions.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

lelaulau
Nouveau membre
Inscrit : 24/11/2006
Messages : 2
Message
#116802
Posté le 27/11/06 à 10:55
Si je peux te donner un conseil, utilise directement des technologies de la web sémantique: RDF ou OWL. Ça te permet de décrire de manière plus précise la sémantique de ton information. C'est basé sur du XML bien sûr.
Bon le problème est que si tu connais pas, ça va te coûter pas mal d'effort à te mettre à jour, mais le gros avantage c'est que c'est très extensible après.

Imagine que ton patron serait:
"j'aime les fleurs" et que la réponse est "non ça pue les fleurs"
et que ton ontologie (c'est l'information qui est écrite en RDF ou OWL) sait que les géranium sont des fleurs.
la phrase "j'aime les géraniums" donnerait aussi comme réponse "non ça pue les fleurs"

bon courage avec ton projet

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

BertProd
Membre MP
Avatar de BertProd
Inscrit : 07/06/2006
Messages : 161
Message
#116813
Posté le 27/11/06 à 12:26
Oui je suis tout à fait d'accord, c'est un bon conseil. Je vais me renseigner un peu plus sur cette technologie.

En fait, j'ai l'intention de très vite changer de technologie mais je voulais vraiment avoir du code de base ultra simple pour avoir un point de départ. On peut améliorer qq chose que si cette chose existe Smiley.

Bon avant de faire ce changement, je finie ma dernière modif pour demain je l'espère. Je met en place le module d'installation. Et je change de techno.

Encore merci Smiley.

---

Bon je viens de me renseigner, c'est tout à fait ce que je recherchais. Je sais pas si je vais réutiliser cette techno ou créer mon propre langage ... j'étudie la question.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

BertProd
Membre MP
Avatar de BertProd
Inscrit : 07/06/2006
Messages : 161
Message
#116904
Posté le 28/11/06 à 09:59
Bon l'amélioration (avec l'ajout de la balise "[tapd]") aura 1 jour de retard et sera dispo demain (mercredi).

Voila A+

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

No_Serious
Nouveau membre
Avatar de No_Serious
Inscrit : 14/11/2006
Messages : 15
Message
#116912
Posté le 28/11/06 à 13:29
J'ai sans doute loupé un épisode car je bossais sur un truc. L'install du chaterbot a-t-il été expliqué?

Je suis sur un truc qui avance doucement faute de moyens. Une IA qui apprend basée sur les lois d'électricité (f , U, I, R , C et L). L'obstacle actuel est la réalisation micromécanique ultralégère et un circuit électronique miniature pour un système embarqué. Des volontaires dans la salle? Smiley
__________________________
Tu me dis la vérité quand tu affirmes que tu mens tout le temps?!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

BertProd
Membre MP
Avatar de BertProd
Inscrit : 07/06/2006
Messages : 161
Message
#116920
Posté le 28/11/06 à 14:34
No_Seriuos regarde le premier post de ce sujet Smiley

Bon petite parenthèse pour tout le monde :

Voici un sujet que je vient de lire et que je trouve super.
http://www.vieartificielle.com/article/index.php?id=01401

Pour résumer, un étudiant vient d'inventer le stockage de données sur de simple feuille de papier (au lieu d'utiliser du binaire il utilise des formes et des couleurs). C'est très puissant comme méthode car une feuille A4 pourrait contenir jusqu'à 256 Go de données (et encore c'est la première version du projet, imaginé quand il vont améliorer cela).

Si je trouve cela intéressant c'est que pour le cas d'un chatterbot, ce serait l'idéal pour stocker des infos.

Et sinon j'ai une idée qui me passe par la tête ... je sais pas s'il y ont pensé mais imaginé que leur système fonctionne a merveille (256 Go sur une feuille A4). Alors un ordinateur pourrait stocker toutes ses données en image jpeg par exemple. Ainsi 256 Go de données pourraient être codées en qq centaines de Ko. Il suffirait de leur logiciel pour encoder/décoder les images.

Lol ok ok je dois rêver. En tout cas vos avis m'intéresse. Lisez l'article.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

BertProd
Membre MP
Avatar de BertProd
Inscrit : 07/06/2006
Messages : 161
Message
#116999
Posté le 29/11/06 à 09:19
Voila, l'amélioration est terminé et j'ai quelques bonnes surprises à venir.

Je m'explique : avant de faire un module d'installation je me lance directement au passage de sauvegarde des données en XML. Vous allez me dire qu'est ce que sa change ... et bien plus du tout besoin de base mysql et malgré ce que beaucoup pourrait penser, c'est beaucoup plus rapide (au niveau performance) de manipuler des fichiers XML plus ou moins volumineux plutot que des bases mysql.

Dès que ce passage en XML est effectué, il vous suffira de me donner votre adresse e-mail pour que je vous envois les sources par mail vu que il n'y a tjs pas de site.

Voili voilou. A+

P.S.: MAJ du post principal.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM INTELLIGENCE ARTIFICIELLE ( IA )



    PAGES : [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [>>]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.