Module "Définition Dictionnaire"

222 views
Skip to first unread message

Wilsto

unread,
Sep 21, 2012, 1:02:44 PM9/21/12
to sarah_d...@googlegroups.com
Au niveau de la reconnaissance de texte, peut on laisser un mot "libre" ?
Je m'explique, je voudrais créer une macro "Sarah donne moi la définition de [ ... ] s'il te plait"
et elle me retourne la définition.

j'ai regardé la doc de microsoft, je ne vois pas.
Merci de vos réponses,
Wilsto

Jean-Philippe Encausse

unread,
Sep 21, 2012, 1:25:26 PM9/21/12
to
Alors dans "Windows Speech Recognition Macro" de Microsoft c'était possible en mettant '*'.

Dans ma version j'ai trouvé une ruse mais ce n'est pas super satisfaisant:
L'exemple se trouve dans calendar.xml:
  • L'attribut dictation indique à Sarah de passer ne mode dictée
  • L'attribut tts indique à sarah de dire immédiatement "Oui, avec quelle titre ?"
Mais :
  • C'est un grosse "ruse"
  • La reconnaissance de terme inconnus (wildcard) semble vraiment difficile
Si des personnes ont une meilleur astuce je suis preneur ! Pour le moment j'active une grammaire en mode dictée. mais il doit certainement y avoir une autre solution.

La question StackOverflow.

Wilsto

unread,
Sep 22, 2012, 4:05:22 AM9/22/12
to sarah_d...@googlegroups.com
J'ai regardé Calendar, je vois bien l'idée du titre mais je ne comprends pas comment fonctionne ta ruse.
Pourrais tu me l'expliquer afin que j'essaie de la répliquer dans le module "définition" ?
Merci d'avance

Jean-Philippe Encausse

unread,
Sep 22, 2012, 4:33:48 AM9/22/12
to
1. "Sarah recherche un mot"
2. => "Oui lequel"
3. "Ordinateur"

Dans la grammaire "Sarah ajoute un évènement", un des cas positionne l'attribut "dictation":
<tag>out._attributes.dictation = "true"</tag>

et tts:
<tag>out._attributes.tts = "Oui, avec quel titre ?"</tag>

Sarah réponds immédiatement et passes en mode dictée en attendant une phrase (bon je ne sais pas si un mot ça va passer)

Une fois le mot détecté elle balance la requête au serveur node http://127.0.0.,:8080/.../?dictation={le mot reconnu}


Wilsto

unread,
Sep 22, 2012, 4:46:49 AM9/22/12
to sarah_d...@googlegroups.com
merci Jean-Philippe pour ta réponse 
bon je pense c'est ce que j'ai fait (ou en tous cas, voulu faire) .
Mais Sarah ne réponds pas du tout (et encore moins immédiatement)
Je ne vois pas ce que je loupe ?
Capture sarah.PNG
definition.xml
definition.js

Jean-Philippe Encausse

unread,
Sep 22, 2012, 5:10:46 AM9/22/12
to sarah_d...@googlegroups.com
En voyant les logs j'imagine qu'elle te dit  "oui quelle mot ?" puis plus rien ?

Essaye de ne pas dire qu'un mot mais une phrase "ceci est un test" ça devrait déclencher la suite de la reconnaissance.

Je reconnais c'est pas du tout satisfaisant:
- Les mots reconnus en dictée sont mauvais, chez moi ça fera "ceci est un orchestre"

Je ne peux pas tester ton code tout de suite, je testerais ce WE.

(J'ai noté d'intégrer vos code météo, traffic, ... dans les prochaines releases)

Wilsto

unread,
Sep 22, 2012, 5:13:31 AM9/22/12
to sarah_d...@googlegroups.com
non elle ne me réponds pas du tout
je n'ai pas de retour audio contrairement à ce que l'on pourrait lire sur les logs.
merci pour tes réponses, je vais continuer de chercher.
je vais mettre à jour le code trafic suivant tes conseils.

MatthewD

unread,
Sep 22, 2012, 2:03:31 PM9/22/12
to sarah_d...@googlegroups.com
Je pensais à utiliser la ruleref avec attribut Garbage; le mot n'est pas pris en compte dans la grammaire, par contre, en modifiant le fichier WSRMacro en C#, on pourrait créer une fonction qui passe le mot en "garbage" en paramètre de la requête HTTP envoyée. Après, coté macro ou script, on attend ce paramètre donc pas de soucis.

Par contre, c'est vraiment qu'une idée, j'ai pas vérifié la source de ton fichier et je ne sais donc pas réellement comment ça fonctionne. A toi de me dire.

Jean-Philippe Encausse

unread,
Sep 22, 2012, 2:32:30 PM9/22/12
to sarah_d...@googlegroups.com
Oui normalement "Garbage" est censé jouer le role de wildcard mais je ne sais pas du tout comment le récupérer en C# pour le transformer en audio je n'ai pas trouvé de bout de code sur le sujet.

Beaucoup de gens "hardcode" en C# leur grammaire (ce qui me semble débile mais bon ...) Bref je continu a chercher :-)
Reply all
Reply to author
Forward
0 new messages