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 de gramática.
Sobrecargas
Append(String, Int32, Int32) |
Anexa una frase repetida 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(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 de gramática. |
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 de gramática. |
Append(Choices) |
Anexa un conjunto de alternativas a la secuencia actual de elementos de gramática. |
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 , ChoicesString, , 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
Anexa una frase repetida a la secuencia actual de elementos de gramática.
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
La secuencia repetida de palabras para anexar.
- minRepeat
- Int32
El número mínimo de veces que la entrada coincidente phrase
debe aparecer para que constituya una coincidencia.
- maxRepeat
- Int32
El número máximo de veces que la entrada coincidente phrase
puede aparecer para que constituya 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 móvil", 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
Anexa un elemento de gramática repetido a la secuencia actual de elementos de gramática.
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
El elemento de gramática repetido para anexar.
- minRepeat
- Int32
El número mínimo de veces que la entrada coincidente con el elemento definido por builder
debe aparecer para que constituya una coincidencia.
- maxRepeat
- Int32
El número máximo de veces que la entrada coincidente con el elemento definido por builder
puede aparecer para que constituya 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 móvil", 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
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
La secuencia de palabras para 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
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
La secuencia de palabras para anexar.
- subsetMatchingCriteria
- SubsetMatchingMode
El modo coincidente que la gramática usa 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 generada reconoce las frases, "tres cinco" y "una tres cinco", y la gramática OrderedSubset
reconoce la frase Subsequence
"tres cinco", pero no la frase , "uno 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
Anexa una clave semántica a la secuencia actual de elementos de gramática.
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
La clave semántica para 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
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 agregar.
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
Anexa un elemento de gramática a la secuencia actual de elementos de gramática.
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
El elemento de gramática para 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 móvil", 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
Anexa un conjunto de alternativas a la secuencia actual de elementos de gramática.
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
El conjunto de alternativas para 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 móvil", 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.