GrammarBuilder.Append Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Lägger till ett grammatikelement i den aktuella sekvensen med grammatikelement.
Överlagringar
| Name | Description |
|---|---|
| Append(String, Int32, Int32) |
Lägger till en upprepad fras i den aktuella sekvensen med grammatikelement. |
| Append(GrammarBuilder, Int32, Int32) |
Lägger till ett upprepat grammatikelement i den aktuella sekvensen med grammatikelement. |
| Append(String) |
Lägger till en fras i den aktuella sekvensen med grammatikelement. |
| Append(String, SubsetMatchingMode) |
Lägger till ett element för en delmängd av en fras i den aktuella sekvensen med grammatikelement. |
| Append(SemanticResultKey) |
Lägger till en semantisk nyckel i den aktuella sekvensen med grammatikelement. |
| Append(SemanticResultValue) |
Lägger till ett semantiskt värde i den aktuella sekvensen med grammatikelement. |
| Append(GrammarBuilder) |
Lägger till ett grammatikelement i den aktuella sekvensen med grammatikelement. |
| Append(Choices) |
Lägger till en uppsättning alternativ till den aktuella sekvensen med grammatikelement. |
Kommentarer
Använd dessa metoder för att lägga till grammatikelement i en befintlig GrammarBuilder. När du skapar grammatikelement kan du lägga till dem i den befintliga byggaren för att gradvis utveckla begränsningarna för en grammatik för taligenkänning. Varje element läggs till i slutet av den aktuella sekvensen med element.
Den här metoden har överlagringar för att lägga till GrammarBuilder, String, Choices, SemanticResultKeyoch SemanticResultValue objekt.
Important
Taligenkänningen kan utlösa ett undantag när du använder en taligenkännings grammatik som innehåller dubbletter av semantiska element med samma nyckelnamn eller flera semantiska element som upprepade gånger kan ändra värdet för samma semantiska element.
Mer information om hur du skapar och använder grammatik för taligenkänning finns i Taligenkänning.
Append(String, Int32, Int32)
Lägger till en upprepad fras i den aktuella sekvensen med grammatikelement.
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)
Parametrar
- phrase
- String
Den upprepade ordsekvensen som ska läggas till.
- minRepeat
- Int32
Det minsta antalet gånger som indatamatchning phrase måste ske för att utgöra en matchning.
- maxRepeat
- Int32
Det maximala antalet gånger som indatamatchning phrase kan ske för att utgöra en matchning.
Exempel
I följande exempel skapas en grammatik för taligenkänning för fraser som "Ring James på jobbet" och "Ring Anne på hennes mobiltelefon", där ordet "telefon" är valfritt. GrammarBuilder och Choices objekt används för att konstruera grammatiken. Exemplet visar hur metoden används Append .
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;
}
Kommentarer
Värdet minRepeat för måste vara större än eller lika med 0 och mindre än eller lika med värdet för maxRepeat.
Se även
Gäller för
Append(GrammarBuilder, Int32, Int32)
Lägger till ett upprepat grammatikelement i den aktuella sekvensen med grammatikelement.
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)
Parametrar
- builder
- GrammarBuilder
Det upprepade grammatikelementet som ska läggas till.
- minRepeat
- Int32
Det minsta antalet gånger som indata matchar elementet som definierats av builder måste ske för att utgöra en matchning.
- maxRepeat
- Int32
Det maximala antalet gånger som indata matchar elementet som definierats av builder kan inträffa för att utgöra en matchning.
Exempel
I följande exempel skapas en grammatik för taligenkänning för fraser som "Ring James på jobbet" och "Ring Anne på hennes mobiltelefon", där ordet "telefon" är valfritt. GrammarBuilder och Choices objekt används för att konstruera grammatiken. Exemplet visar hur metoden används Append .
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;
}
Kommentarer
Värdet minRepeat för måste vara större än eller lika med 0 och mindre än eller lika med värdet för maxRepeat.
Important
När du lägger till GrammarBuilder objekt som innehåller SemanticResultValue eller SemanticResultKey instanser i ett GrammarBuilder objekt bör du undvika att skapa dubbletter av semantiska element med samma nyckelnamn eller flera semantiska element som upprepade gånger kan ändra egenskapen för Value ett SemanticValue objekt. Taligenkänningen kan utlösa ett undantag om den stöter på dessa omständigheter.
Se även
Gäller för
Append(String)
Lägger till en fras i den aktuella sekvensen med grammatikelement.
public:
void Append(System::String ^ phrase);
public void Append(string phrase);
member this.Append : string -> unit
Public Sub Append (phrase As String)
Parametrar
- phrase
- String
Ordsekvensen som ska läggas till.
Kommentarer
phrase läggs till i slutet av den aktuella sekvensen med element.
Se även
Gäller för
Append(String, SubsetMatchingMode)
Lägger till ett element för en delmängd av en fras i den aktuella sekvensen med grammatikelement.
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)
Parametrar
- phrase
- String
Ordsekvensen som ska läggas till.
- subsetMatchingCriteria
- SubsetMatchingMode
Det matchande läge som grammatiken använder för att identifiera frasen.
Exempel
I följande exempel skapas en grammatik för taligenkänning för varje SubsetMatchingMode värde. Till exempel känner den genererade grammatiken OrderedSubset igen fraserna "tre fyra fem" och "en tre fem" och grammatiken Subsequence känner igen frasen "tre fyra fem", men inte frasen "en tre fem".
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();
}
Kommentarer
Delmängdselementet läggs till i slutet av den aktuella sekvensen med element. Mer information om hur du skapar en grammatik för taligenkänning med hjälp av strängar finns i Använda strängar för att skapa en grammatikskapande grammatik.
Detaljerad information om användningen av matchningslägen för delmängder finns i System.Speech.Recognition.SubsetMatchingMode.
Se även
Gäller för
Append(SemanticResultKey)
Lägger till en semantisk nyckel i den aktuella sekvensen med grammatikelement.
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)
Parametrar
Den semantiska nyckeln som ska läggas till.
Exempel
Följande exempel är en del av ett konsolprogram för att välja ursprung och målstäder för en flygning. Programmet känner igen fraser som "Jag vill flyga från Miami till Chicago.". Hanteraren för SpeechRecognized händelsen använder SemanticResultKey för att extrahera flygplatskoden som anges i SemanticResultValue för ursprungs- och målstäderna.
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);
}
}
}
Kommentarer
key läggs till i slutet av den aktuella sekvensen med element.
Important
När du lägger till SemanticResultValue eller SemanticResultKey instanser i ett GrammarBuilder objekt bör du undvika att skapa dubbletter av semantiska element med samma nyckelnamn eller flera semantiska element som upprepade gånger kan ändra egenskapen för Value ett SemanticValue objekt. Taligenkänningen kan utlösa ett undantag om den stöter på dessa omständigheter.
Se även
Gäller för
Append(SemanticResultValue)
Lägger till ett semantiskt värde i den aktuella sekvensen med grammatikelement.
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)
Parametrar
- value
- SemanticResultValue
Det semantiska värdet som ska läggas till.
Exempel
Följande exempel är en del av ett konsolprogram för att välja ursprung och målstäder för en flygning. Programmet känner igen fraser som "Jag vill flyga från Miami till Chicago.". Hanteraren för SpeechRecognized händelsen använder SemanticResultKey för att extrahera flygplatskoden som anges i SemanticResultValue för ursprungs- och målstäderna.
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);
}
}
}
Kommentarer
value läggs till i slutet av den aktuella sekvensen med element.
Important
När du lägger till SemanticResultValue eller SemanticResultKey instanser i ett GrammarBuilder objekt bör du undvika att skapa dubbletter av semantiska element med samma nyckelnamn eller flera semantiska element som upprepade gånger kan ändra egenskapen för Value ett SemanticValue objekt. Taligenkänningen kan utlösa ett undantag om den stöter på dessa omständigheter.
Se även
Gäller för
Append(GrammarBuilder)
Lägger till ett grammatikelement i den aktuella sekvensen med grammatikelement.
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)
Parametrar
- builder
- GrammarBuilder
Grammatikelementet som ska läggas till.
Exempel
I följande exempel skapas en grammatik för taligenkänning för fraser som "Ring James på jobbet" och "Ring Anne på hennes mobiltelefon", där ordet "telefon" är valfritt. GrammarBuilder och Choices objekt används för att konstruera grammatiken. Exemplet visar hur metoden används Append .
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;
}
Kommentarer
builder läggs till i slutet av den aktuella sekvensen med grammatikelement.
Note
När du lägger till GrammarBuilder objekt som innehåller SemanticResultValue eller SemanticResultKey instanser i ett GrammarBuilder objekt bör du undvika att skapa dubbletter av semantiska element med samma nyckelnamn eller flera semantiska element som upprepade gånger kan ändra egenskapen för Value ett SemanticValue objekt. Taligenkänningen kan utlösa ett undantag om den stöter på dessa omständigheter.
Se även
Gäller för
Append(Choices)
Lägger till en uppsättning alternativ till den aktuella sekvensen med grammatikelement.
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)
Parametrar
- alternateChoices
- Choices
Uppsättningen alternativ för att lägga till.
Exempel
I följande exempel skapas en grammatik för taligenkänning för fraser som "Ring James på jobbet" och "Ring Anne på hennes mobiltelefon", där ordet "telefon" är valfritt. Exemplet visar hur metoden används Append .
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;
}
Kommentarer
alternateChoices läggs till i slutet av den aktuella sekvensen med element.
Important
När du lägger till Choices objekt som innehåller SemanticResultValue eller SemanticResultKey instanser i ett GrammarBuilder objekt bör du undvika att skapa dubbletter av semantiska element med samma nyckelnamn eller flera semantiska element som upprepade gånger kan ändra egenskapen för Value ett SemanticValue objekt. Taligenkänningen kan utlösa ett undantag om den stöter på dessa omständigheter.