GrammarBuilder Clase

Definición

Proporciona un mecanismo para compilar mediante programación las restricciones de una gramática de reconocimiento de voz.Provides a mechanism for programmatically building the constraints for a speech recognition grammar.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Herencia
GrammarBuilder

Ejemplos

En el ejemplo siguiente se usa GrammarBuilder y Choices objetos para construir una gramática que pueda reconocer cualquiera de las dos frases "make Background colorChoice" o "Set Background to colorChoice".The following example uses GrammarBuilder and Choices objects to construct a grammar that can recognize either of the two phrases, "Make background colorChoice" or "Set background to colorChoice".

En el ejemplo se usa un objeto Choices para crear una lista de valores aceptables para colorChoice desde una matriz de objetos String.The example uses a Choices object to create a list of acceptable values for colorChoice from an array of String objects. Un objeto Choices es análogo al elemento one-of de la especificación de SRGS y contiene un conjunto de frases alternativas, cualquiera de las cuales se puede reconocer cuando se habla.A Choices object is analogous to the one-of element in the SRGS specification, and contains a set of alternate phrases, any of which can be recognized when spoken. En el ejemplo también se usa un objeto Choices para agrupar una matriz de dos objetos GrammarBuilder en un par de frases alternativas que la gramática resultante puede reconocer.The example also uses a Choices object to group an array of two GrammarBuilder objects into a pair of alternative phrases that the resultant grammar can recognize. Palabras o frases alternativas son un componente de la mayoría de las gramáticas y el objeto Choices proporciona esta funcionalidad para las gramáticas construidas con GrammarBuilder.Alternate words or phrases are a component of most grammars, and the Choices object provides this functionality for grammars constructed with GrammarBuilder.

Finalmente, en el ejemplo se crea un objeto Grammar a partir de un GrammarBuilder construido a partir de un objeto Choices.The example finally creates a Grammar object from a GrammarBuilder constructed from a Choices object.

  
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;  
}  
  

Comentarios

Las gramáticas de reconocimiento de voz se crean normalmente en el formato XML definido por la versión 1,0 de la especificación de gramática de reconocimiento de voz (SRGS).Speech recognition grammars are commonly authored in the XML format defined by the Speech Recognition Grammar Specification (SRGS) Version 1.0. Si está familiarizado con SRGS pero desea generar las gramáticas mediante programación, puede usar el espacio de nombres System.Speech.Recognition.SrgsGrammar, cuyos miembros se corresponden estrechamente con los elementos y atributos definidos por SRGS.If you are familiar with SRGS but want to generate the grammars programmatically, you can use the System.Speech.Recognition.SrgsGrammar namespace, whose members correspond closely to the elements and attributes defined by SRGS. Si no está familiarizado con SRGS, o si desea un enfoque ligero y mediante programación para crear gramáticas con las que puede realizar eficazmente muchos escenarios comunes; puede usar las clases GrammarBuilder y Choices.If you are unfamiliar with SRGS, or you want a lightweight, programmatic approach to authoring grammars with which you can efficiently accomplish many common scenarios; you can use the GrammarBuilder and Choices classes.

Use GrammarBuilder objetos para crear un árbol jerárquico compuesto por Choices objetos que contengan frases alternativas, intercaladas con frases de preámbulo y postamble en cada nodo, y que se propaguen con valores semánticos que transmitan el significado de vuelta a la aplicación.Use GrammarBuilder objects to build a hierarchical tree composed of Choices objects that contain alternate phrases, interspersed with preamble and post-amble phrases at each node, and seeded with semantic values that convey meaning back to the application.

Para usar una GrammarBuilder para crear un objeto Grammar, siga estos pasos.To use a GrammarBuilder to create a Grammar object, use the following steps.

  1. Crear un objeto GrammarBuilder.Create a GrammarBuilder object.

  2. Anexe las restricciones al GrammarBuilder, como String objetos, Choices, SemanticResultKey, SemanticResultValue, DictationGrammary otros objetos GrammarBuilder que definen las restricciones para la gramática.Append constraints to the GrammarBuilder, such as String objects, Choices, SemanticResultKey, SemanticResultValue, DictationGrammar, and other GrammarBuilder objects that define the constraints for the grammar.

  3. Use uno de los constructores de Grammar para crear un objeto Grammar a partir de la gramática completada GrammarBuilder.Use one of the Grammar constructors to create a Grammar object from the completed GrammarBuilder grammar.

