Compartir vía


GrammarBuilder.Append Método

Definición

Anexa un elemento de gramática a la secuencia actual de elementos gramaticales.

Sobrecargas

Nombre Description
Append(String, Int32, Int32)

Anexa una frase repetida a la secuencia actual de elementos gramaticales.

Append(GrammarBuilder, Int32, Int32)

Anexa un elemento gramatical repetido a la secuencia actual de elementos gramaticales.

Append(String)

Anexa una frase a la secuencia actual de elementos de gramática.

Append(String, SubsetMatchingMode)

Anexa un elemento para un subconjunto de una frase a la secuencia actual de elementos de gramática.

Append(SemanticResultKey)

Anexa una clave semántica a la secuencia actual de elementos gramaticales.

Append(SemanticResultValue)

Anexa un valor semántico a la secuencia actual de elementos de gramática.

Append(GrammarBuilder)

Anexa un elemento de gramática a la secuencia actual de elementos gramaticales.

Append(Choices)

Anexa un conjunto de alternativas a la secuencia actual de elementos gramaticales.

Comentarios

Use estos métodos para anexar elementos gramaticales a un existente GrammarBuilder. A medida que crea elementos gramaticales, puede anexarlos al generador existente para desarrollar progresivamente las restricciones de una gramática de reconocimiento de voz. Cada elemento se agrega al final de la secuencia actual de elementos.

Este método tiene sobrecargas para anexar GrammarBuilderobjetos , String, Choices, SemanticResultKeyy SemanticResultValue .

Importante

El reconocedor de voz puede producir una excepción cuando se usa una gramática de reconocimiento de voz que contiene elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente el valor del mismo elemento semántico.

Para obtener más información sobre cómo crear y usar gramáticas de reconocimiento de voz, consulte Reconocimiento de voz.

Append(String, Int32, Int32)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Anexa una frase repetida a la secuencia actual de elementos gramaticales.

public:
 void Append(System::String ^ phrase, int minRepeat, int maxRepeat);
public void Append(string phrase, int minRepeat, int maxRepeat);
member this.Append : string * int * int -> unit
Public Sub Append (phrase As String, minRepeat As Integer, maxRepeat As Integer)

Parámetros

phrase
String

Secuencia repetida de palabras que se van a anexar.

minRepeat
Int32

El número mínimo de veces que debe producirse la coincidencia phrase de entrada para constituir una coincidencia.

maxRepeat
Int32

Número máximo de veces que la coincidencia phrase de entrada puede producirse para constituir una coincidencia.

Ejemplos

En el ejemplo siguiente se crea una gramática de reconocimiento de voz para frases como "Llamar a James en el trabajo" y "Llamar a Anne en su teléfono celular", donde la palabra "teléfono" es opcional. GrammarBuilder y Choices los objetos se usan para construir la gramática. En el ejemplo se resalta el uso del Append método .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Comentarios

El valor de minRepeat debe ser mayor o igual que 0 y menor o igual que el valor de maxRepeat.

Consulte también

Se aplica a

Append(GrammarBuilder, Int32, Int32)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Anexa un elemento gramatical repetido a la secuencia actual de elementos gramaticales.

