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 GrammarBuilder se Choices usan objetos y para crear 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 Choices usa un objeto para crear una lista de valores aceptables para colorChoice a String partir de una matriz de objetos.The example uses a Choices object to create a list of acceptable values for colorChoice from an array of String objects. Un Choices objeto es análogo one-of al elemento en 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 Choices usa un objeto para agrupar una GrammarBuilder matriz de dos objetos 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 Choices y el objeto proporciona esta funcionalidad para las gramáticas construidas con. GrammarBuilderAlternate 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 Grammar se crea un GrammarBuilder objeto a partir Choices de un construido a partir de un objeto.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 System.Speech.Recognition.SrgsGrammar espacio de nombres 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 GrammarBuilder clases 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.

Usar GrammarBuilder objetos para generar un árbol jerárquico Choices compuesto por objetos que contienen frases alternativas, intercaladas con frases de preámbulo y postamble en cada nodo, y que se inicializan con valores semánticos que proporcionan el significado de vuelta al 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 utilizar un GrammarBuilder para crear un Grammar objeto, 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. Anexar restricciones a GrammarBuilder, String como Choices SemanticResultKey GrammarBuilder objetos, SemanticResultValue,,, y otros objetos que definen las restricciones para la gramática. DictationGrammarAppend 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 Grammar constructores para crear un Grammar objeto a partir de GrammarBuilder la gramática completada.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 System.Speech.Recognition.SrgsGrammar espacio de nombres.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 GrammarBuilder de también se pueden obtener mediante conversiones implícitas de otras clases o mediante la combinación de GrammarBuilder un 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 Implicit los Addition operadores y y Add los métodos.For more information, see the Implicit and Addition operators and the Add methods.

Para agregar reglas a un existente GrammarBuilder, use los Addmétodos Append, AppendDictation AppendRuleReference,, y 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 DebugShowPhrases , la propiedad devuelve el estado actual GrammarBuilder de como una cadena.To help with debugging, the DebugShowPhrases property returns the current status of the GrammarBuilder as a string.

Para obtener más información sobre la creación y el uso de las gramáticas de reconocimiento de voz, consulte reconocimiento de voz y creación de gramáticas de GrammarBuilder.For more information about building and using speech recognition grammars, see Speech Recognition and Creating GrammarBuilder Grammars.

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 al 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 Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve un valor de tipo string 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: