Les deux mon capitaine !

Depuis que j’ai lancé le projet, la question revient régulièrement sur le tapis. On me dit souvent:
- Pourquoi la reconnaissance Microsoft ?
- Pourquoi ne pas utiliser Google ?
- Je vais tout recoder en Java ! sous RPi ! avec Google ! etc, …
Bon je ne vais pas revenir sur le fonctionnement des grammaires dans SARAH qui utilisent Google ET Microsoft.
Voici plusieurs arguments:
Performances
Les utilisateurs sont exigeant. Faut que ça marche. Donc il faut utiliser un Microphone Array avec un bon rapport/qualité/prix: Kinect.
De plus le Kinect à l’avantage d’être prévu pour le salon, éprouvé à grande échelle avec une partie du traitement côté hardware.
Grammaire
« By Design », l’API Microsoft ne gère pas des Wildcard mais des Grammaires.
- Avantage: Vous êtes sur de matcher les phrases attendues
- Inconvénient: Vous ne pouvez pas matcher « SARAH recherche * sur Wikipedia »
Les gens qui partent sur du Google rencontrent 2 problèmes :
1. Trigger
Quand déclencher la requête à Google ? Quand est ce que ce morceaux d’Audio est valide ?
Si vous n’appuyez pas sur un bouton, comme SIRI, Google Now, … il faut alors un trigger « vocale ». C’est le problème qu’essayent de résoudre les gens du projet Kickstarter Ubi.
Et c’est compliqué … visiblement le principe est le même que dans Lucene en calculant une distance de Levenshtein sur l’audio.
2. Réponse
La réponse est aussi floue. Typiquement « SARAH recherche une belle voiture sur wikipedia » peut se transformer en plein de variantes:
- SARAH recherche belle voiture sur wikipedia
- SARAH recherche une voiture sur wikipedia
- SARAH recherche belle voiture wikipedia
- …
Bref côté code il faut faire le travail de Microsoft soit avec des Regexp ou carrément avec un moteur de recherche Lunr.
Offline
Comme pour les box domotiques de nombreuses personnes ne veulent / peuvent pas sortir du réseaux pour convertir l’Audio.
Sans compter les problèmes de lags car il faut « uploader » l’audio à Google et attendre une réponse.
Pourquoi les 2 dans SARAH ?
Car les grammaires sont quand même super limitées ! Et c’est quand même cool de pouvoir, par moment, avoir un ChatterBot à la maison pour poser des questions ouvertes ! Donc je mélange les deux monde:
Microsoft
Sarah recherche <garbage> sur wikipedia
Cette grammaire sert de trigger pour prendre l’audio et l’envoyer à Google. Microsoft fait la partie compliqué 2.1
Google reçoit tout l’audio et me renvoie le texte qu’il faut malheureusement parser. MAIS on est déjà assuré que certains mots sont valides/présents.
Pourquoi tout l’audio ? Car Google gère très mal les bouts de phrase.
One more thing !
SARAH sait réécrire ses propres grammaires. C’est ce qui est fait par le plugin Allociné ou XBMC. C’est parfois plus simple de préparer le terrain 🙂



Répondre à Master Annuler la réponse.