public:
 void Append(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public void Append(System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
member this.Append : System.Speech.Recognition.GrammarBuilder * int * int -> unit
Public Sub Append (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)

Parámetros

builder
GrammarBuilder

Elemento gramatical repetido que se va a anexar.

minRepeat
Int32

El número mínimo de veces que la entrada coincide con el elemento definido por builder debe producirse para constituir una coincidencia.

maxRepeat
Int32

El número máximo de veces que la entrada coincide con el elemento definido por builder puede producirse para constituir una coincidencia.

Ejemplos

En el ejemplo siguiente se crea una gramática de reconocimiento de voz para frases como "Llamar a James en el trabajo" y "Llamar a Anne en su teléfono celular", donde la palabra "teléfono" es opcional. GrammarBuilder y Choices los objetos se usan para construir la gramática. En el ejemplo se resalta el uso del Append método .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Comentarios

El valor de minRepeat debe ser mayor o igual que 0 y menor o igual que el valor de maxRepeat.

Importante

Al anexar GrammarBuilder objetos que contienen SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.

Consulte también

Se aplica a

Append(String)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Anexa una frase a la secuencia actual de elementos de gramática.

public:
 void Append(System::String ^ phrase);
public void Append(string phrase);
member this.Append : string -> unit
Public Sub Append (phrase As String)

Parámetros

phrase
String

Secuencia de palabras que se van a anexar.

Comentarios

phrase se agrega al final de la secuencia actual de elementos.

Consulte también

Se aplica a

Append(String, SubsetMatchingMode)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Anexa un elemento para un subconjunto de una frase a la secuencia actual de elementos de gramática.

public:
 void Append(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public void Append(string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
member this.Append : string * System.Speech.Recognition.SubsetMatchingMode -> unit
Public Sub Append (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)

Parámetros

phrase
String

Secuencia de palabras que se van a anexar.

subsetMatchingCriteria
SubsetMatchingMode

Modo de coincidencia que usa la gramática para reconocer la frase.

Ejemplos

En el ejemplo siguiente se crea una gramática de reconocimiento de voz para cada SubsetMatchingMode valor. Por ejemplo, la gramática OrderedSubset generada reconoce las frases, "tres cuatro cinco" y "una tres cinco", y la gramática Subsequence reconoce la frase "tres cinco", pero no la frase , "una tres cinco".

private Grammar[] CreateSubsetMatchTest()
{
  List<Grammar> grammars = new List<Grammar>(4);

  string phrase = "one two three four five six";
  foreach (SubsetMatchingMode mode in
    Enum.GetValues(typeof(SubsetMatchingMode)))
  {
    GrammarBuilder gb = new GrammarBuilder();
    gb.Append(phrase, mode);

    Grammar grammar = new Grammar(gb);
    grammar.Name = mode.ToString();
    grammars.Add(grammar);
  }

  return grammars.ToArray();
}

Comentarios

El elemento subconjunto se agrega al final de la secuencia actual de elementos. Para obtener más información sobre cómo crear una gramática de reconocimiento de voz mediante cadenas, consulte Uso de cadenas para crear una gramática grammarBuilder.

Para obtener información detallada sobre el uso de modos de coincidencia de subconjuntos, vea System.Speech.Recognition.SubsetMatchingMode.

Consulte también

Se aplica a

Append(SemanticResultKey)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Anexa una clave semántica a la secuencia actual de elementos gramaticales.

public:
 void Append(System::Speech::Recognition::SemanticResultKey ^ key);
public void Append(System.Speech.Recognition.SemanticResultKey key);
member this.Append : System.Speech.Recognition.SemanticResultKey -> unit
Public Sub Append (key As SemanticResultKey)

Parámetros

key
SemanticResultKey

Clave semántica que se va a anexar.

Ejemplos

El ejemplo siguiente forma parte de una aplicación de consola para elegir ciudades de origen y destino para un vuelo. La aplicación reconoce frases como "Quiero volar desde Miami a Chicago". El controlador del SpeechRecognized evento usa para SemanticResultKey extraer el código del aeropuerto especificado en para SemanticResultValue las ciudades de origen y destino.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    static void Main(string[] args)

    // Initialize an in-process speech recognition engine.
    {
      using (SpeechRecognitionEngine recognizer =
         new SpeechRecognitionEngine())
      {

        // Create a Choices object and add  cities and airport codes
        // using SemanticResultValue objects.
        Choices cities = new Choices();
        cities.Add(new SemanticResultValue("Chicago", "ORD"));
        cities.Add(new SemanticResultValue("Boston", "BOS"));
        cities.Add(new SemanticResultValue("Miami", "MIA"));
        cities.Add(new SemanticResultValue("Dallas", "DFW"));

        // Build the phrase and add SemanticResultKeys.
        GrammarBuilder chooseCities = new GrammarBuilder();
        chooseCities.Append("I want to fly from");
        chooseCities.Append(new SemanticResultKey("origin", cities));
        chooseCities.Append("to");
        chooseCities.Append(new SemanticResultKey("destination", cities));

        // Build a Grammar object from the GrammarBuilder.
        Grammar bookFlight = new Grammar(chooseCities);
        bookFlight.Name = "Book Flight";

        // Add a handler for the LoadGrammarCompleted event.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

        // Add a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Configure the input to the recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Load the grammar object and start recognition.
        recognizer.LoadGrammarAsync(bookFlight);
        recognizer.RecognizeAsync();

        // Keep the console window open.
        Console.ReadLine();
      }
    }

    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
      Console.WriteLine();
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Speech recognized:  " + e.Result.Text);
      Console.WriteLine();
      Console.WriteLine("Semantic results:");
      Console.WriteLine("  The flight origin is " + e.Result.Semantics["origin"].Value);
      Console.WriteLine("  The flight destination is " + e.Result.Semantics["destination"].Value);
    }
  }
}

Comentarios

key se agrega al final de la secuencia actual de elementos.

Importante

Al anexar SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.

Consulte también

Se aplica a

Append(SemanticResultValue)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Anexa un valor semántico a la secuencia actual de elementos de gramática.

public:
 void Append(System::Speech::Recognition::SemanticResultValue ^ value);
public void Append(System.Speech.Recognition.SemanticResultValue value);
member this.Append : System.Speech.Recognition.SemanticResultValue -> unit
Public Sub Append (value As SemanticResultValue)

Parámetros

value
SemanticResultValue

Valor semántico que se va a anexar.

Ejemplos

El ejemplo siguiente forma parte de una aplicación de consola para elegir ciudades de origen y destino para un vuelo. La aplicación reconoce frases como "Quiero volar desde Miami a Chicago". El controlador del SpeechRecognized evento usa para SemanticResultKey extraer el código del aeropuerto especificado en para SemanticResultValue las ciudades de origen y destino.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    static void Main(string[] args)

    // Initialize an in-process speech recognition engine.
    {
      using (SpeechRecognitionEngine recognizer =
         new SpeechRecognitionEngine())
      {

        // Create GrammarBuilder objects and append SemanticResultValue objects
        // that contain cities and airport codes.

        GrammarBuilder chicago = new GrammarBuilder();
        chicago.Append(new SemanticResultValue("Chicago", "ORD"));

        GrammarBuilder boston = new GrammarBuilder();
        boston.Append(new SemanticResultValue("Boston", "BOS"));

        GrammarBuilder miami = new GrammarBuilder();
        miami.Append(new SemanticResultValue("Miami", "MIA"));

        GrammarBuilder dallas = new GrammarBuilder();
        dallas.Append(new SemanticResultValue("Dallas", "DFW"));

        // Create a Choices object and add the cities using implicit conversion from
        // SemanticResultValue to GrammarBuilder.
        Choices cities = new Choices();
        cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));

        // Build the phrase and add SemanticResultKeys.
        GrammarBuilder chooseCities = new GrammarBuilder();
        chooseCities.Append("I want to fly from");
        chooseCities.Append(new SemanticResultKey("origin", cities));
        chooseCities.Append("to");
        chooseCities.Append(new SemanticResultKey("destination", cities));

        // Build a Grammar object from the GrammarBuilder.
        Grammar bookFlight = new Grammar(chooseCities);
        bookFlight.Name = "Book Flight";

        // Add a handler for the LoadGrammarCompleted event.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

        // Add a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Configure the input to the recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Load the grammar object and start recognition.
        recognizer.LoadGrammarAsync(bookFlight);
        recognizer.RecognizeAsync();

        // Keep the console window open.
        Console.ReadLine();
      }
    }
    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
      Console.WriteLine();
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Speech recognized:  " + e.Result.Text);
      Console.WriteLine();
      Console.WriteLine("Semantic results:");
      Console.WriteLine("  The flight origin is " + e.Result.Semantics["origin"].Value);
      Console.WriteLine("  The flight destination is " + e.Result.Semantics["destination"].Value);
    }
  }
}