La creación con GrammarBuilder es más adecuada para las gramáticas que tienen una sola regla que contiene listas o quizás listas de listas.Authoring with GrammarBuilder is best suited to grammars that have a single rule containing lists, or perhaps lists of lists. Para compilar gramáticas con varias reglas o para crear referencias de regla internas mediante programación, use las clases del espacio de nombres System.Speech.Recognition.SrgsGrammar.To programmatically build grammars that have multiple rules, or that need to make internal rule references, use the classes of the System.Speech.Recognition.SrgsGrammar namespace.

Las instancias de GrammarBuilder también pueden obtenerse mediante conversiones implícitas de otras clases o mediante la combinación de un GrammarBuilder con un segundo objeto que contenga restricciones para una gramática.Instances of GrammarBuilder can also be obtained by implicit conversions from certain other classes or by combining a GrammarBuilder with a second object that contains constraints for a grammar.. Para obtener más información, vea los operadores Implicit y Addition y los métodos Add.For more information, see the Implicit and Addition operators and the Add methods.

Para agregar reglas a un GrammarBuilderexistente, use los métodos Add, Append, AppendDictation, AppendRuleReferencey AppendWildcard.To add rules to an existing GrammarBuilder, use the Add, Append, AppendDictation, AppendRuleReference, and AppendWildcard methods.

Importante

El reconocedor de voz puede producir una excepción cuando se usa una gramática de reconocimiento de voz que contiene elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente el valor del mismo elemento semántico.The speech recognizer can throw an exception when using a speech recognition grammar that contains duplicate semantic elements with the same key name or multiple semantic elements that could repeatedly modify the value of the same semantic element.

Para ayudar con la depuración, la propiedad DebugShowPhrases devuelve el estado actual del GrammarBuilder como una cadena.To help with debugging, the DebugShowPhrases property returns the current status of the GrammarBuilder as a string.

Constructores

GrammarBuilder()

Inicializa una nueva instancia vacía de la clase GrammarBuilder.Initializes a new, empty instance of the GrammarBuilder class.

GrammarBuilder(Choices)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de un conjunto de alternativas.Initializes a new instance of the GrammarBuilder class from a set of alternatives.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de un elemento repetido.Initializes a new instance of the GrammarBuilder class from a repeated element.

GrammarBuilder(SemanticResultKey)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de una clave semántica.Initializes a new instance of the GrammarBuilder class from a semantic key.

GrammarBuilder(SemanticResultValue)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de un valor semántico.Initializes a new instance of the GrammarBuilder class from a semantic value.

GrammarBuilder(String)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de una secuencia de palabras.Initializes a new instance of the GrammarBuilder class from a sequence of words.

GrammarBuilder(String, Int32, Int32)

Inicializa una nueva instancia de la clase GrammarBuilder a partir del flujo de palabras en un objeto String y especifica cuántas veces se puede repetir String.Initializes a new instance of the GrammarBuilder class from the sequence of words in a String and specifies how many times the String can be repeated.

GrammarBuilder(String, SubsetMatchingMode)

Inicializa una nueva instancia de la clase GrammarBuilder para un subconjunto de una secuencia de palabras.Initializes a new instance of the GrammarBuilder class for a subset of a sequence of words.

Propiedades

Culture

Obtiene o establece la referencia cultural de la gramática de reconocimiento de voz.Gets or sets the culture of the speech recognition grammar.

DebugShowPhrases

Obtiene una cadena que muestra el contenido y la estructura de la gramática contenida por GrammarBuilder.Gets a string that shows the contents and structure of the grammar contained by the GrammarBuilder.

Métodos

