GrammarBuilder.Append Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Anexa un elemento de gramática a la secuencia actual de elementos gramaticales.
Sobrecargas
| Nombre | Description |
|---|---|
| Append(String, Int32, Int32) |
Anexa una frase repetida a la secuencia actual de elementos gramaticales. |
| Append(GrammarBuilder, Int32, Int32) |
Anexa un elemento gramatical repetido a la secuencia actual de elementos gramaticales. |
| Append(String) |
Anexa una frase 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. |
| Append(SemanticResultKey) |
Anexa una clave semántica a la secuencia actual de elementos gramaticales. |
| Append(SemanticResultValue) |
Anexa un valor semántico a la secuencia actual de elementos de gramática. |
| Append(GrammarBuilder) |
Anexa un elemento de gramática a la secuencia actual de elementos gramaticales. |
| Append(Choices) |
Anexa un conjunto de alternativas a la secuencia actual de elementos gramaticales. |
Comentarios
Use estos métodos para anexar elementos gramaticales a un existente GrammarBuilder. A medida que crea elementos gramaticales, puede anexarlos al generador existente para desarrollar progresivamente las restricciones de una gramática de reconocimiento de voz. Cada elemento se agrega al final de la secuencia actual de elementos.
Este método tiene sobrecargas para anexar GrammarBuilderobjetos , String, Choices, SemanticResultKeyy SemanticResultValue .
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 obtener más información sobre cómo crear y usar gramáticas de reconocimiento de voz, consulte Reconocimiento de voz.
Append(String, Int32, Int32)
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
Anexa una frase repetida a la secuencia actual de elementos gramaticales.
public:
void Append(System::String ^ phrase, int minRepeat, int maxRepeat);
public void Append(string phrase, int minRepeat, int maxRepeat);
member this.Append : string * int * int -> unit
Public Sub Append (phrase As String, minRepeat As Integer, maxRepeat As Integer)
Parámetros
- phrase
- String
Secuencia repetida de palabras que se van a anexar.
- minRepeat
- Int32
El número mínimo de veces que debe producirse la coincidencia phrase de entrada para constituir una coincidencia.
- maxRepeat
- Int32
Número máximo de veces que la coincidencia phrase de entrada puede producirse para constituir una coincidencia.
Ejemplos
En el ejemplo siguiente se crea una gramática de reconocimiento de voz para frases como "Llamar a James en el trabajo" y "Llamar a Anne en su teléfono celular", donde la palabra "teléfono" es opcional. GrammarBuilder y Choices los objetos se usan para construir la gramática. En el ejemplo se resalta el uso del Append método .
public static Grammar CreatePhonePhrase()
{
// Create alternatives for person names, locations, devices, and pronouns.
Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
Choices locationChoice = new Choices(new string[] {"home", "work"});
Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
Choices pronounChoice = new Choices(new string[] {"his", "her"});
// Create a phrase for the receiving device, which optionally contains the word "phone".
GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
devicePhrase.Append(deviceChoice);
devicePhrase.Append("phone", 0, 1);
// Create alternatives for phrases specifying a device or a location.
GrammarBuilder atLocation = new GrammarBuilder("at");
atLocation.Append(locationChoice);
GrammarBuilder onDevice = new GrammarBuilder("on");
onDevice.Append(devicePhrase);
Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});
// Build the final phrase.
GrammarBuilder callWho = new GrammarBuilder("Call");
callWho.Append(personChoice);
callWho.Append(howChoice);
// Create the Grammar object.
Grammar callGrammar = new Grammar(callWho);
callGrammar.Name = "Call Grammar";
return callGrammar;
}
Comentarios
El valor de minRepeat debe ser mayor o igual que 0 y menor o igual que el valor de maxRepeat.
Consulte también
Se aplica a
Append(GrammarBuilder, Int32, Int32)
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
Anexa un elemento gramatical repetido a la secuencia actual de elementos gramaticales.
public:
void Append(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public void Append(System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
member this.Append : System.Speech.Recognition.GrammarBuilder * int * int -> unit
Public Sub Append (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)
Parámetros
- builder
- GrammarBuilder
Elemento gramatical repetido que se va a anexar.
- minRepeat
- Int32
El número mínimo de veces que la entrada coincide con el elemento definido por builder debe producirse para constituir una coincidencia.
- maxRepeat
- Int32
El número máximo de veces que la entrada coincide con el elemento definido por builder puede producirse para constituir una coincidencia.
Ejemplos
En el ejemplo siguiente se crea una gramática de reconocimiento de voz para frases como "Llamar a James en el trabajo" y "Llamar a Anne en su teléfono celular", donde la palabra "teléfono" es opcional. GrammarBuilder y Choices los objetos se usan para construir la gramática. En el ejemplo se resalta el uso del Append método .
public static Grammar CreatePhonePhrase()
{
// Create alternatives for person names, locations, devices, and pronouns.
Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
Choices locationChoice = new Choices(new string[] {"home", "work"});
Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
Choices pronounChoice = new Choices(new string[] {"his", "her"});
// Create a phrase for the receiving device, which optionally contains the word "phone".
GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
devicePhrase.Append(deviceChoice);
devicePhrase.Append("phone", 0, 1);
// Create alternatives for phrases specifying a device or a location.
GrammarBuilder atLocation = new GrammarBuilder("at");
atLocation.Append(locationChoice);
GrammarBuilder onDevice = new GrammarBuilder("on");
onDevice.Append(devicePhrase);
Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});
// Build the final phrase.
GrammarBuilder callWho = new GrammarBuilder("Call");
callWho.Append(personChoice);
callWho.Append(howChoice);
// Create the Grammar object.
Grammar callGrammar = new Grammar(callWho);
callGrammar.Name = "Call Grammar";
return callGrammar;
}
Comentarios
El valor de minRepeat debe ser mayor o igual que 0 y menor o igual que el valor de maxRepeat.
Importante
Al anexar GrammarBuilder objetos que contienen SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.
Consulte también
Se aplica a
Append(String)
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
Anexa una frase a la secuencia actual de elementos de gramática.
public:
void Append(System::String ^ phrase);
public void Append(string phrase);
member this.Append : string -> unit
Public Sub Append (phrase As String)
Parámetros
- phrase
- String
Secuencia de palabras que se van a anexar.
Comentarios
phrase se agrega al final de la secuencia actual de elementos.
Consulte también
Se aplica a
Append(String, SubsetMatchingMode)
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
Anexa un elemento para un subconjunto de una frase a la secuencia actual de elementos de gramática.
public:
void Append(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public void Append(string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
member this.Append : string * System.Speech.Recognition.SubsetMatchingMode -> unit
Public Sub Append (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)
Parámetros
- phrase
- String
Secuencia de palabras que se van a anexar.
- subsetMatchingCriteria
- SubsetMatchingMode
Modo de coincidencia que usa la gramática para reconocer la frase.
Ejemplos
En el ejemplo siguiente se crea una gramática de reconocimiento de voz para cada SubsetMatchingMode valor. Por ejemplo, la gramática OrderedSubset generada reconoce las frases, "tres cuatro cinco" y "una tres cinco", y la gramática Subsequence reconoce la frase "tres cinco", pero no la frase , "una tres cinco".
private Grammar[] CreateSubsetMatchTest()
{
List<Grammar> grammars = new List<Grammar>(4);
string phrase = "one two three four five six";
foreach (SubsetMatchingMode mode in
Enum.GetValues(typeof(SubsetMatchingMode)))
{
GrammarBuilder gb = new GrammarBuilder();
gb.Append(phrase, mode);
Grammar grammar = new Grammar(gb);
grammar.Name = mode.ToString();
grammars.Add(grammar);
}
return grammars.ToArray();
}
Comentarios
El elemento subconjunto se agrega al final de la secuencia actual de elementos. Para obtener más información sobre cómo crear una gramática de reconocimiento de voz mediante cadenas, consulte Uso de cadenas para crear una gramática grammarBuilder.
Para obtener información detallada sobre el uso de modos de coincidencia de subconjuntos, vea System.Speech.Recognition.SubsetMatchingMode.
Consulte también
Se aplica a
Append(SemanticResultKey)
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
Anexa una clave semántica a la secuencia actual de elementos gramaticales.
public:
void Append(System::Speech::Recognition::SemanticResultKey ^ key);
public void Append(System.Speech.Recognition.SemanticResultKey key);
member this.Append : System.Speech.Recognition.SemanticResultKey -> unit
Public Sub Append (key As SemanticResultKey)
Parámetros
Clave semántica que se va a anexar.
Ejemplos
El ejemplo siguiente forma parte de una aplicación de consola para elegir ciudades de origen y destino para un vuelo. La aplicación reconoce frases como "Quiero volar desde Miami a Chicago". El controlador del SpeechRecognized evento usa para SemanticResultKey extraer el código del aeropuerto especificado en para SemanticResultValue las ciudades de origen y destino.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize an in-process speech recognition engine.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine())
{
// Create a Choices object and add cities and airport codes
// using SemanticResultValue objects.
Choices cities = new Choices();
cities.Add(new SemanticResultValue("Chicago", "ORD"));
cities.Add(new SemanticResultValue("Boston", "BOS"));
cities.Add(new SemanticResultValue("Miami", "MIA"));
cities.Add(new SemanticResultValue("Dallas", "DFW"));
// Build the phrase and add SemanticResultKeys.
GrammarBuilder chooseCities = new GrammarBuilder();
chooseCities.Append("I want to fly from");
chooseCities.Append(new SemanticResultKey("origin", cities));
chooseCities.Append("to");
chooseCities.Append(new SemanticResultKey("destination", cities));
// Build a Grammar object from the GrammarBuilder.
Grammar bookFlight = new Grammar(chooseCities);
bookFlight.Name = "Book Flight";
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Load the grammar object and start recognition.
recognizer.LoadGrammarAsync(bookFlight);
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
Console.WriteLine();
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The flight origin is " + e.Result.Semantics["origin"].Value);
Console.WriteLine(" The flight destination is " + e.Result.Semantics["destination"].Value);
}
}
}
Comentarios
key se agrega al final de la secuencia actual de elementos.
Importante
Al anexar SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.
Consulte también
Se aplica a
Append(SemanticResultValue)
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
Anexa un valor semántico a la secuencia actual de elementos de gramática.
public:
void Append(System::Speech::Recognition::SemanticResultValue ^ value);
public void Append(System.Speech.Recognition.SemanticResultValue value);
member this.Append : System.Speech.Recognition.SemanticResultValue -> unit
Public Sub Append (value As SemanticResultValue)
Parámetros
- value
- SemanticResultValue
Valor semántico que se va a anexar.
Ejemplos
El ejemplo siguiente forma parte de una aplicación de consola para elegir ciudades de origen y destino para un vuelo. La aplicación reconoce frases como "Quiero volar desde Miami a Chicago". El controlador del SpeechRecognized evento usa para SemanticResultKey extraer el código del aeropuerto especificado en para SemanticResultValue las ciudades de origen y destino.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize an in-process speech recognition engine.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine())
{
// Create GrammarBuilder objects and append SemanticResultValue objects
// that contain cities and airport codes.
GrammarBuilder chicago = new GrammarBuilder();
chicago.Append(new SemanticResultValue("Chicago", "ORD"));
GrammarBuilder boston = new GrammarBuilder();
boston.Append(new SemanticResultValue("Boston", "BOS"));
GrammarBuilder miami = new GrammarBuilder();
miami.Append(new SemanticResultValue("Miami", "MIA"));
GrammarBuilder dallas = new GrammarBuilder();
dallas.Append(new SemanticResultValue("Dallas", "DFW"));
// Create a Choices object and add the cities using implicit conversion from
// SemanticResultValue to GrammarBuilder.
Choices cities = new Choices();
cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));
// Build the phrase and add SemanticResultKeys.
GrammarBuilder chooseCities = new GrammarBuilder();
chooseCities.Append("I want to fly from");
chooseCities.Append(new SemanticResultKey("origin", cities));
chooseCities.Append("to");
chooseCities.Append(new SemanticResultKey("destination", cities));
// Build a Grammar object from the GrammarBuilder.
Grammar bookFlight = new Grammar(chooseCities);
bookFlight.Name = "Book Flight";
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Load the grammar object and start recognition.
recognizer.LoadGrammarAsync(bookFlight);
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
Console.WriteLine();
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The flight origin is " + e.Result.Semantics["origin"].Value);
Console.WriteLine(" The flight destination is " + e.Result.Semantics["destination"].Value);
}
}
}
Comentarios
value se agrega al final de la secuencia actual de elementos.
Importante
Al anexar SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.
Consulte también
Se aplica a
Append(GrammarBuilder)
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
Anexa un elemento de gramática a la secuencia actual de elementos gramaticales.
public:
void Append(System::Speech::Recognition::GrammarBuilder ^ builder);
public void Append(System.Speech.Recognition.GrammarBuilder builder);
member this.Append : System.Speech.Recognition.GrammarBuilder -> unit
Public Sub Append (builder As GrammarBuilder)
Parámetros
- builder
- GrammarBuilder
Elemento de gramática que se va a anexar.
Ejemplos
En el ejemplo siguiente se crea una gramática de reconocimiento de voz para frases como "Llamar a James en el trabajo" y "Llamar a Anne en su teléfono celular", donde la palabra "teléfono" es opcional. GrammarBuilder y Choices los objetos se usan para construir la gramática. En el ejemplo se resalta el uso del Append método .
public static Grammar CreatePhonePhrase()
{
// Create alternatives for person names, locations, devices, and pronouns.
Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
Choices locationChoice = new Choices(new string[] {"home", "work"});
Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
Choices pronounChoice = new Choices(new string[] {"his", "her"});
// Create a phrase for the receiving device, which optionally contains the word "phone".
GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
devicePhrase.Append(deviceChoice);
devicePhrase.Append("phone", 0, 1);
// Create alternatives for phrases specifying a device or a location.
GrammarBuilder atLocation = new GrammarBuilder("at");
atLocation.Append(locationChoice);
GrammarBuilder onDevice = new GrammarBuilder("on");
onDevice.Append(devicePhrase);
Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});
// Build the final phrase.
GrammarBuilder callWho = new GrammarBuilder("Call");
callWho.Append(personChoice);
callWho.Append(howChoice);
// Create the Grammar object.
Grammar callGrammar = new Grammar(callWho);
callGrammar.Name = "Call Grammar";
return callGrammar;
}
Comentarios
builder se agrega al final de la secuencia actual de elementos gramaticales.
Nota:
Al anexar GrammarBuilder objetos que contienen SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.
Consulte también
Se aplica a
Append(Choices)
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
- Source:
- GrammarBuilder.cs
Anexa un conjunto de alternativas a la secuencia actual de elementos gramaticales.
public:
void Append(System::Speech::Recognition::Choices ^ alternateChoices);
public void Append(System.Speech.Recognition.Choices alternateChoices);
member this.Append : System.Speech.Recognition.Choices -> unit
Public Sub Append (alternateChoices As Choices)
Parámetros
- alternateChoices
- Choices
Conjunto de alternativas que se van a anexar.
Ejemplos
En el ejemplo siguiente se crea una gramática de reconocimiento de voz para frases como "Llamar a James en el trabajo" y "Llamar a Anne en su teléfono celular", donde la palabra "teléfono" es opcional. En el ejemplo se resalta el uso del Append método .
public static Grammar CreatePhonePhrase()
{
// Create alternatives for person names, locations, devices, and pronouns.
Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
Choices locationChoice = new Choices(new string[] {"home", "work"});
Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
Choices pronounChoice = new Choices(new string[] {"his", "her"});
// Create a phrase for the receiving device, which optionally contains the word "phone".
GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
devicePhrase.Append(deviceChoice);
devicePhrase.Append("phone", 0, 1);
// Create alternatives for phrases specifying a device or a location.
GrammarBuilder atLocation = new GrammarBuilder("at");
atLocation.Append(locationChoice);
GrammarBuilder onDevice = new GrammarBuilder("on");
onDevice.Append(devicePhrase);
Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});
// Build the final phrase.
GrammarBuilder callWho = new GrammarBuilder("Call");
callWho.Append(personChoice);
callWho.Append(howChoice);
// Create the Grammar object.
Grammar callGrammar = new Grammar(callWho);
callGrammar.Name = "Call Grammar";
return callGrammar;
}
Comentarios
alternateChoices se agrega al final de la secuencia actual de elementos.
Importante
Al anexar Choices objetos que contienen SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.