Overblog Suivre ce blog
Administration Créer mon blog
Le blog du CRRIAM

Articles avec #rivescripte debutant tag

Comment fabriquer un tchat bot en français

18 Octobre 2013 , Rédigé par crriam Publié dans #Rivescripte debutant

Cette page s'adresse tout principalement au débutant.

 

Comment fabriquer un tchatbot, tchat bot ou tchatter bot en français et facilement ?

 

Principe général du tchat bot

 

un utilisateur entre dans un fenêtre de tchat sa phrase et le robot lui répond du genre :

 

- bonjour robot

- salut l'humain !

 

 

Comment ça marche ?

 

  Le programeur, (ou botmaster )créer des fichiers où il entrera ce que le robot doit reconnaitre et quelle répoonse il doit y apporter.

 

Tout d'abord, il nous faut un "logiciel", l'interpreteur.

 

 

C'est quoi ?

c'est un programe qui comprendra le code et le fera afficher dans une fenetre de tchat. 

 

Il existe different interpreteur dans different language, notament les interpreteur du genre ALICE qui fonctione a partir de fichier AIML.

 

Nous on utilisera le Rivescript !

 

Pourquoi ?

 

Parcequ'il est beaucoup plus facile a utiliser et a programer, qu'on peut l'utiliser aussi bien en local sur son disque dure ou une clé usb que sur le web avec un site internet. voir le comparatif ici

 

Comment faire ?

 

 

D'abord, télécharger le programe ici

 

Une fois que c'est fait, vous vous retrouver avec un fichier .zip C'est une archive, il faut le décompresser sur votre disque dur sur c: par exemple

 

vous aurez alors un repertoir (dossier) nommé rivescript

Dans ce dossier, il y aura d'autres dossiers, celui qui nous interesse, c'est celui qui s'appel "eg"

 

car dans celui ci, se trouve les fichiers chat.html et index.html

 

Et alors ?

 

Ben c'est avec eux qu'on va faire marcher le robot. Il suffit de cliquer dessus et de les ouvrir ou l'un ou l'autre avec firefox (pas chrome, ça bug)

 

C'est quoi la difference entre ces deux fichiers ?

 

chat.html est entièrement fonctionel, mais il ouvre uniquement la fenetre de tchat, index.html, quant à lui, ouvre la fenêtre de tchat, mais aussi permet d'avoir la synthese vocal.

 

Voila, avec ça vous avez le robot. Il a quelques connaissance, mais tres peu.

 

Comment lui apprendre des choses ?

 

  les connaissances du robot son stockées dans les fichier .rs du dossier eg/brain

 

vous avez déja cela :

 

    activitepresente.rs
    age.rs
    cerveaudebase.rs
    depart.rs
    reactionbot.rs
    substitutions.rs
    variables.rs

 

Pourquoi plusieur fichiers ?

 

Pour structurer nos donnée par sujet de conversation, c'est plus simple ensuite de s'y retrouver.

 

Comment modifer les fichiers ?

 

Pour modifier le ou les cerveaux,:

 

utilisez un simple editeur de texte comme notpad, notpad2 (a préférer, on le trouve en téléchargement ici ).

 

 

Une fois que c'est fait, vous n'avez plus qu'a ouvrir un fichier .rs et écrire votre code.

 

Exemple, je veux que le robot sache dire bonjour quand on le salut

 

+ salut

- bonjour humain

 

ce que l'utilisateur entre et sur la ligne + ce que le robot doit répondre sur la ligne -

 

probléme, la ligne + salut ne fera que reconnaitre si l'on inscrit salut, mais ne reconnaitra pas pour "salut toi"

 

pour ça on utilisera le caractère *

 

+ salut *

- bonjour humain

 

reconnaitra donc :

salut toi

salut mariane

salut bernard

salut joli robot

etc.

 

Mais ne reconnaitra pas

 

"et bien salut toi" ou le simple "salut"

 

pour ça faudrait qu'on mette un * aussi devant le salut

 

Pour qu'il reconnaisse toute les vraiante, on se retrouvera donc avec un fichier

 de ce style :

 

+ salut toi

- bonjour humain

 

+ * salut toi

- bonjour humain

 

+ * salut toi *

- bonjour humain

 

+ salut toi *

- bonjour humain

 

Là, votre robot reconnaitra tout.

 

Pour simplifer la programation au cas ou l'on veuille lui faire répondre autre chose que bonjour humain, on utilisera la commande @ qui renvera sur la phrase désigné

 

comme ça

 

+ salut
- bonjour humain

      + * salut
      @salut

      + * salut *
      @salut

      + salut *
      @salut

 

Pour changer la réponse on n'aura qu'a changer dans la 2eme ligne.

 

Une autre commande interessante a utiliser, c'est [*]

 

car ce code remplace tout le groupe de code ci dessus.

 

+ [*] salut [*]

- bonjour humain

 

Alors pourquoi ne pas toujours l'utiliser ?

 

parceque [*] est tres puissant, et qu'il faut le manier avec précaution plus de détail ici

 

 

Vous voici armé pour continuer a programmer en rivescripte.

 

 

Le rivescript vous permet de faire énormément de chose, enregistrer des valeurs dans des variables, les comparer, utiliser des contitions etc.  vous trouverez toutes les base

  dans le tuto en anglais . 

  ou traduit par google

 

 

 

Quelque précisions qui vous éviterons de vous casser la tête bêtement (comment moi :) avant de vous lancer

Vos code rivescript doivent imperativement ne comporter ni majuscule ni accent ni apostrophe ni tiret dans les commandes !

 

meffiez vous des espaces ! la commande @ par exemple qui remplace le <srai> ne doit pas avoir d'espace

 

Pensez aussi à actualiser la page web dans votre navigateur pour que vos changement prenent effet.

 

google chrome ne fonctione pas en local, utilisez firefox.

 

 

 

ET Aussi

 

Si vous voulez ajouter d'autres fichiers, rien de plus simple, vous nomez votre ficher en .rs le metez dans le repertoire brain.

Il vous faut aussi modifier le fichier chat.html pour lui indiquer votre fichier suplémentaire, en le rajoutant a la suite des autres ici :

 

// Load our files from the brain/ folder. Inscrire ici vos fichiers cerveaux a ouvrir,
// entre les crochets attention a ne pas oublier la virgule finale
rs.loadFile([
 
    "brain/activitepresente.rs",
    "brain/age.rs",
    "brain/cerveaudebase.rs",
    "brain/depart.rs",
    "brain/reactionbot.rs",
    "brain/substitutions.rs",
    "brain/variables.rs",
 "brain/votrenouveaufichier.rs"
 
 
    ], on_load_success, on_load_error);
// fin insertion fichiers cerveaux

 

Attention, pas d'espace pas de majuscule pour votre nom de fichier ! ça créer parfois des bugs

 

  Amusez vous bien

 

 

 

 

 

Lire la suite