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

Articles avec #organisation des fichiers rivescripte tag

Organisation interne des fichiers pour tenir une vrai conversation

31 Juillet 2013 , Rédigé par crriam Publié dans #organisation des fichiers rivescripte

Introduction

 

Comme nous avons pu le voir, une veritable conversation s'articule autour de la régle des 33%

33% d'écoute

33% de monologue

33% de veritable dialogue (échange)

 

Il faudra donc créer des fichiers sur cette base.

 

tantot le robot pose des questions, tantot il écoute, tantot il échange.

 

Les difficultés :

 

- Ne pas reposer les mêmes questions

- Ne pas redire quelques chose de déja dis

- Ne pas répondre à côté.

 

Pour cela, on va donc organiser plusieurs paramètre

 

1 verifier tout ce que l'on demande avec des variables du type :  verifage

2 verifier tout ce que l'on dit sur le robot avec des variables du type: dejadit

3 alterner de façon aléatoir les questions et les affirmations

4 identifier le sujet dont on parle

 

Pour ça, j'ai mis au point un gabarit :

 

+ depart residence
* <get verifresidence> == 1 => {@depart conversation}
- tu habites ou ? <set sujet=la ou on habite><set verifresidence=1>

  // on met le sujet en memoire, c'est lui qui servira a determiner les reste de la conversation
 
 
 
// le module suivant permets de generer aleatoirement une conversation lorsque * est reconnu
 
+ depart la ou on habite // depart sujet
- {@questions la ou on habite} // pour du alleatoire de discusion entre monologue et questionement
- {@reponses "sujet"}
 
 
+ questions la ou on habite
* <get verifadresse> == undefined => quel est ton adresse <set verifadresse=1>

* <get verifaimehabite> == undefined => tu aimes la ou tu habites <set verifaimehabite=1>
* <get verifdepartement> == undefined => tu habites dans quel departement <set verifdepartement=1>
* <get verifregion> == undefined => c'est quelle region ça ? <set verifregion=1>
- {@depart conversation}
 
 
 
+ reponses la ou on habite
* <get dejaditadresse> == undefined => moi, {@quel est ton adresse} <set dejaditadresse=1> 

* <get dejaditville> == undefined => ok ben moi, {@tu habites dans quelle ville} <set dejaditville=1>
* <get dejaditdepartement> == undefined => moi, {@tu habites quel departement} <set dejaditdepartement=1>
* <get dejaditregion> == undefined => {@tu habites quel region} <set dejaditregion=1>
* <get dejaditpays> == undefined => {@tu habites quel pays} <set dejaditpays=1>
- {@depart conversation}
 
 
// ensuite viennent toutes les réponse aux question precise de l'utilisateur
 
+ [*] tu prefere [*] ville [*] campagne [*]
- <bot prefervilleoucampagne> <set dejaditprefervilleoucampagne=1> // ne pas oublier de mettre a 1 le deja dit sinon le bot va le redire
 
+ [*] tu aime [*] (ville|maison|departement|pays|habites)
- <bot aimelaouhabite> <set dejaditaimelaouhabite=1>
 
 
etc. etc.

 

Complément requit :

 

Comme on peut le voir, à la fin des questions, ça renvois sur depart conversation, il faudra donc l'avoir. Cela servira a orienter sur d'autre sujet de conversation.

 

Pour que tout ça fonctionne, il faut aussi (moi c'est dans le fichier "quoi.rs" mettre

 

+ *
* <get sujet> != undefined => {@depart <get sujet>}
- quoi, qu'est ce que tu dis ?

 

avec ça, si le robot ne reconnait pas ce que dit l'utilisateur, il redirigera sur la production aléatoire des question réponse concernant le sujet.

 

Lire la suite