Partager via


Éléments et attributs de définition des commandes vocales (VCD) v1.1

Notes

Les Cortana Skills Kit pour les consommateurs et les entreprises, ainsi que les compétences développées sur ces plateformes, ont été dépréciées.

Consultez la dernière version sur éléments et attributs VCD (Voice Command Definition) v1.2.

Documentation de référence pour les éléments de balisage XML et les attributs utilisés dans les fichiers VCD pour spécifier des contraintes de reconnaissance.

Utilisez des commandes vocales pour lancer une application et spécifiez une action ou une commande à exécuter. Par exemple, un utilisateur peut appuyer sur le bouton Démarrer et dire « Widgets Contoso, afficher les meilleures ventes » pour lancer l’application Widgets Contoso et accéder à une page « best sellers ».

Éléments et attributs

Comme pour tout fichier XML, un fichier VCD doit commencer par une déclaration XML qui spécifie à la fois la version XML et l’encodage des caractères.

<?xml version="1.0" encoding="utf-8"?>

L’élément racine est l’élément VoiceCommands , et son attribut xmlns doit être défini sur http://schemas.microsoft.com/voicecommands/1.1 (pas de caractères majuscules). Pour obtenir un exemple conforme à ce schéma, consultez l’exemple De commande vocale Cortana.

ÉlémentDescription
Commandes vocales Obligatoire. Élément racine d’un fichier VCD. Contient entre 1 et 15 éléments CommandSet , chacun représentant les commandes vocales d’une seule langue.
CommandSet Élément enfant obligatoire de l’élément VoiceCommands . Conteneur pour toutes les commandes vocales qu’une application acceptera dans la langue spécifiée par l’attribut xml :lang requis. La valeur de l’attribut xml :lang doit être unique dans le document VoiceCommand , et il s’agit d’une seule langue spécifique, spécifiée sous forme de nom de langue, qui correspond à une langue disponible dans le panneau de configuration Speech . L’attribut Name est facultatif et peut être n’importe quelle chaîne arbitraire ; toutefois, l’attribut Name est requis pour référencer et mettre à jour l’élément PhraseList d’un élément CommandSet par programmation. L’élément CommandSet contient les éléments enfants suivants : Éléments CommandPrefix (0 ou 1), Exemple (exactement 1), Command (1 à 100), Éléments PhraseList (0 à 10) et Éléments PhraseTopic (0 à 10). Ces éléments enfants doivent se produire dans l’ordre indiqué.
CommandPrefix Élément enfant facultatif de l’élément CommandSet . Le cas échéant, doit être le premier élément enfant de l’élément CommandSet . Spécifie un nom convivial pour une application qu’un utilisateur peut parler lorsqu’il donne une commande vocale. Cela est utile pour les applications dont les noms sont longs ou difficiles à prononcer. Évitez d’utiliser des préfixes qui entrent en conflit avec d’autres expériences vocales.
Commande

Élément enfant obligatoire de l’élément CommandSet .

Prend l’attribut Name . Définit une action d’application que les utilisateurs peuvent lancer en parlant et ce que les utilisateurs peuvent dire pour lancer l’action. Chaque élément Command peut être associé à une page spécifique de votre application. Contient les éléments enfants suivants : Exemple (exactement 1), ListenFor (1 à 10), Commentaires (exactement 1) et Navigation (exactement 1). Ces éléments enfants doivent se produire dans l’ordre indiqué.

Exemple Enfant obligatoire de l’élément CommandSet et de l’élément Command . Fournit un exemple représentatif de ce qu’un utilisateur peut dire pour un CommandSet dans son ensemble et pour une commande individuelle. Ces exemples seront visibles par un utilisateur lors de l’affichage de l’écran Que puis-je dire sur le téléphone. Cet écran s’affiche lorsqu’un utilisateur appuie et maintient le bouton Rechercher et indique « Aide » ou « Que puis-je dire ? », ou appuie sur Voir plus. Les exemples ne doivent pas inclure le nom ou le préfixe de l’application, car celui-ci est géré automatiquement.
ListenFor

Élément enfant obligatoire (1 à 10) de l’élément Command .

Contient un mot ou une expression que votre application reconnaîtra pour cette commande. Cela peut inclure ou être une référence à l’attribut Label d’un élément PhraseList (ou PhraseTopic), qui apparaît dans l’élément ListenFor entouré d’accolades, par exemple : {myList} ou {myTopic}.

Le contenu de tous les éléments ListenFor peut être reconnu pour activer la commande.

Utilisez des crochets autour d’un mot ou de mots facultatifs. Autrement dit, le ou les mots peuvent être prononcés, mais ne sont pas nécessaires pour une correspondance. Par exemple : <ListenFor>[Show] {options}</ListenFor>.

Vous pouvez configurer des fonctionnalités génériques en incluant un caractère astérisque à l’intérieur d’une paire d’accolades, telles que <ListenFor> Find {*} </ListenFor>. Dans cet exemple, la commande vocale correspondra tant que l’utilisateur parle « Find », éventuellement suivi de n’importe quel autre mot ou expression. Si la commande vocale d’un élément ListenFor générique est mise en correspondance, la propriété SpeechRecognitionResult.Text contient la chaîne « ... » dans la même position que le caractère générique.

