TUTORIELS 
La grammaire de VoiceXML

Page 1 | 2

Présentation de la spécification du W3C pour la reconnaissance vocale, qui permet de définir des grammaires pour le VoiceXML.
 (28 octobre 2002 )
 

Quelques opérateurs logiques
One-of: Indique une liste où l'utilisateur ne peut choisir qu'un seul élement. En bref, cela créé un formulaire.

ABNF
$ville = Paris | Lyon | Brest | Lille;

XML
<rule id="ville">
  <one-of>
    <item>Paris</item>
    <item>Lyon</item>
    <item>Brest</item>
    <item>Lille</item>
  </one-of>
</rule>



Répétition
: permet de déterminer si un élement peut être répété ou pas, et ainsi de créer des phrases composées où seuls quelques éléments sont nécessaires à l'application. Cela rend certains mots optionnels.

ABNF
// l'élément "très" est optionnel
très <0-1>

// $digit peut être dit zéro, une ou plusieurs fois
$digit <0->

// $digit peut être dit une fois ou plus
$digit <1->

// $digit peut être dit quatre, cinq ou six fois
$digit <4-6>

// $digit peut être dit dix fois ou plus
$digit <10->

// quelques exemples:
// "pizza"
// "grande pizza avec des pepperoni"
// "très grandepizza avec du fromage et des pepperoni"
[[très] grande] pizza ([avec | et] $ingredient) <0->

XML
<!-- l'élément "très" est optionnel -->
<item repeat="0-1">very</item>

<!-- digit peut être dit zéro, une ou plusieurs fois -->
<item repeat="0-"> <ruleref uri="#digit"/> </item>

<!-- digit peut être dit une fois ou plus -->
<item repeat="1-"> <ruleref uri="#digit"/> </item>

<!-- digit peut être dit quatre, cinq ou six fois -->
<item repeat="4-6"> <ruleref uri="#digit"/> </item>

<!-- digit peut être dit dix fois ou plus -->
<item repeat="10-"> <ruleref uri="#digit"/> </item>

<!-- quelques exemples: -->
<!-- "pizza" -->
<!-- "grande pizza avec des pepperoni" -->
<!-- "très grandepizza avec du fromage et des pepperoni" -->
<item repeat="0-1">
  <item repeat="0-1">très</item>
   grande
</item>
pizza
<item repeat="0-">
  <item repeat="0-1">
    <one-of>
      <item>avec</item>
      <item>et</item>
    </one-of>
  </item>
  <ruleref uri="#ingredient"/>
</item>

La reconnaissance vocale est un vaste domaine, et SRGS dispose d'une spécification très complète dont n'avons ici fait que gratter la surface, afin de vous présenter les capacités de base de cette norme.
La reconnaissance vocale est en plein développement au W3C, et nous commençons juste a voir des normes se préciser, et d'autres projets apparaitre. Les première applications commencent à apparaître aux Etats-Unis: gageons que nous verrons ce type d'application arriver en France dans les mois à venir...

Page 1 | 2

 
[ Xavier Borderie,JDNet
 
Accueil | Haut de page