Comentarios

value se agrega al final de la secuencia actual de elementos.

Importante

Al anexar SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.

Consulte también

Se aplica a

Append(GrammarBuilder)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Anexa un elemento de gramática a la secuencia actual de elementos gramaticales.

public:
 void Append(System::Speech::Recognition::GrammarBuilder ^ builder);
public void Append(System.Speech.Recognition.GrammarBuilder builder);
member this.Append : System.Speech.Recognition.GrammarBuilder -> unit
Public Sub Append (builder As GrammarBuilder)

Parámetros

builder
GrammarBuilder

Elemento de gramática que se va a anexar.

Ejemplos

En el ejemplo siguiente se crea una gramática de reconocimiento de voz para frases como "Llamar a James en el trabajo" y "Llamar a Anne en su teléfono celular", donde la palabra "teléfono" es opcional. GrammarBuilder y Choices los objetos se usan para construir la gramática. En el ejemplo se resalta el uso del Append método .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Comentarios

builder se agrega al final de la secuencia actual de elementos gramaticales.

Nota:

Al anexar GrammarBuilder objetos que contienen SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.

Consulte también

Se aplica a

Append(Choices)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Anexa un conjunto de alternativas a la secuencia actual de elementos gramaticales.

public:
 void Append(System::Speech::Recognition::Choices ^ alternateChoices);
public void Append(System.Speech.Recognition.Choices alternateChoices);
member this.Append : System.Speech.Recognition.Choices -> unit
Public Sub Append (alternateChoices As Choices)

Parámetros

alternateChoices
Choices

Conjunto de alternativas que se van a anexar.

Ejemplos

En el ejemplo siguiente se crea una gramática de reconocimiento de voz para frases como "Llamar a James en el trabajo" y "Llamar a Anne en su teléfono celular", donde la palabra "teléfono" es opcional. En el ejemplo se resalta el uso del Append método .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Comentarios

alternateChoices se agrega al final de la secuencia actual de elementos.

Importante

Al anexar Choices objetos que contienen SemanticResultValue instancias o SemanticResultKey a un GrammarBuilder objeto, asegúrese de evitar crear elementos semánticos duplicados con el mismo nombre de clave o varios elementos semánticos que podrían modificar repetidamente la Value propiedad de un SemanticValue objeto. El reconocedor de voz puede producir una excepción si encuentra estas circunstancias.

Se aplica a