Commentaires Élément enfant obligatoire de l’élément Command . Spécifie le texte qui sera affiché et lu à l’utilisateur lorsque la commande est reconnue. Si l’élément Feedback inclut une référence à un attribut Label d’un élément PhraseList (ou PhraseTopic), chaque élément ListenFor de l’élément Command contenant doit également référencer le même attribut Label de l’élément PhraseList (ou PhraseTopic).
NaviguerÉlément enfant obligatoire de l’élément Command . L’attribut Target est facultatif et est généralement utilisé pour spécifier la page vers laquelle l’application doit naviguer lors de son lancement. Vous pouvez obtenir la valeur de l’attribut Target (ou la chaîne vide si vous omettez l’attribut Target ) à partir du dictionnaire SpeechRecognitionSemanticInterpretation.Properties à l’aide de la touche « NavigationTarget ».
PhraseList

Enfant facultatif de l’élément CommandSet . Un élément CommandSet ne peut pas contenir plus de 2 000 éléments Item , et 2 000 éléments Item constituent la limite totale combinée entre tous les éléments PhraseList d’un CommandSet. Chaque élément spécifie un mot ou une expression qui peut être reconnu pour lancer la commande qui fait référence à PhraseList. Le contenu Des éléments peut être mis à jour par programme à partir de votre application. Une PhraseList nécessite l’attribut Label, dont la valeur peut apparaître( entourée d’accolades) à l’intérieur des éléments ListenFor ou Feedback, et est utilisé pour référencer phraseList.

PhraseList a un attribut Disambiguate facultatif (true par défaut), qui spécifie si cette PhraseList génère une désambiguation de l’utilisateur lorsque plusieurs éléments de la liste sont simultanément reconnus. Si la valeur est false, cette PhraseList est également inutilisable à partir des éléments Feedback et ne produit pas de paramètres pour votre application. C’est utile pour les expressions qui sont d’autres façons de dire la même chose, mais qui ne nécessitent aucune action spécifique.

Dans votre application, pour savoir quelle expression de la liste a été prononcée, vous pouvez accéder au dictionnaire SpeechRecognitionSemanticInterpretation.Properties à l’aide d’une clé ayant la même valeur que l’étiquette de phraseList.

Élément Enfant facultatif de l’élément PhraseList . Un des multiples mots ou expressions qui peuvent être reconnus pour lancer une commande. Un CommandSet ne peut pas contenir plus de 2 000 éléments Item dans tous ses éléments PhraseList enfants.
PhraseTopic

Enfant facultatif de l’élément CommandSet . Spécifie une rubrique pour la reconnaissance de vocabulaire volumineux. La rubrique peut spécifier un attribut scénario unique (0 ou 1) et plusieurs (0 à 20) éléments enfants d’objet pour le scénario, qui peuvent être utilisés pour améliorer la pertinence de la reconnaissance obtenue. Une phraseTopic nécessite l’attribut Label, dont la valeur peut apparaître, entourée d’accolades, à l’intérieur des éléments ListenFor ou Feedback, et est utilisé pour référencer l’élément PhraseTopic.

L’attribut Scenario (par défaut « Dictée ») spécifie le scénario souhaité pour cette PhraseTopic, qui peut optimiser la reconnaissance vocale sous-jacente des commandes vocales à l’aide de PhraseTopic pour produire des résultats mieux adaptés au contexte souhaité de la commande. Les valeurs valides sont « Natural Language », « Search », « Short Message », « Dictée », « Commands » et « Form Filling ».

Les éléments enfants Subject spécifient un sujet spécifique à l’attribut Scenario de l’expressionTopic parente pour affiner davantage la pertinence des résultats de la reconnaissance vocale dans les commandes parlées à l’aide de PhraseTopic. Les sujets seront évalués dans l’ordre fourni et, le cas échéant, les sujets spécifiés ultérieurement limiteront ceux spécifiés précédemment. Les valeurs de texte interne valides sont « Date/Heure », « Adresses », « Ville/État », « Noms de personne », « Films », « Musique » et « Numéro de téléphone ». Par exemple : <Subject>Phone Number</Subject>

Dans votre application, pour connaître le contenu parlé dans le sous-ensemble d’un élément ListenFor représenté par une référence PhraseTopic, vous pouvez accéder au dictionnaire SpeechRecognitionSemanticInterpretation.Properties à l’aide d’une clé avec la même valeur que l’étiquette de PhraseTopic.

Important

Il n’est pas possible d’imbriquer les caractères spéciaux répertoriés ci-dessous. Par exemple, les instructions telles que [[start] new game] et [{myPhraseList}] ne sont pas possibles.

Caractère spécial Description
{} Contient la valeur de l’attribut Label pour phraseList ou PhraseTopic à référencer, par exemple : {myList}, ou {myTopic}. Utilisé dans un élément ListenFor ou Feedback . Une référence PhraseList ou PhraseTopic dans un élément Feedback doit correspondre à une référence correspondante dans un élément ListenFor dans la même commande.
[] Désigne que le mot ou l’expression joint est facultatif. Le mot ou l’expression entre parenthèses peut être prononcé, mais il n’est pas nécessaire d’être reconnu pour lancer la commande. Par exemple, si le contenu d’un élément ListenFor est « [start] [begin] new game », l’utilisateur peut parler « start new game » ou « new game » ou « begin new game » (ou même « start begin new game ») pour lancer la commande. Chaque élément entre crochets est facultatif indépendamment, mais il doit être prononcé dans le bon ordre pour être reconnu. Ainsi, dans l’exemple de « nouveau jeu », « start begin new game » fonctionne, mais « begin start new game » ne fonctionne pas en raison de l’ordre dans lequel ils ont été déclarés.

Voir aussi

Windows.ApplicationModel.VoiceCommands

Éléments et attributs d’un fichier VCD v1.2

Interactions avec Cortana

Exemples

Exemple de commande vocale Cortana