Partager via


GrammarBuilder Classe

Définition

Fournit un mécanisme pour la génération par programmation des contraintes d'une syntaxe de reconnaissance vocale.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Héritage
GrammarBuilder

Exemples

L’exemple suivant utilise GrammarBuilder les Choices objets et pour construire une grammaire qui peut reconnaître l’une des deux expressions suivantes : « créer un colorChoice d’arrière-plan » ou « définir l’arrière-plan sur colorChoice».

L’exemple utilise un Choices objet pour créer une liste de valeurs acceptables pour colorChoice à partir d’un tableau d' String objets. Un Choices objet est analogue à l' one-of élément dans la spécification SRGS et contient un ensemble d’expressions alternatives, qui peuvent être reconnues à l’oral. L’exemple utilise également un Choices objet pour regrouper un tableau de deux GrammarBuilder objets dans une paire d’expressions de remplacement que la grammaire résultante peut reconnaître. Les mots ou expressions de substitution sont un composant de la plupart des grammaires, et l' Choices objet fournit cette fonctionnalité pour les grammaires construites avec GrammarBuilder .

L’exemple crée enfin un Grammar objet à partir d’un GrammarBuilder construit à partir d’un Choices objet.

private Grammar CreateColorGrammar()  
{  

  // Create a set of color choices.  
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});  
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);  

  // Create grammar builders for the two versions of the phrase.  
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");  
  makePhrase.Append(colorElement);  
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");  
  setPhrase.Append(colorElement);  

  // Create a Choices for the two alternative phrases, convert the Choices  
  // to a GrammarBuilder, and construct the grammar from the result.  
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});  
  Grammar grammar = new Grammar((GrammarBuilder)bothChoices);  
  grammar.Name = "backgroundColor";  
  return grammar;  
}  

Remarques

Les grammaires de la reconnaissance vocale sont couramment créées dans le format XML défini par la spécification de la grammaire de reconnaissance vocale (SRGS) Version 1,0. Si vous êtes familiarisé avec SRGS mais que vous souhaitez générer les grammaires par programmation, vous pouvez utiliser l' System.Speech.Recognition.SrgsGrammar espace de noms, dont les membres correspondent étroitement aux éléments et attributs définis par SRGS. Si vous n’êtes pas familiarisé avec SRGS, ou si vous souhaitez une approche légère et par programmation de la création de grammaires avec laquelle vous pouvez effectuer efficacement de nombreux scénarios courants ; vous pouvez utiliser les GrammarBuilder Choices classes et.

Utilisez GrammarBuilder des objets pour créer une arborescence hiérarchique composée d' Choices objets qui contiennent d’autres expressions, intercalés avec le préambule et les expressions amble sur chaque nœud, et amorcées avec des valeurs sémantiques qui transmettent la signification à l’application.

Pour utiliser un GrammarBuilder pour créer un Grammar objet, procédez comme suit.

  1. Créez un objet GrammarBuilder.

  2. Ajoutez des contraintes à GrammarBuilder , telles que des objets,,,,, String Choices SemanticResultKey SemanticResultValue et d' DictationGrammar autres GrammarBuilder objets qui définissent les contraintes pour la grammaire.

  3. Utilisez l’un des Grammar constructeurs pour créer un Grammar objet à partir de la GrammarBuilder grammaire terminée.

La création avec GrammarBuilder est mieux adaptée aux grammaires qui ont une seule règle contenant des listes, ou peut-être des listes de listes. Pour créer par programmation des grammaires qui ont plusieurs règles, ou qui doivent créer des références de règle internes, utilisez les classes de l' System.Speech.Recognition.SrgsGrammar espace de noms.

Les instances de GrammarBuilder peuvent également être obtenues par les conversions implicites à partir de certaines autres classes ou en combinant un GrammarBuilder avec un deuxième objet qui contient des contraintes pour une grammaire.. Pour plus d’informations, consultez Implicit les Addition opérateurs et et les Add méthodes.

Pour ajouter des règles à un existant GrammarBuilder , utilisez les Add méthodes,,, Append AppendDictation AppendRuleReference et AppendWildcard .

Important

Le module de reconnaissance vocale peut lever une exception lors de l’utilisation d’une syntaxe de reconnaissance vocale qui contient des éléments sémantiques dupliqués avec le même nom de clé ou plusieurs éléments sémantiques qui peuvent modifier à plusieurs reprises la valeur du même élément sémantique.

Pour faciliter le débogage, la DebugShowPhrases propriété retourne l’état actuel de sous la GrammarBuilder forme d’une chaîne.

Constructeurs

GrammarBuilder()

Initialise une nouvelle instance vide de la classe GrammarBuilder.

GrammarBuilder(Choices)

