Exemples de grammaires
Les exemples suivants présentent une utilisation plus complexe des grammaires avec la reconnaissance vocale. La plupart des exemples sont fournis aux formats ABNF (application/srgs) et XML (application/srgs+xml). Utilisez
ces exemples pour vous familiariser avec les grammaires.
Dans une règle de production pour une grammaire, l'insertion d'une \ (barre oblique inversée) est une erreur de syntaxe dans ABNF et est interprétée comme une valeur littérale au format XML.
Pour plus d'informations sur les langues et les modèles qui prennent en charge les grammaires et leur niveau de prise en charge (généralement disponible ou bêta), voir Prise en charge de langue pour la personnalisation.
Grammaires de type confirmation
Les grammaires de type confirmation sont utiles pour les applications qui attendent le renvoi d'un seul mot en réponse à une question. Les grammaires suivantes définissent une liste de réponses oui/non (yes et no) possibles.
- ABNF- confirm.abnf
- XML- confirm.xml
Grammaires de type liste
Les grammaires de type liste sont utiles pour les applications qui attendent que l'utilisateur sélectionne une option parmi un ensemble de chaînes prédéfini. Cet ensemble est parfois désigné par "liste à plat". Il comprend en principe une liste d'éléments du vocabulaire terminal et une structure de règle simple.
-
Les grammaires suivantes définissent une liste d'expressions correspondant à des chiffres :
- ABNF- list-numbers.abnf
- XML- list-numbers.xml
-
La grammaire suivante définit une liste de noms valides que l'utilisateur doit utiliser pour faire son choix, éventuellement pour sélectionner une personne dans un annuaire téléphonique :
- ABNF- list-names.abnf
- XML - Non disponible
Grammaire de numéros d'identification de véhicule (VIN)
Les numéros d'identification de véhicule (VIN) utilisent un format alphanumérique déterminé, à l'instar des numéros de carte de crédit, des numéros de téléphone ou des numéros de sécurité sociale américains. L'énorme avantage des grammaires sur la méthode des n-grammes classique réside dans le fait qu'elles sont très efficaces pour la spécification de ces types de format.
Le format VIN est normalisé avec un nombre fixe de caractères. La méthode classique des n-grammes est peu efficace pour ces types de tâche. Contrairement aux grammaires, les n-grammes ne permettent pas de garantir le nombre requis de caractères fournis.
Les grammaires suivantes reconnaissent les codes VIN correspondant à la marque Honda. Ils sont plus complexes que les exemples précédents mais illustrent bien l'efficacité de ce type de grammaire.
Pour plus d'informations sur le format VIN, voir Numéro d'identification du véhicule.
Grammaires avec des éléments facultatifs
En rendant des éléments de réponse facultatifs, vous pouvez obtenir des grammaires plus flexibles en anticipant les réponses possibles des utilisateurs. La grammaire suivante met l'élément $optionalphrase entre crochets pour le
rendre facultatif. L'utilisateur peut dire quelques expressions supplémentaires avant d'indiquer le numéro de sécurité sociale. Par exemple, il peut dire "my social is xxx xx xxxx" ou juste "xxx xx xxxx".
- ABNF- optional.abnf
- XML - Non disponible
Pour plus d'informations sur les expansions optionnelles dans les grammaires, voir la section 2.5 Répétitions de la spécification de la grammaire de reconnaissance vocale.
Grammaires de désambiguïsation
D'autres exemples de grammaires possibles comprennent des situations où le niveau de confiance de la réponse obtenue dans la reconnaissance n'est pas très élevé. L'application doit alors s'assurer que la réponse de l'utilisateur est exacte.
Dans ce cas, l'application peut créer de manière dynamique une grammaire incluant les réponses les plus plausibles et demander à l'utilisateur de répéter la réponse. Par exemple, l'application peut créer une grammaire incluant les deux options
les plus plausibles et demander à l'utilisateur d'en choisir une : Did you mean 'option 1' or 'option 9'?
Les grammaires de désambiguïsation sont générées à l'aide d'un programme. Aucun exemple n'est fourni.