GrammarBuilder.Append Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Acrescenta um elemento gramatical à sequência atual de elementos gramaticais.
Sobrecargas
| Nome | Description |
|---|---|
| Append(String, Int32, Int32) |
Acrescenta uma frase repetida à sequência atual de elementos gramaticais. |
| Append(GrammarBuilder, Int32, Int32) |
Acrescenta um elemento gramatical repetido à sequência atual de elementos gramaticais. |
| Append(String) |
Acrescenta uma frase à sequência atual de elementos gramaticais. |
| Append(String, SubsetMatchingMode) |
Acrescenta um elemento para um subconjunto de uma frase à sequência atual de elementos gramaticais. |
| Append(SemanticResultKey) |
Acrescenta uma chave semântica à sequência atual de elementos gramaticais. |
| Append(SemanticResultValue) |
Acrescenta um valor semântico à sequência atual de elementos gramaticais. |
| Append(GrammarBuilder) |
Acrescenta um elemento gramatical à sequência atual de elementos gramaticais. |
| Append(Choices) |
Acrescenta um conjunto de alternativas à sequência atual de elementos gramaticais. |
Comentários
Use esses métodos para acrescentar elementos gramaticais a um existente GrammarBuilder. Ao criar elementos gramaticais, você pode anexá-los ao construtor existente para desenvolver progressivamente as restrições para uma gramática de reconhecimento de fala. Cada elemento é adicionado ao final da sequência atual de elementos.
Esse método tem sobrecargas para acrescentarGrammarBuilder, String, Choicese SemanticResultKeySemanticResultValue objetos.
Importante
O reconhecedor de fala pode gerar uma exceção ao usar uma gramática de reconhecimento de fala que contém elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que poderiam modificar repetidamente o valor do mesmo elemento semântico.
Append(String, Int32, Int32)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta uma frase repetida à sequência atual de elementos gramaticais.
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
A sequência repetida de palavras a acrescentar.
- minRepeat
- Int32
O número mínimo de vezes que a correspondência phrase de entrada deve ocorrer para constituir uma correspondência.
- maxRepeat
- Int32
O número máximo de vezes que a correspondência phrase de entrada pode ocorrer para constituir uma correspondência.
Exemplos
O exemplo a seguir cria uma gramática de reconhecimento de fala para frases como "Chamar James no trabalho" e "Chamar Anne em seu celular", em que a palavra "telefone" é opcional. GrammarBuilder e Choices objetos são usados para construir a gramática. O exemplo realça o uso do 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;
}
Comentários
O valor de minRepeat deve ser maior ou igual a 0 e menor ou igual ao valor de maxRepeat.
Confira também
Aplica-se a
Append(GrammarBuilder, Int32, Int32)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta um elemento gramatical repetido à sequência atual de elementos gramaticais.
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
O elemento gramatical repetido a ser acrescentado.
- minRepeat
- Int32
O número mínimo de vezes que a entrada que corresponde ao elemento definido deve builder ocorrer para constituir uma correspondência.
- maxRepeat
- Int32
O número máximo de vezes que a entrada que corresponde ao elemento definido por builder pode ocorrer para constituir uma correspondência.
Exemplos
O exemplo a seguir cria uma gramática de reconhecimento de fala para frases como "Chamar James no trabalho" e "Chamar Anne em seu celular", em que a palavra "telefone" é opcional. GrammarBuilder e Choices objetos são usados para construir a gramática. O exemplo realça o uso do 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;
}
Comentários
O valor de minRepeat deve ser maior ou igual a 0 e menor ou igual ao valor de maxRepeat.
Importante
Ao acrescentar GrammarBuilder objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.
Confira também
Aplica-se a
Append(String)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta uma frase à sequência atual de elementos gramaticais.
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
A sequência de palavras a acrescentar.
Comentários
phrase é adicionado ao final da sequência atual de elementos.
Confira também
Aplica-se a
Append(String, SubsetMatchingMode)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta um elemento para um subconjunto de uma frase à sequência atual de elementos gramaticais.
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
A sequência de palavras a acrescentar.
- subsetMatchingCriteria
- SubsetMatchingMode
O modo de correspondência que a gramática usa para reconhecer a frase.
Exemplos
O exemplo a seguir cria uma gramática de reconhecimento de fala para cada SubsetMatchingMode valor. Por exemplo, a gramática OrderedSubset gerada reconhece as frases "três quatro cinco" e "um três cinco", e a gramática Subsequence reconhece a frase "três quatro e cinco", mas não a frase "um três 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();
}
Comentários
O elemento de subconjunto é adicionado ao final da sequência atual de elementos.
Para obter informações detalhadas sobre o uso de modos de correspondência de subconjunto, consulte System.Speech.Recognition.SubsetMatchingMode.
Confira também
Aplica-se a
Append(SemanticResultKey)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta uma chave semântica à sequência atual de elementos gramaticais.
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
A chave semântica a ser acrescentada.
Exemplos
O exemplo a seguir faz parte de um aplicativo de console para escolher cidades de origem e destino para um voo. O aplicativo reconhece frases como "Quero voar de Miami para Chicago." O manipulador do SpeechRecognized evento usa o SemanticResultKey código do aeroporto especificado nas cidades de origem SemanticResultValue e 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);
}
}
}
Comentários
key é adicionado ao final da sequência atual de elementos.
Importante
Ao acrescentar SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.
Confira também
Aplica-se a
Append(SemanticResultValue)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta um valor semântico à sequência atual de elementos gramaticais.
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
O valor semântico a ser acrescentado.
Exemplos
O exemplo a seguir faz parte de um aplicativo de console para escolher cidades de origem e destino para um voo. O aplicativo reconhece frases como "Quero voar de Miami para Chicago." O manipulador do SpeechRecognized evento usa o SemanticResultKey código do aeroporto especificado nas cidades de origem SemanticResultValue e 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);
}
}
}
Comentários
value é adicionado ao final da sequência atual de elementos.
Importante
Ao acrescentar SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.
Confira também
Aplica-se a
Append(GrammarBuilder)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta um elemento gramatical à sequência atual de elementos gramaticais.
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
O elemento gramatical a ser acrescentado.
Exemplos
O exemplo a seguir cria uma gramática de reconhecimento de fala para frases como "Chamar James no trabalho" e "Chamar Anne em seu celular", em que a palavra "telefone" é opcional. GrammarBuilder e Choices objetos são usados para construir a gramática. O exemplo realça o uso do 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;
}
Comentários
builder é adicionado ao final da sequência atual de elementos gramaticais.
Observação
Ao acrescentar GrammarBuilder objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.
Confira também
Aplica-se a
Append(Choices)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta um conjunto de alternativas à sequência atual de elementos gramaticais.
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
O conjunto de alternativas a serem acrescentadas.
Exemplos
O exemplo a seguir cria uma gramática de reconhecimento de fala para frases como "Chamar James no trabalho" e "Chamar Anne em seu celular", em que a palavra "telefone" é opcional. O exemplo realça o uso do 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;
}
Comentários
alternateChoices é adicionado ao final da sequência atual de elementos.
Importante
Ao acrescentar Choices objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.