VoiceXML : éléments d'implémentation

Une application VoiceXML peut être décrite comme une machine à états finie. Cette approche permet de définir aisément les flots de dialogue d'une application vocale à partir de sous-dialogues. En effet, chaque état décrit une situation de dialogue devant aboutir à une interaction particulière. Les différentes interactions pouvant donner lieu à des transitions différentes.

La session

La construction du dialogue

Les transitions peuvent être spécifiques ou générales. Chaque transition d'un état à un autre est spécifiée par l'adresse de l'état cible en utilisant le format URI (Uniform Resource Indicator). La cible pouvant se trouver dans la même ressource ou dans une autre.

VoiceXML supporte deux types de dialogues: les dialogues simples et les dialogues mixtes. Avec les dialogues mixtes, l'utilisateur peut à tout moment prononcer des mots qui vont lui permettre de changer de dialogues (on utilise pour cela un set de grammaires).

Il y a deux genres de dialogues : les formulaires (forms) et les menus (menus). Les formulaires permettent de collecter des valeurs dans des variables appartenant à un élément de formulaire. Chaque élément de formulaire peut indiquer une grammaire qui définit les entrées permises pour cette zone. Un menu présente à l'utilisateur une liste de choix et effectue la transitions au dialogue choisi. Un sous-dialogue ressemble à la notion de fonction dans le sens où il permet d'appeler un dialogue et de revenir automatiquement au formulaire initial. Les sous-formulaires peuvent être employés dans une multitudes d'applications qui font toutes référence à une bibliothèque de sous-dialogue commune.

Les sous-dialogues

Les grammaires

Un état de dialogue est associé à une grammaire. Elle peut être définie au niveau du document racine de l'application (globale) ou définie au sein de l'état de dialogue (locale).

Une grammaire définit les entrées utilisateurs valides qu'elles soient vocales ou DTMF.

Dans les dialogues simples (dirigés par l’ordinateur), les grammaires sont actives seulement quand l’utilisateur se trouve dans ce dialogue. Dans les dialogues mixtes, les grammaires de certains dialogues sont actives même quand l’utilisateur se trouve dans un autre dialogue. Ces dialogues peuvent activer d’autres dialogues si les grammaires de ceux-ci détectent des éléments-clé dans les phrases de l’utilisateur.

Les événements

Au cours d'une session, le navigateur VoiceXML peut générer différents types d'événements :

  • erreur dans le document VoiceXML
  • utilisateur muet
  • demande d'aide de la part de l'utilisateur
  • entrée utilisateur incompréhensible

Pour chaque cas, l'application vocale doit être à même de proposer un traitement adéquat. On implémente ces traitements directement au sein des différents fichiers VoiceXML qui constituent l'application.

interets/voicexml/implementation.txt · Dernière modification: 2010/07/12 12:36 par janiszek