Initialise une nouvelle instance de la classe GrammarBuilder à partir d'un ensemble de solutions de remplacement.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Initialise une nouvelle instance de la classe GrammarBuilder à partir d'un élément répété.

GrammarBuilder(SemanticResultKey)

Initialise une nouvelle instance de la classe GrammarBuilder à partir d'une clé sémantique.

GrammarBuilder(SemanticResultValue)

Initialise une nouvelle instance de la classe GrammarBuilder à partir d'une valeur sémantique.

GrammarBuilder(String)

Initialise une nouvelle instance de la classe GrammarBuilder à partir d'une suite de mots.

GrammarBuilder(String, Int32, Int32)

Initialise une nouvelle instance de la classe GrammarBuilder à partir de la séquence de mots d'une String et spécifie le nombre de fois que la String peut être répétée.

GrammarBuilder(String, SubsetMatchingMode)

Initialise une nouvelle instance de la classe GrammarBuilder pour un sous-ensemble d'une suite de mots.

Propriétés

Culture

Obtient ou définit la culture de la syntaxe de reconnaissance vocale.

DebugShowPhrases

Obtient une chaîne qui indique les contenus et la structure de la grammaire contenus par GrammarBuilder.

Méthodes

Add(Choices, GrammarBuilder)

Crée un GrammarBuilder nouveau qui contient un objet Choices suivi d’un objet GrammarBuilder.

Add(GrammarBuilder, Choices)

Crée un GrammarBuilder nouveau qui contient un objet GrammarBuilder suivi d’un objet Choices.

Add(GrammarBuilder, GrammarBuilder)

Crée un nouveau GrammarBuilder qui contient une séquence de deux objets GrammarBuilder .

Add(GrammarBuilder, String)

Crée un nouveau GrammarBuilder qui contient un objet GrammarBuilder suivi d'une expression.

Add(String, GrammarBuilder)

Crée un nouveau GrammarBuilder qui contient une expression suivie d'un objet GrammarBuilder .

Append(Choices)

Ajoute un ensemble d'alternatives à la séquence en cours d'éléments de syntaxe.

Append(GrammarBuilder)

Ajoute un élément de syntaxe à la séquence en cours d'éléments de syntaxe.

Append(GrammarBuilder, Int32, Int32)

Ajoute un élément de syntaxe répété à la séquence en cours d'éléments de syntaxe.

Append(SemanticResultKey)

Ajoute une clé sémantique à la séquence en cours d'éléments de syntaxe.

Append(SemanticResultValue)

Ajoute une valeur sémantique à la séquence en cours d'éléments de syntaxe.

Append(String)

Ajoute une expression à la séquence en cours d'éléments de syntaxe.

Append(String, Int32, Int32)

Ajoute une expression répétée à la séquence en cours d'éléments de syntaxe.

Append(String, SubsetMatchingMode)

Ajoute un élément pour un sous-ensemble d'une expression à la séquence en cours d'éléments de syntaxe.

AppendDictation()

Ajoute la syntaxe de dictée par défaut à la séquence en cours d'éléments de syntaxe.

AppendDictation(String)

Ajoute la syntaxe de dictée spécifiée à la séquence en cours d'éléments de syntaxe.

AppendRuleReference(String)

Ajoute un fichier de définition de syntaxe à la séquence en cours d'éléments de syntaxe.

AppendRuleReference(String, String)

Ajoute la règle spécifiée d'un fichier de définition de syntaxe à la séquence en cours d'éléments de syntaxe.

AppendWildcard()

Ajoute un élément de syntaxe de reconnaissance qui correspond à une entrée dans la séquence en cours d'éléments de syntaxe.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Opérateurs

Addition(Choices, GrammarBuilder)

Crée un GrammarBuilder nouveau qui contient un objet Choices suivi d’un objet GrammarBuilder.

Addition(GrammarBuilder, Choices)

Crée un nouveau GrammarBuilder qui contient un GrammarBuilder suivi d'un Choices.

Addition(GrammarBuilder, GrammarBuilder)

Crée un nouveau GrammarBuilder qui contient une séquence de deux objets GrammarBuilder .

Addition(GrammarBuilder, String)

Crée un nouveau GrammarBuilder qui contient un GrammarBuilder suivi d'une expression.

Addition(String, GrammarBuilder)

Crée un nouveau GrammarBuilder qui contient une expression suivie d'un GrammarBuilder .

Implicit(Choices to GrammarBuilder)

Convertit un objet Choices en objet GrammarBuilder.

Implicit(SemanticResultKey to GrammarBuilder)

Convertit un objet SemanticResultKey en objet GrammarBuilder.

Implicit(SemanticResultValue to GrammarBuilder)

Convertit un objet SemanticResultValue en objet GrammarBuilder.

Implicit(String to GrammarBuilder)

Convertit une chaîne en objet GrammarBuilder.

S’applique à

Voir aussi