SARAH, Contextes, ChatterBot

375 views
Skip to first unread message

Jean-Philippe Encausse

unread,
Oct 30, 2012, 7:03:32 PM10/30/12
to sarah_d...@googlegroups.com
Bonjour,

(J'espère que ça marchera en v1.9)

Voici 2 fichiers qui illustrent la notion de contexte et de chatterbot.
  • Démarrer SARAH avec les options -ctx time.xml -ctx context.xml
    • Seulement ces grammaires seront dispo
  • Sarah il est quelle heure ?
    • Elle répond
  • Sarah j'ai une question
    • Que veux tu ?
    • Active le contexte chatterbot.xml
  • Comment a été ta journée
    • elle a été très instructive, merci.
  • Merci Sarah
    • mais de rien
    • Active le contexte "default"
      • time.xml et context.xml
Remarque:
  • En v1.9 il y a un bug si on ne précise qu'un contexte
  • Je ne suis pas encore satisfait par la mécanique, il faudrait un flag dans le XML pour indiquer "pas dispo au chargement" sans avoir à le faire dans la ligne de commande.
  • Les fichiers AIML (http://www.alicebot.org/downloads/sets.html) ne sont pas exploitables
    • Trop centré "chat texte"
    • Français horrible ou pas adapté
  • L'autre piste serait d'améliorer le "speech to texte" en français et d'interroger un ChatterBot mais ça me semble impossible...
chatterbot.xml
context.xml

Anthony PENHARD

unread,
Nov 12, 2012, 2:51:58 PM11/12/12
to sarah_d...@googlegroups.com
Salut,

je suis passé à la nouvelle version 2.1 (j'étais à la 1.5 précédemment
de mémoire ...) ainsi que sur un autre PC qui tourne sous windows 8 et
donc le SDK 1.6 pour le kinect
je ne sais pas si c'est la nouvelle version de S.A.R.A.H. ou de
windows ou encore le SDK di kinect mais ça marche nikel

j'ai moins de problèmes de "mauvaise détection" la TV allumée ne fait
plus dire l'heure toutes les 5 minutes ...
donc même tv allumé à 2m ça fonctionne vraiment bien, faut se
"répéter" quand c'est plus loin

et j'en arrive a ma question sur les contextes que tu as implémentée
je vois bien le principe c'est bien vu, maintenant quel attribut dans
les xml "active" ou plutôt n'active pas tel ou tel grammaire je ne
vois pas, à moins que cela ne soit pas encore dispo ...

PS : j'ai développé mon propre "script" car je ne souhaite pas
utiliser le serveur Node.js qui va "avec" ayant déjà un serveur web
qui tourne h24 pour ma domotique

merci d'avance
@+
Anthony.

Le 31 octobre 2012 00:03, Jean-Philippe Encausse
<jp.en...@gmail.com> a écrit :
> --
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> SARAH.
> Pour envoyer un message à ce groupe, adressez un e-mail à
> sarah_d...@googlegroups.com.
> Visitez ce groupe à l'adresse
> http://groups.google.com/group/sarah_domotique?hl=fr .
>
>

Jean-Philippe Encausse

unread,
Nov 12, 2012, 3:11:09 PM11/12/12
to sarah_d...@googlegroups.com

C'est cool !

Pour la partie "reconnaissance vocale" j'ai fait plein d'ajustements. Au niveau du XML j'ai mis en plus un poids de 2 sur "Sarah". J'ai remarqué:
  • Que le niveau du micro était très important (je le met à 70) faut pas saturer le son et pas être trop faible.
  • J'ai l'impression que le Kinect prioritise le son devant lui ce qui peut poser problème quand il y a plein de personnes dans la pièce.
Concernant les contextes, le script chatterbot est un bon exemple:
  • L'attribut <tag>out.action._attributes.context = "default"</tag> passe en mode par defaut
  • L'attribut <tag>out.action._attributes.context = "chatterbot.xml"</tag> active la grammaire chatterbot.xml
  • Tu peux lancer WSRMacro avec les paramètres "-context test.xml -context test2.xml" pour préciser des context de départ
  • Ou plus simplement nommer les règles racine en préfixant avec "lazy": root="lazyGreetings" <rule id="lazyGreetings" ...
    • Ces règles ne seront pas chargé par défaut et attendront un context.

Au passage j'en profite pour rappeler qu'il y a une page (cachée) http://127.0.0.1:8080/kinect capable de streamer (ca rame) la vidéo du kinect en WebSocket. pour activer les websockets il faut mettre le paramètre -websocket 7777



2012/11/12 Anthony PENHARD <a.pe...@gmail.com>



--
Jean-Philippe Encausse - JLabs / R&D Jalios SA
Jp [at] encausse.net - http://www.encausse.net - http://arm-avocats.fr/
GTalk: jp.encausse [at] gmail.com - Twitter: @JpEncausse - ٩(̾●̮̮̃̾•̃̾)۶
Mob: +33 6 82 12 56 99  - Tel: +33 1 39 18 90 15
Do it Once, Use it Twice ~ Do it Twice, Make It Once ~ May the 4th be with you

Anthony PENHARD

unread,
Nov 12, 2012, 3:27:02 PM11/12/12
to sarah_d...@googlegroups.com
Merci pour le retour,

c'est bien ce que j'avais déduit du fonctionnement du chatterbot,
dommage que le lazy soit en "dur" dans le nom de la rule plutot qu'un
paramètre dédié

sinon marrant la fonction "prise de photo"
peut-on la déclencher via "l'extérieur" ? genre si détection présence
par le système domotique prendre des photos avec le kinect

pas encore tester le "websocket" ...

@+
Anthony

Jean-Philippe Encausse

unread,
Nov 12, 2012, 3:33:42 PM11/12/12
to sarah_d...@googlegroups.com


2012/11/12 Anthony PENHARD <a.pe...@gmail.com>

Merci pour le retour,

c'est bien ce que j'avais déduit du fonctionnement du chatterbot,
dommage que le lazy soit en "dur" dans le nom de la rule plutot qu'un
paramètre dédié



C'est pas moi qui parse les grammaire mais l'API Microsoft, j'ai donc du ruser.


 
sinon marrant la fonction "prise de photo"
 peut-on la déclencher via "l'extérieur" ? genre si détection présence
par le système domotique prendre des photos avec le kinect



Oui 
  • attribut picture dans le xml et ca tombe dans le répertoire /medias
  • requete à WSRMacro avec ?picture=true et la photo est renvoyée dans la response au format jpeg

Jean-Philippe Encausse

unread,
Nov 12, 2012, 3:36:28 PM11/12/12
to sarah_d...@googlegroups.com
J'essaye de maintenir:

Faut que je rajoute les contextes

2012/11/12 Jean-Philippe Encausse <J...@encausse.net>

Philippe MARIETTE

unread,
Nov 13, 2012, 3:34:20 PM11/13/12
to sarah_d...@googlegroups.com
Je viens de tomber sur un petit gag :
Je dis "Au revoir SARAH", elle me répond "Au Revoir", comme elle s'entend elle-même parler elle se répond "Au revoir" et donc répond "Au revoir", puis "Au revoir", puis " Au revoir"......

J'ai opté pour tts = "A bientot" en réponse.

Jean-Philippe Encausse

unread,
Nov 13, 2012, 3:39:15 PM11/13/12
to sarah_d...@googlegroups.com
Ah pas mal ! Je le note.
C'est étrange, normalement quand elle parle il y a un flag pour ne pas essayer de détecter des phrases.

Dans le même genre 
- Tu peux faire un CRON du calendrier qui déclenche un TTS pour executer une action
- Pire ! (pas complètement testé) tu dois pouvoir trasférer un ordre d'un SARAH à un autre via le son (sans réseau)


2012/11/13 Philippe MARIETTE <philippe...@gmail.com>

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes SARAH.
Pour envoyer un message à ce groupe, adressez un e-mail à sarah_d...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/sarah_domotique?hl=fr .
 
 

Anthony PENHARD

unread,
Nov 15, 2012, 8:44:19 AM11/15/12
to sarah_d...@googlegroups.com
j'ai remarqué le même phénomène un peu plus génant
quand je veux éteindre la lumière le TTS me répond que la lumière est
éteinte et sarah "re-détecte" comme une demande pour éteindre ...
et donc cela boucle ...
d'ailleurs bizarre la détetction car dans le TTS il n'y a pas le terme
"SARAH" en premier et que dans la gramaire j'ai mis un poids de "2"
sur ce mot ...

@+
Anthony.
Reply all
Reply to author
Forward
0 new messages