GrammarBuilder Clase

Definición

Proporciona un mecanismo para compilar mediante programación las restricciones de una gramática de reconocimiento de voz.

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

Ejemplos

En el ejemplo siguiente GrammarBuilder Choices se usan objetos y para crear una gramática que pueda reconocer cualquiera de las dos frases "make Background colorChoice" o "Set Background to colorChoice".

En el ejemplo se usa un Choices objeto para crear una lista de valores aceptables para colorChoice a partir de una matriz de String objetos. Un Choices objeto es análogo al one-of elemento en la especificación de SRGS y contiene un conjunto de frases alternativas, cualquiera de las cuales se puede reconocer cuando se habla. En el ejemplo también se usa un Choices objeto para agrupar una matriz de dos GrammarBuilder objetos en un par de frases alternativas que la gramática resultante puede reconocer. Palabras o frases alternativas son un componente de la mayoría de las gramáticas y el Choices objeto proporciona esta funcionalidad para las gramáticas construidas con GrammarBuilder .

Finalmente, en el ejemplo se crea un Grammar objeto a partir de un GrammarBuilder construido a partir de un Choices objeto.

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). Si está familiarizado con SRGS pero desea generar las gramáticas mediante programación, puede usar el espacio de System.Speech.Recognition.SrgsGrammar nombres cuyos miembros se corresponden estrechamente con los elementos y atributos definidos por 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 .

Usar GrammarBuilder objetos para generar un árbol jerárquico compuesto Choices 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 transmiten el significado de vuelta a la aplicación.

Para utilizar un GrammarBuilder para crear un Grammar objeto, siga estos pasos.

  1. Crear un objeto GrammarBuilder.

  2. Anexar restricciones a GrammarBuilder , como objetos,,,, String Choices SemanticResultKey SemanticResultValue DictationGrammar y otros GrammarBuilder objetos que definen las restricciones para la gramática.

  3. Use uno de los Grammar constructores para crear un Grammar objeto a partir de la gramática completada GrammarBuilder .

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. Para compilar gramáticas con varias reglas o para crear referencias de regla internas mediante programación, use las clases del espacio de System.Speech.Recognition.SrgsGrammar nombres.

Las instancias de GrammarBuilder también se pueden obtener 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. Para obtener más información, vea Implicit los Addition operadores y y los Add métodos.

Para agregar reglas a un existente GrammarBuilder , use los Add métodos,,, Append AppendDictation AppendRuleReference y AppendWildcard .

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.

Para ayudar con la depuración, la DebugShowPhrases propiedad devuelve el estado actual de GrammarBuilder como una cadena.

Constructores

GrammarBuilder()

Inicializa una nueva instancia vacía de la clase GrammarBuilder.

GrammarBuilder(Choices)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de un conjunto de alternativas.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de un elemento repetido.

GrammarBuilder(SemanticResultKey)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de una clave semántica.

GrammarBuilder(SemanticResultValue)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de un valor semántico.

GrammarBuilder(String)

Inicializa una nueva instancia de la clase GrammarBuilder a partir de una secuencia de palabras.

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.

GrammarBuilder(String, SubsetMatchingMode)

Inicializa una nueva instancia de la clase GrammarBuilder para un subconjunto de una secuencia de palabras.

Propiedades

Culture

Obtiene o establece la referencia cultural de la gramática de reconocimiento de voz.

DebugShowPhrases

Obtiene una cadena que muestra el contenido y la estructura de la gramática contenida por GrammarBuilder.

Métodos

Add(Choices, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene un objeto Choices seguido por un objeto GrammarBuilder.

Add(GrammarBuilder, Choices)

Crea un nuevo GrammarBuilder que contiene un objeto GrammarBuilder seguido por un objeto Choices.

Add(GrammarBuilder, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene una secuencia de dos objetos GrammarBuilder.

Add(GrammarBuilder, String)

Crea un nuevo GrammarBuilder que contiene un objeto GrammarBuilder seguido de una frase.

Add(String, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene una frase seguida de un objeto GrammarBuilder.

Append(Choices)

Anexa un conjunto de alternativas a la secuencia actual de elementos de gramática.

Append(GrammarBuilder)

Anexa un elemento de gramática a la secuencia actual de elementos de gramática.

Append(GrammarBuilder, Int32, Int32)

Anexa un elemento de gramática repetido a la secuencia actual de elementos de gramática.

Append(SemanticResultKey)

Anexa una clave semántica a la secuencia actual de elementos de gramática.

Append(SemanticResultValue)

Anexa un valor semántico a la secuencia actual de elementos de gramática.

Append(String)

Anexa una frase a la secuencia actual de elementos de gramática.

Append(String, Int32, Int32)

Anexa una frase repetida a la secuencia actual de elementos de gramática.

Append(String, SubsetMatchingMode)

Anexa un elemento para un subconjunto de una frase a la secuencia actual de elementos de gramática.

AppendDictation()

Anexa la gramática de dictado predeterminada a la secuencia actual de elementos de gramática.

AppendDictation(String)

Anexa la gramática de dictado especificada a la secuencia actual de elementos de gramática.

AppendRuleReference(String)

Anexa un archivo de definición de gramática a la secuencia actual de elementos de gramática.

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.

AppendWildcard()

Anexa un elemento de gramática de reconocimiento que coincide con cualquier entrada a la secuencia actual de elementos de gramática.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Operadores

Addition(Choices, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene un objeto Choices seguido por un objeto GrammarBuilder.

Addition(GrammarBuilder, Choices)

Crea un nuevo GrammarBuilder que contiene un GrammarBuilder seguido de un Choices.

Addition(GrammarBuilder, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene una secuencia de dos objetos GrammarBuilder.

Addition(GrammarBuilder, String)

Crea un nuevo GrammarBuilder que contiene un GrammarBuilder seguido de una frase.

Addition(String, GrammarBuilder)

Crea un nuevo GrammarBuilder que contiene una frase seguida de un GrammarBuilder.

Implicit(Choices to GrammarBuilder)

Convierte un objeto Choices en un objeto GrammarBuilder.

Implicit(SemanticResultKey to GrammarBuilder)

Convierte un objeto SemanticResultKey en un objeto GrammarBuilder.

Implicit(SemanticResultValue to GrammarBuilder)

Convierte un objeto SemanticResultValue en un objeto GrammarBuilder.

Implicit(String to GrammarBuilder)

Convierte una cadena en un objeto GrammarBuilder.

Se aplica a

Consulte también