Ceux qui ont eu l'occasion de lire les derniers post du sujet Betabot le chatterbot seront déjà au courant : le projet de réalisation d'un chatterbot (lire le sujet cité précedemment pour plus de détails) est de nouveau relancé.
Cette fois une organisation en équipe est de mise. Vous pouvez vous inscrire ici pour faire partis de cette aventure en postant un message (présentation + motivations + compétences en informatiques ou IA ou autre).
Organisation à venir
- Recrutement et formation de l'équipe
- Mise au point sur les méthodes de travail et les objectifs
- Réalisation de documentations (spécifications)
- Codage, tests, mise en place des supports du projet (wiki, site web, forum), ...
Il y a énormement de boulot pour ce projet complètement amateur donc à vos clavier pour vous inscrire et venir nous aider.
Je ne peux pas répondre à la question ! Les techniques seront détaillées lors de la rédaction des spécifications par l'équipe projet.
Tout ce que je peux dire c'est que l'IA pourra servir à définir les règles de langage que le programme se fixera. Elle permetra aussi de stocker et de trier les données de la base de connaissance ou encore de définir quelle décision prendre en fonction de diverses variables.
Quoi qu'il en soit, nous en sommes pas encore rendu là et je ne veux pas entrer dans les détails tout de suite ! Avec l'expérience, j'ai appris qu'il ne faut pas allez trop vite. Donc je préfère voir ça avec la team !
Salut Bert! Donc je suis tjr partant, je me documente en ce moment.
Je me tiens à ta disposition pour que l'on se concerte sur l'organisation!
Leniarf
__________________________
E6850 ||| Asus 8800 ULTRA ||| Asus PG221 |||
4Go DDR2 PC2-9600 (1200MHz) |||
Raptor - 150 Go 16 Mo 10 000 tr/min
En ce qui concerne l'organisation nous pouvons en parler ici pour que les futurs participants soient au courant (en espèrant en voir un peu quand même lol).
Dans un premier temps, je pense qu'il est bon de définir les rôles au sein de l'équipe. Leniarf, est ce que tu veux piloter le projet avec moi ? (cela me semble plus simple d'être 2 pour "orienter" le projet).
Sinon nous devrions commencer par rédiger les "grandes lignes" du projet ici et nous les reporterons sur un document plus tard :
Le but du projet
Il s'agit donc de réaliser un chatterbot capable d'apprendre n'importe quel langage en définissant lui-même ses propres règles (grâce à une IA peut être). De cette façon, il devra être capable de parler à son éducateur en imitant son langage/comportement/...
Déroulement
- Analyse et documentation personnel de chacun
- Rédaction des spécifications fonctionnelles et techniques par les responsables afin de mettre toute la team d'accord. Cela inclut le choix du où des langages de programmation.
- Mise en place des supports de communication (wiki, site web, forum, ...)
- Réalisation du programme, des tests, ...
- Mises à jour régulières et corrections des bugs (si, si, il y en a toujours lol).
Comment va t-il pensser?
Je pensais lui donner un vocabulaire de base ainsi que les régles de grammaire pour qu'il reconnaisse les termes, qu'il apprenne tout seul.
Dans un premier temps, ne pense tu pas que l'on devrai lui apprendre deja à reconaitres les mots dans une phrase, puis en fonction de leur place et de leur fct, les fonction de chacun.
Ex: "Où est Sacha?"
Où: CCL
est: Verbe
Sacha: (Commence par majuscule, donc nom Propre) Prenom,lieu...
?:Question
Et ainsi de suite.
Cependant il faudrait deja se mettre d'accord sur le langage utiliser!
__________________________
E6850 ||| Asus 8800 ULTRA ||| Asus PG221 |||
4Go DDR2 PC2-9600 (1200MHz) |||
Raptor - 150 Go 16 Mo 10 000 tr/min
Il ne pensera pas (impossible sauf si tu arrives à simuler un cerveau lol).
Si nous lui apprenons des règles de base où même du vocabulaire, il ne pourra apprendre qu'une sorte de langage (le français) et ce n'est pas le but, de plus ce n'est pas la meilleure méthode (de programmer des règles) puisque le français est tellement compliqué qu'il est difficile de traiter tous les cas.
Le bot ne connaitra rien au départ mais il saura comment se débrouiller pour traiter les phrases en entrée (input), je m'explique :
Imagines que tu es le bot ... on te donne une ou plusieurs phrases mais tu ne connais aucun mot. Par contre, tu sais que tu peux les traiter un par un, tu peux obtenir des infos comme leur position dans les phrases, leur position entre eux, tu peux les associer, créer des liens (virtuels) entre eux, tu peux calculer leur fréquence d'apparition, tu peux obtenir un contexte (en supposant qu'il y ai plusieurs phrases) ...
Au final tu obtiens une multitudes d'informations sur les phrases et les mots. Etant donné que tu ne connais pas les mots (en tout cas au début), ce sont comme des "boîtes noirs" car tu ne sais pas à quoi ils servent, leur sens, s'il ya une logique dans leur utilisation, etc ... Mais à la limite on s'en fou, on arrivera pas à créer un programme "conscient" capable de comprendre les mots.
Tout ce qu'il faut retenir des input, c'est le max d'informations à notre portée pour ensuite les réutiliser afin de créer des règles plus ou moins logique.
La prochaine étape est d'immiter l'homme en observant ses réponses à ses propres demande au bot.
Exemple :
L'homme : Es tu grand ?
Le bot (qui ne connait rien) : Qu'est ce que tu aurais répondu à ma place ?
Le bot demande à l'homme de lui dire ce qu'il aurait répondu pour ensuite établir des liens entre la question et la réponse. Ainsi dans d'autres cas, le bot sera capable de répondre. Bien sur il va se tromper parfois mais ce qu'on peux faire, c'est mettre un bouton "Punir" ou "Donner une baffe au bot" lol pour dire au bot qu'il s'est tromper à répondre. Du coup, il créra de nouveau liens car ils sait qu'il a faux.
Pour résumé ce que j'essaye d'expliquer et pour être plus clair : Le but est d'obtenir le maximum d'informations des input, des output ET de l'homme pour pouvoir créer des liens, des règles, des relations, ... entre les input et les output. L'IA interviendra dans la façon de créer ces liens et de gérer la base de connaissances.
Je sais pas si je suis assez clair mais s'il y a des questions ou des remarques il ne faut pas hésiter.
ok je comprend mieux ton objectif!
donc on lui fournis une bde d'origine qu'il enrichie par des question posée strategiquement à ses interlocuteurs?
Il lui faut donc parler au final avec beaucoup de personnes sur des sujets differents pour pouvoir evoluer.
De où l'interet d'avoir un site pour pouvoir le fair parler avec des visiteurs!
Tu pense implementer le bot en quoi?
__________________________
E6850 ||| Asus 8800 ULTRA ||| Asus PG221 |||
4Go DDR2 PC2-9600 (1200MHz) |||
Raptor - 150 Go 16 Mo 10 000 tr/min