Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
Le blog du CRRIAM

Un robot doté d'une humeur changeante

18 Mai 2012 , Rédigé par crriam Publié dans #Organisation des fichiers aiml

- Un robot doté d'une humeur changeante ? Pourquoi faire ?

- Pour le rendre plus humain tout simplement !

 

- Oui, mais alors quel est l'interêt de parler avec un robot si c'est pour se retrouver avec les mêmes problème qu'un humain caractèriel ?

- peut etre parceque le coté plus humain ferait que l'on s'y attache plus ? Parceque normalement on s'attache aussi au autre parcequ'on s'interesse à eux, et pas seulement au regard narcissique que peux nous renvoyer un robot toujours en fase avec nous et qui ne s'interesse qu'a nous ? Faudrait creuser le concept psychologique.

- en même temps moi je m'attache pas au gens qui m'envois chier :-)

 

  Quoi qu'il en soit

Coté technique, comment définir une humeur changeante ? :

 

 

Pas difficile, avec un random :

 

<category>
 <pattern> def humeur </pattern>
 <template>
      <think><set name="humeur">
            <random> <li>1</li>
                     <li>2</li>
                     <li>3</li>
                     <li>4</li>
            </random>
           </set>
      </think>

</template>
</category>

 

Explication, la commande def humeur  lance un random de 4 possibilités on mets dans la variable humeur le résultat, c'est a dire 1, 2, 3, ou 4

 

Pour Hallucinogene, la valeur 1 sera une humeur joyeuse, la 2 sera une humeur coquine, la 3 sera une humeur maussade et la 4 sera une humeur de type énèrvé.

cela sera programmé uniquement par les réponses que revois le robot lorsqu'il testera la variable humeur.

 

Exemple quand on entre bonjour :

 

<category>
 <pattern> bonjour </pattern>
 <template> <condition name="humeur">
<li value="1">coucou</li>
<li value="2">salut toi joli garçon</li>
<li value="3">je ne vois pas trop en quoi ce jour est bon</li>
<li value="4">laisse moi j'ai pas envie de parler</li>
<li>salut</li>
</condition>

</template>
</category>

 

Le dernier <li> sert au cas ou l'humeur ne soit pas définie.

 

On peut aussi renvoyer une commande à l'interface de gestion des réactions du robot de façon a modifier l'aspect du visage suivant l'humeur:

 

<category>
 <pattern> def humeur </pattern>
 <template>
      <think><set name="humeur">
            <random> <li>1</li>
                     <li>2</li>
                     <li>3</li>
                     <li>4</li>
            </random>
           </set>
      </think>

<condition name="humeur">
  <li value="1"><srai>botsourit</srai></li>
  <li value="2"><srai>botcoquin</srai></li>
  <li value="3"><srai>bottriste</srai></li>
  <li value="4"><srai>botcolere</srai></li>
  <li><srai>botnormal</srai></li>
</condition>

</template>
</category>

 

On aura plus qu'a justement définir quand on veux que l'humeur soit générée.

Au départ, je la faisais générer au moment ou l'on disait bonjour, comme ça :

 

<category>
 <pattern> bonjour </pattern>
 <template>

 

<srai>def humeur</srai>

 

<condition name="humeur">
<li value="1">coucou</li>
<li value="2">salut toi joli garçon</li>
<li value="3">je ne vois pas trop en quoi ce jour est bon</li>
<li value="4">laisse moi j'ai pas envie de parler</li>
<li>salut</li>
</condition>

</template>
</category>

 

Mis bien sur AVANT le test de la condition de la réponse !

C'est une solution qui fonctionne bien, mais qui implique que l'utilisateur dise bonjour  ! ce qui n'est pas toujours le cas.

J'utilise depuis la commande starting1 qui sera lancer au chargement de la page web.

 

 

Partager cet article

Repost 0

Commenter cet article