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 de gramática à sequência de elementos de gramática atual.
Sobrecargas
Append(String, Int32, Int32) |
Acrescenta uma frase repetida à sequência de elementos de gramática atual. |
Append(GrammarBuilder, Int32, Int32) |
Acrescenta um elemento de gramática repetido à sequência de elementos de gramática atual. |
Append(String) |
Acrescenta uma frase à sequência de elementos de gramática atual. |
Append(String, SubsetMatchingMode) |
Acrescenta um elemento para um subconjunto de uma frase à sequência de elementos de gramática atual. |
Append(SemanticResultKey) |
Acrescenta uma chave semântica à sequência de elementos de gramática atual. |
Append(SemanticResultValue) |
Acrescenta um valor semântico à sequência de elementos de gramática atual. |
Append(GrammarBuilder) |
Acrescenta um elemento de gramática à sequência de elementos de gramática atual. |
Append(Choices) |
Acrescenta um conjunto de alternativas à sequência de elementos de gramática atual. |
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 acrescentar GrammarBuilderobjetos , String, Choices, SemanticResultKeye SemanticResultValue .
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.
Para obter mais informações sobre como criar e usar gramáticas de reconhecimento de fala, consulte Reconhecimento de Fala.
Append(String, Int32, Int32)
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
- Origem:
- GrammarBuilder.cs
Acrescenta uma frase repetida à sequência de elementos de gramática atual.
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 de palavras repetida a acrescentar.
- minRepeat
- Int32
O número mínimo de vezes que a entrada correspondente a phrase
deve ocorrer para constituir uma correspondência.
- maxRepeat
- Int32
O número máximo de vezes que a entrada correspondente a phrase
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
Acrescenta um elemento de gramática repetido à sequência de elementos de gramática atual.
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 de gramática repetido a acrescentar.
- minRepeat
- Int32
O número mínimo de vezes que a entrada correspondente ao elemento definido por builder
deve ocorrer para constituir uma correspondência.
- maxRepeat
- Int32
O número máximo de vezes que a entrada correspondente 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 poderiam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala poderá 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
Acrescenta uma frase à sequência de elementos de gramática atual.
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 ser acrescentada.
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
Acrescenta um elemento para um subconjunto de uma frase à sequência de elementos de gramática atual.
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 ser acrescentada.
- subsetMatchingCriteria
- SubsetMatchingMode
O modo correspondente 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 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 subconjunto é adicionado ao final da sequência atual de elementos. Para obter mais informações sobre como criar uma gramática de reconhecimento de fala usando cadeias de caracteres, consulte Usando cadeias de caracteres para criar uma gramática GrammarBuilder.
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
Acrescenta uma chave semântica à sequência de elementos de gramática atual.
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 acrescentar.
Exemplos
O exemplo a seguir faz parte de um aplicativo de console para escolher cidades de origem e de destino para um voo. O aplicativo reconhece frases como "Quero voar de Miami para Chicago". O manipulador do SpeechRecognized evento usa o SemanticResultKey para extrair o código do aeroporto especificado no SemanticResultValue para as cidades de origem 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 poderiam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala poderá 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
Acrescenta um valor semântico à sequência de elementos de gramática atual.
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 acrescentar.
Exemplos
O exemplo a seguir faz parte de um aplicativo de console para escolher cidades de origem e de destino para um voo. O aplicativo reconhece frases como "Quero voar de Miami para Chicago". O manipulador do SpeechRecognized evento usa o SemanticResultKey para extrair o código do aeroporto especificado no SemanticResultValue para as cidades de origem 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 poderiam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala poderá 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
Acrescenta um elemento de gramática à sequência de elementos de gramática atual.
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 de gramática a acrescentar.
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 poderiam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala poderá 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
Acrescenta um conjunto de alternativas à sequência de elementos de gramática atual.
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 acrescentar.
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 poderiam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala poderá gerar uma exceção se encontrar essas circunstâncias.