GrammarBuilder.Append Método

Definição

Acrescenta um elemento gramatical à sequência atual de elementos gramaticais.

Sobrecargas

Name 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.

Observações

Use estes métodos para adicionar elementos gramaticais a um .GrammarBuilder À medida que crias elementos gramaticais, podes adicioná-los ao construtor existente para desenvolver progressivamente as restrições para uma gramática de reconhecimento de voz. Cada elemento é adicionado ao final da sequência atual de elementos.

Este método tem sobrecargas para acrescentar GrammarBuilder, String, Choices, SemanticResultKey, e SemanticResultValue objetos.

Importante

O reconhecedor de fala pode lançar uma exceção ao usar uma gramática de reconhecimento de fala que contenha elementos semânticos duplicados com o mesmo nome de chave ou múltiplos elementos semânticos que possam modificar repetidamente o valor do mesmo elemento semântico.

Para mais informações sobre a construção e utilização de gramáticas de reconhecimento de voz, consulte Reconhecimento de Fala.

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 para acrescentar.

minRepeat
Int32

O número mínimo de vezes que essa 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 seguinte cria uma gramática de reconhecimento de fala para frases como "Liga ao James no trabalho" e "Liga à Anne no telemóvel dela", onde a palavra "telefone" é opcional. GrammarBuilder e Choices os objetos são usados para construir a gramática. O exemplo destaca a utilização 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;
}

Observações

O valor de minRepeat deve ser maior ou igual a 0 e menor ou igual ao valor de maxRepeat.

Ver 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 acrescentar.

minRepeat
Int32

O número mínimo de vezes que a entrada corresponde ao elemento definido por builder deve ocorrer para constituir uma correspondência.

maxRepeat
Int32

O número máximo de vezes que a entrada corresponde ao elemento definido por builder pode constituir uma correspondência.

Exemplos

O exemplo seguinte cria uma gramática de reconhecimento de fala para frases como "Liga ao James no trabalho" e "Liga à Anne no telemóvel dela", onde a palavra "telefone" é opcional. GrammarBuilder e Choices os objetos são usados para construir a gramática. O exemplo destaca a utilização 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;
}

Observações

O valor de minRepeat deve ser maior ou igual a 0 e menor ou igual ao valor de maxRepeat.

Importante

Ao adicionar GrammarBuilder objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, certifique-se de evitar criar elementos semânticos duplicados com o mesmo nome de chave ou múltiplos elementos semânticos que possam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode lançar uma exceção se se encontrar nestas circunstâncias.

Ver 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.

Observações

phrase é adicionado ao final da sequência atual de elementos.

Ver 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 seguinte 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();
}

Observações

O subconjunto é adicionado ao final da sequência atual de elementos. Para mais informações sobre como construir uma gramática de reconhecimento de fala usando strings, veja Usar Strings para Criar uma Gramática GrammarBuilder.

Para informações detalhadas sobre o uso de modos de correspondência de subconjuntos, veja System.Speech.Recognition.SubsetMatchingMode.

Ver 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

key
SemanticResultKey

A chave semântica a acrescentar.

Exemplos

O exemplo seguinte faz parte de uma aplicação de consola para escolher cidades de origem e destino para um voo. A candidatura reconhece frases como "Quero voar de Miami para Chicago." O handler do SpeechRecognized evento usa o SemanticResultKey para extrair o código do aeroporto especificado nas SemanticResultValue 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);
    }
  }
}

Observações

key é adicionado ao final da sequência atual de elementos.

Importante

Quando adiciona SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, certifique-se de evitar criar elementos semânticos duplicados com o mesmo nome de chave ou múltiplos elementos semânticos que possam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode lançar uma exceção se se encontrar nestas circunstâncias.

Ver 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 acrescentar.

Exemplos

O exemplo seguinte faz parte de uma aplicação de consola para escolher cidades de origem e destino para um voo. A candidatura reconhece frases como "Quero voar de Miami para Chicago." O handler do SpeechRecognized evento usa o SemanticResultKey para extrair o código do aeroporto especificado nas SemanticResultValue 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);
    }
  }
}

Observações

value é adicionado ao final da sequência atual de elementos.

Importante

Quando adiciona SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, certifique-se de evitar criar elementos semânticos duplicados com o mesmo nome de chave ou múltiplos elementos semânticos que possam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode lançar uma exceção se se encontrar nestas circunstâncias.

Ver 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 acrescentar.

Exemplos

O exemplo seguinte cria uma gramática de reconhecimento de fala para frases como "Liga ao James no trabalho" e "Liga à Anne no telemóvel dela", onde a palavra "telefone" é opcional. GrammarBuilder e Choices os objetos são usados para construir a gramática. O exemplo destaca a utilização 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;
}

Observações

builder é adicionado ao final da sequência atual de elementos gramaticais.

Note

Ao adicionar GrammarBuilder objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, certifique-se de evitar criar elementos semânticos duplicados com o mesmo nome de chave ou múltiplos elementos semânticos que possam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode lançar uma exceção se se encontrar nestas circunstâncias.

Ver 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 para acrescentar.

Exemplos

O exemplo seguinte cria uma gramática de reconhecimento de fala para frases como "Liga ao James no trabalho" e "Liga à Anne no telemóvel dela", onde a palavra "telefone" é opcional. O exemplo destaca a utilização 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;
}

Observações

alternateChoices é adicionado ao final da sequência atual de elementos.

Importante

Ao adicionar Choices objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, certifique-se de evitar criar elementos semânticos duplicados com o mesmo nome de chave ou múltiplos elementos semânticos que possam modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode lançar uma exceção se se encontrar nestas circunstâncias.

Aplica-se a