Reconnaissance Vocale


Les fonctionnalités de synthèse et de reconnaissance de la parole nécessitent la disponibilité de services tiers de synthèse de la parole et/ou de reconnaissance de la parole. (par exemple les solutions Acapela Group, Nuance Speech Server...) 

nativIP serveur s’interface avec ceux-ci pour fournir les fonctionnalités de synthèse et de reconnaissance de la parole dans les scénarios vocaux.

Reconnaissance de la parole

La reconnaissance de la parole se fait en direct. Elle nécessite donc 1 canal de sur le serveur de reconnaissance par canal proposant le service sur le serveur vocal.

Pour activer la reconnaissance de la parole sur une rubrique il suffit de définir la grammaire à utiliser. Celle-ci doit se présenter sous forme de fichier texte et est dynamiquement communiquée au serveur de reconnaissance de la parole au moment nécessaire.

Le résultat de la reconnaissance est ensuite disponible dans un fichier XML et doit être traité par des scripts en fonction des opérations souhaitées (voir le choix _ASR dans Orientation ), ou via le routage direct par la grammaire (→ se reporter à la documentation dédiée).

Pour utiliser une grammaire builtin, il faut la préfixer par builtin : , par exemple : builtin:grammar/boolean

Pour une grammaire servie par un serveur web, il faut préfixer la grammaire par http://, par exemple : http://192.168.0.110/grammar/demo.xlv

Ici, la reconnaissance fait appel à la grammaire choixloueur.gram définie dans le répertoire standard de nativIP serveur (/nativip/grammar).

Pilotage via la grammaire

Dans le cas où vous optez pour un routage automatique via la grammaire, celle-ci doit intégrer des variables permettant de piloter l’orientation de la communication dans le scénario source.

Pour cela, la grammaire doit contenir des tags nommés _nativip_goto , _nativip_goto2 , _nativip_goto3 , _nativip_goto4.

Si la reconnaissance de la parole matche une / plusieurs règles, les tags permettront d’indiquer la rubrique sur laquelle le scénario doit se poursuivre ( prioritairement _nativip_goto, puis dans un ordre décroissant de priorité _nativip_goto2 , _nativip_goto3 , _nativip_goto4. ).

En l’absence de reconnaissance (ou ayant un score de confiance trop faible) 3 fois de suite, le serveur effectuera un saut sur la rubrique mode_dtmf qui doit être présente dans le scénario. A partir de là il est conseillé de prévoir un scénario piloté uniquement par les touches.

Enfin, il est possible d’intégrer des tags préfixés _asr qui seront ensuite accessible comme toutes les variables de communications par les fonctionnalités du serveur (numéro de salle de conférence ou variable dans un script).


Exemple basique intégrant des variables _asr ainsi que des sauts en fonction de mots reconnus :




<one-of>
 <item>
  <tag>_nativip_goto='airfrance'</tag>
  <tag>_asr_iata='af'</tag> 
   air france
 </item>
 <item>
  <tag>_nativip_goto='airlib'</tag> 
   air liberté
 </item>
 <item>
  <tag>_nativip_goto='iberia'</tag> 
  <tag>_asr_iata='ib'</tag
   iberia
 </item>
 <item>
  <tag>_nativip_goto='american'</tag>
  <tag>_asr_iata='aa'</tag
   american airlines
 </item>
</one-of>