Add(Choices, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene un objeto Choices seguido por un objeto GrammarBuilder.Creates a new GrammarBuilder that contains a Choices object followed by a GrammarBuilder object.

Add(GrammarBuilder, Choices)

Crea un nuevo GrammarBuilder que contiene un objeto GrammarBuilder seguido por un objeto Choices.Creates a new GrammarBuilder that contains a GrammarBuilder object followed by a Choices object.

Add(GrammarBuilder, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene una secuencia de dos objetos GrammarBuilder.Creates a new GrammarBuilder that contains a sequence of two GrammarBuilder objects.

Add(GrammarBuilder, String)

Crea un nuevo GrammarBuilder que contiene un objeto GrammarBuilder seguido de una frase.Creates a new GrammarBuilder that contains a GrammarBuilder object followed by a phrase.

Add(String, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene una frase seguida de un objeto GrammarBuilder.Creates a new GrammarBuilder that contains a phrase followed by a GrammarBuilder object.

Append(Choices)

Anexa un conjunto de alternativas a la secuencia actual de elementos de gramática.Appends a set of alternatives to the current sequence of grammar elements.

Append(GrammarBuilder)

Anexa un elemento de gramática a la secuencia actual de elementos de gramática.Appends a grammar element to the current sequence of grammar elements.

Append(GrammarBuilder, Int32, Int32)

Anexa un elemento de gramática repetido a la secuencia actual de elementos de gramática.Appends a repeated grammar element to the current sequence of grammar elements.

Append(SemanticResultKey)

Anexa una clave semántica a la secuencia actual de elementos de gramática.Appends a semantic key to the current sequence of grammar elements.

Append(SemanticResultValue)

Anexa un valor semántico a la secuencia actual de elementos de gramática.Appends a semantic value to the current sequence of grammar elements.

Append(String)

Anexa una frase a la secuencia actual de elementos de gramática.Appends a phrase to the current sequence of grammar elements.

Append(String, Int32, Int32)

Anexa una frase repetida a la secuencia actual de elementos de gramática.Appends a repeated phrase to the current sequence of grammar elements.

Append(String, SubsetMatchingMode)

Anexa un elemento para un subconjunto de una frase a la secuencia actual de elementos de gramática.Appends an element for a subset of a phrase to the current sequence of grammar elements.

AppendDictation()

Anexa la gramática de dictado predeterminada a la secuencia actual de elementos de gramática.Appends the default dictation grammar to the current sequence of grammar elements.

AppendDictation(String)

Anexa la gramática de dictado especificada a la secuencia actual de elementos de gramática.Appends the specified dictation grammar to the current sequence of grammar elements.

AppendRuleReference(String)

Anexa un archivo de definición de gramática a la secuencia actual de elementos de gramática.Appends a grammar definition file to the current sequence of grammar elements.

AppendRuleReference(String, String)

Anexa la regla especificada de un archivo de definición de gramática a la secuencia actual de elementos de gramática.Appends the specified rule of a grammar definition file to the current sequence of grammar elements.

AppendWildcard()

Anexa un elemento de gramática de reconocimiento que coincide con cualquier entrada a la secuencia actual de elementos de gramática.Appends a recognition grammar element that matches any input to the current sequence of grammar elements.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Operadores

Addition(Choices, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene un objeto Choices seguido por un objeto GrammarBuilder.Creates a new GrammarBuilder that contains a Choices object followed by a GrammarBuilder object.

Addition(GrammarBuilder, Choices)

Crea un nuevo GrammarBuilder que contiene un GrammarBuilder seguido de un Choices.Creates a new GrammarBuilder that contains a GrammarBuilder followed by a Choices.

Addition(GrammarBuilder, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene una secuencia de dos objetos GrammarBuilder.Creates a new GrammarBuilder that contains a sequence of two GrammarBuilder objects.

Addition(GrammarBuilder, String)

Crea un nuevo GrammarBuilder que contiene un GrammarBuilder seguido de una frase.Creates a new GrammarBuilder that contains a GrammarBuilder followed by a phrase.

Addition(String, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene una frase seguida de un GrammarBuilder.Creates a new GrammarBuilder that contains a phrase followed by a GrammarBuilder.

Implicit(Choices to GrammarBuilder)

Convierte un objeto Choices en un objeto GrammarBuilder.Converts a Choices object to a GrammarBuilder object.

Implicit(SemanticResultKey to GrammarBuilder)

Convierte un objeto SemanticResultKey en un objeto GrammarBuilder.Converts a SemanticResultKey object to a GrammarBuilder object.

Implicit(SemanticResultValue to GrammarBuilder)

Convierte un objeto SemanticResultValue en un objeto GrammarBuilder.Converts a SemanticResultValue object to a GrammarBuilder object.

Implicit(String to GrammarBuilder)

Convierte una cadena en un objeto GrammarBuilder.Converts a string to a GrammarBuilder object.

Se aplica a

Consulte también: