GrammarBuilder Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy GrammarBuilder.
Przeciążenia
GrammarBuilder() |
Inicjuje nowe, puste wystąpienie GrammarBuilder klasy. |
GrammarBuilder(Choices) |
Inicjuje nowe wystąpienie GrammarBuilder klasy z zestawu alternatyw. |
GrammarBuilder(SemanticResultKey) |
Inicjuje GrammarBuilder nowe wystąpienie klasy z klucza semantycznego. |
GrammarBuilder(SemanticResultValue) |
Inicjuje GrammarBuilder nowe wystąpienie klasy z wartości semantycznej. |
GrammarBuilder(String) |
Inicjuje GrammarBuilder nowe wystąpienie klasy z sekwencji słów. |
GrammarBuilder(String, SubsetMatchingMode) |
Inicjuje nowe wystąpienie GrammarBuilder klasy dla podzestawu sekwencji słów. |
GrammarBuilder(GrammarBuilder, Int32, Int32) |
Inicjuje GrammarBuilder nowe wystąpienie klasy z powtarzającego się elementu. |
GrammarBuilder(String, Int32, Int32) |
Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów w obiekcie String i określa, ile razy String można powtórzyć. |
Uwagi
Wystąpienia tej klasy można również uzyskać przez niejawne konwersje z innych klas lub łącząc GrammarBuilder obiekt z drugim obiektem z nowego GrammarBuilderobiektu . Aby uzyskać więcej informacji, zobacz metody Implicit i Addition .
Aby dodać ograniczenia do istniejącego GrammarBuilderelementu , użyj metody Add, Append, AppendDictationAppendRuleReference, i AppendWildcard operatora Addition .
Ważne
Rozpoznawanie mowy może zgłosić wyjątek podczas korzystania z gramatyki rozpoznawania mowy zawierającej zduplikowane elementy semantyczne o tej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować wartość tego samego elementu semantycznego.
Aby uzyskać więcej informacji na temat kompilowania i używania gramatyk rozpoznawania mowy, zobacz Rozpoznawanie mowy.
GrammarBuilder()
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
Inicjuje nowe, puste wystąpienie GrammarBuilder klasy.
public:
GrammarBuilder();
public GrammarBuilder ();
Public Sub New ()
Przykłady
Poniższy przykład używa obiektów GrammarBuilder i Choices do konstruowania gramatyki, która może rozpoznać jedną z dwóch fraz: "Ustaw kolor tłaChoice" lub "Ustaw tło na colorChoice".
W przykładzie użyto Choices obiektu do utworzenia listy dopuszczalnych wartości dla funkcji colorChoice z tablicy String obiektów.
Choices Obiekt jest analogiczny do one-of
elementu w specyfikacji SRGS i zawiera zestaw alternatywnych fraz, z których każda może być rozpoznawana podczas wypowiedzi. W przykładzie użyto Choices również obiektu do grupowania tablicy dwóch GrammarBuilder obiektów w parę alternatywnych fraz, które wynikowa gramatyka może rozpoznać. Alternatywne wyrazy lub frazy są składnikiem większości gramatyki, a Choices obiekt zapewnia tę funkcjonalność dla gramatyki skonstruowanych za pomocą GrammarBuilderpolecenia .
W przykładzie na koniec tworzony jest Grammar obiekt z GrammarBuilder obiektu skonstruowanego na Choices podstawie obiektu.
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices for the two alternative phrases, convert the Choices
// to a GrammarBuilder, and construct the Grammar object from the result.
GrammarBuilder bothPhrases = new GrammarBuilder();
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
bothPhrases.Append(bothChoices);
Grammar grammar = new Grammar(bothPhrases);
grammar.Name = "backgroundColor";
return grammar;
}
Uwagi
Aby dodać reguły do istniejącego GrammarBuilder obiektu, użyj Addmetody , Append, AppendDictationAppendRuleReference, i AppendWildcard operatora Addition .
Ważne
Rozpoznawanie mowy może zgłosić wyjątek podczas korzystania z gramatyki rozpoznawania mowy zawierającej zduplikowane elementy semantyczne o tej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować wartość tego samego elementu semantycznego.
Zobacz też
Dotyczy
GrammarBuilder(Choices)
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
Inicjuje nowe wystąpienie GrammarBuilder klasy z zestawu alternatyw.
public:
GrammarBuilder(System::Speech::Recognition::Choices ^ alternateChoices);
public GrammarBuilder (System.Speech.Recognition.Choices alternateChoices);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.Choices -> System.Speech.Recognition.GrammarBuilder
Public Sub New (alternateChoices As Choices)
Parametry
- alternateChoices
- Choices
Zestaw alternatyw.
Przykłady
Poniższy przykład używa obiektów GrammarBuilder i Choices do konstruowania gramatyki, która może rozpoznać jedną z dwóch fraz: "Ustaw kolor tłaChoice" lub "Ustaw tło na colorChoice".
W przykładzie użyto Choices obiektu do utworzenia listy dopuszczalnych wartości dla funkcji colorChoice z tablicy String obiektów.
Choices Obiekt jest analogiczny do one-of
elementu w specyfikacji SRGS i zawiera zestaw alternatywnych fraz, z których dowolny może być rozpoznawany podczas wypowiedzi. W przykładzie użyto Choices również obiektu do grupowania tablicy dwóch GrammarBuilder obiektów w parę alternatywnych fraz, które wynikowa gramatyka może rozpoznać. Alternatywne wyrazy lub frazy są składnikiem większości gramatyki, a Choices obiekt zapewnia tę funkcjonalność dla gramatyki skonstruowanych za pomocą GrammarBuilderpolecenia .
W przykładzie na koniec tworzony jest Grammar obiekt z GrammarBuilder obiektu skonstruowanego na Choices podstawie obiektu.
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices for the two alternative phrases, convert the Choices
// to a GrammarBuilder, and construct the grammar from the result.
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
Grammar grammar = new Grammar((GrammarBuilder)bothChoices);
grammar.Name = "backgroundColor";
return grammar;
}
Uwagi
Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy, która zawiera alternatywy, zobacz Using Choices to Create a GrammarBuilder Grammar (Używanie opcji do tworzenia gramatyki gramatyki programu GrammarBuilder).
Zobacz też
Dotyczy
GrammarBuilder(SemanticResultKey)
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
Inicjuje GrammarBuilder nowe wystąpienie klasy z klucza semantycznego.
public:
GrammarBuilder(System::Speech::Recognition::SemanticResultKey ^ key);
public GrammarBuilder (System.Speech.Recognition.SemanticResultKey key);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultKey -> System.Speech.Recognition.GrammarBuilder
Public Sub New (key As SemanticResultKey)
Parametry
Klucz semantyczny.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy, która może rozpoznawać dwie frazy" "Make background colorChoice" i "Ustaw tło na colorChoice", gdzie kolorChoice jest wybierany z zestawu kolorów. Gramatyka pozwala użytkownikowi mówić dowolną z kilku nazw kolorów i zwraca semantyczne informacje o rozpoznanej nazwie koloru do aplikacji.
W przykładzie użyto pojedynczego SemanticResultKey elementu, z którym można pobrać SemanticValue element skojarzony z kolorem wypowiadanym przez użytkownika. Jeśli na przykład dane wejściowe zawierają frazę "Ustaw tło na czerwoną", wynik rozpoznawania zawiera wartość semantyczną "#FF0000", którą można pobrać przy użyciu procedury obsługi zdarzenia SpeechRecognized
.
W przykładzie użyto Stringobiektów , Choices, SemanticResultKey, SemanticResultValuei GrammarBuilder do utworzenia ograniczeń zawartych w ostatnim GrammarBuilder obiekcie bothPhrases
. Na koniec przykład tworzy Grammar obiekt z ukończonego GrammarBuilderobiektu .
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
// Include semantic information about each of the colors.
Choices colorChoice = new Choices();
GrammarBuilder colorBuilder = new GrammarBuilder("red");
SemanticResultValue colorValue =
new SemanticResultValue(colorBuilder, "#FF0000");
colorChoice.Add(new GrammarBuilder(colorValue));
colorBuilder = new GrammarBuilder("green");
colorValue = new SemanticResultValue(colorBuilder, "#00FF00");
colorChoice.Add(new GrammarBuilder(colorValue));
colorBuilder = new GrammarBuilder("blue");
colorValue = new SemanticResultValue(colorBuilder, "#0000FF");
colorChoice.Add(new GrammarBuilder(colorValue));
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices object for the two alternative phrases.
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);
// Create the semantic key for referencing the color information.
SemanticResultKey colorKey =
new SemanticResultKey("ColorCode", bothPhrases);
bothPhrases = new GrammarBuilder(colorKey);
// Construct the Grammar object from the GrammarBuilder.
Grammar grammar = new Grammar(bothPhrases);
grammar.Name = "backgroundColor";
return grammar;
}
Uwagi
Podczas tworzenia GrammarBuilder wystąpienia na podstawie SemanticResultValue obiektu dodajesz do gramatyki informacje semantyczne, które można zwrócić w wyniku rozpoznawania. Dostęp do informacji semantycznych w wyniku rozpoznawania można uzyskać przy użyciu Semantics właściwości RecognizedPhrase, która jest dostępna w procedurze SpeechRecognized
obsługi zdarzenia. Jeśli definiuje GrammarBuilder element SemanticResultKey, może to służyć do pobierania informacji semantycznych w wyniku rozpoznawania skojarzonego z kluczem. Zobacz przykład , Append(SemanticResultKey)a także zobacz SemanticResultValue i SemanticResultKey.
Ważne
Podczas konstruowania GrammarBuilder obiektów zawierających SemanticResultValue lub SemanticResultKey wystąpień należy unikać tworzenia zduplikowanych elementów semantycznych o tej samej nazwie klucza lub wielu elementach semantycznych, które mogłyby wielokrotnie modyfikować Value właściwość SemanticValue obiektu. Rozpoznawanie mowy może zgłosić wyjątek, jeśli napotka te okoliczności.
Zobacz też
Dotyczy
GrammarBuilder(SemanticResultValue)
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
Inicjuje GrammarBuilder nowe wystąpienie klasy z wartości semantycznej.
public:
GrammarBuilder(System::Speech::Recognition::SemanticResultValue ^ value);
public GrammarBuilder (System.Speech.Recognition.SemanticResultValue value);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultValue -> System.Speech.Recognition.GrammarBuilder
Public Sub New (value As SemanticResultValue)
Parametry
- value
- SemanticResultValue
Semantyczna wartość lub para nazwa/wartość.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy, która może rozpoznawać dwie frazy" "Make background colorChoice" i "Ustaw tło na colorChoice", gdzie kolorChoice jest wybierany z zestawu kolorów. Gramatyka pozwala użytkownikowi mówić dowolną z kilku nazw kolorów i zwraca semantyczne informacje o rozpoznanej nazwie koloru do aplikacji.
W przykładzie użyto pojedynczego SemanticResultKey elementu, z którym można pobrać SemanticValue element skojarzony z kolorem wypowiadanym przez użytkownika. Jeśli na przykład dane wejściowe zawierają frazę "Ustaw tło na czerwoną", wynik rozpoznawania zawiera wartość semantyczną "#FF0000", którą można pobrać przy użyciu procedury obsługi zdarzenia SpeechRecognized
.
W przykładzie użyto Stringobiektów , Choices, SemanticResultKey, SemanticResultValuei GrammarBuilder do utworzenia ograniczeń zawartych w ostatnim GrammarBuilder obiekcie bothPhrases
. Na koniec przykład tworzy Grammar obiekt z ukończonego GrammarBuilderobiektu .
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
// Include semantic information about each of the colors.
Choices colorChoice = new Choices();
GrammarBuilder colorBuilder = new GrammarBuilder("red");
SemanticResultValue colorValue =
new SemanticResultValue(colorBuilder, "#FF0000");
colorChoice.Add(new GrammarBuilder(colorValue));
colorBuilder = new GrammarBuilder("green");
colorValue = new SemanticResultValue(colorBuilder, "#00FF00");
colorChoice.Add(new GrammarBuilder(colorValue));
colorBuilder = new GrammarBuilder("blue");
colorValue = new SemanticResultValue(colorBuilder, "#0000FF");
colorChoice.Add(new GrammarBuilder(colorValue));
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices for the two alternative phrases.
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);
// Create the semantic key for referencing the color information.
SemanticResultKey colorKey =
new SemanticResultKey("ColorCode", bothPhrases);
bothPhrases = new GrammarBuilder(colorKey);
// Construct the grammar from the grammar builder.
Grammar grammar = new Grammar(bothPhrases);
grammar.Name = "backgroundColor";
return grammar;
}
Uwagi
Podczas tworzenia GrammarBuilder wystąpienia na podstawie SemanticResultValue obiektu dodajesz do gramatyki informacje semantyczne, które można zwrócić w wyniku rozpoznawania. Dostęp do informacji semantycznych w wyniku rozpoznawania można uzyskać przy użyciu Semantics właściwości RecognizedPhrase, która jest dostępna w procedurze SpeechRecognized
obsługi zdarzenia. Jeśli definiuje GrammarBuilder element SemanticResultKey, może to służyć do pobierania informacji semantycznych w wyniku rozpoznawania skojarzonego z kluczem. Zobacz przykład , Append(SemanticResultKey)a także zobacz SemanticResultValue i SemanticResultKey.
Ważne
Podczas konstruowania GrammarBuilder obiektów zawierających SemanticResultValue lub SemanticResultKey wystąpień należy unikać tworzenia zduplikowanych elementów semantycznych o tej samej nazwie klucza lub wielu elementach semantycznych, które mogłyby wielokrotnie modyfikować Value właściwość SemanticValue obiektu. Rozpoznawanie mowy może zgłosić wyjątek, jeśli napotka te okoliczności.
Zobacz też
Dotyczy
GrammarBuilder(String)
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
Inicjuje GrammarBuilder nowe wystąpienie klasy z sekwencji słów.
public:
GrammarBuilder(System::String ^ phrase);
public GrammarBuilder (string phrase);
new System.Speech.Recognition.GrammarBuilder : string -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String)
Parametry
- phrase
- String
Sekwencja słów.
Przykłady
Poniższy przykład używa obiektów GrammarBuilder i Choices do konstruowania gramatyki, która może rozpoznać jedną z dwóch fraz: "Ustaw kolor tłaChoice" lub "Ustaw tło na colorChoice".
Po utworzeniu listy dopuszczalnych wartości dla funkcji colorChoice przy użyciu Choices obiektu przykład inicjuje dwa GrammarBuilder obiekty makePhrase
i setPhrase
, używając ciągu jako argumentu.
W przykładzie na koniec tworzony Grammar jest obiekt z rzutowania ChoicesGrammarBuilder obiektu na obiekt.
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices for the two alternative phrases, convert the Choices
// to a GrammarBuilder, and construct the Grammar object from the result.
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
Grammar grammar = new Grammar((GrammarBuilder)bothChoices);
grammar.Name = "backgroundColor";
return grammar;
}
Uwagi
Fraza reprezentuje dokładną frazę mówiną, którą gramatyka rozpoznawania mowy może rozpoznać. Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Using Strings to Create a GrammarBuilder Grammar (Używanie ciągów do tworzenia gramatyki grammarbuilder).
Zobacz też
Dotyczy
GrammarBuilder(String, SubsetMatchingMode)
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
Inicjuje nowe wystąpienie GrammarBuilder klasy dla podzestawu sekwencji słów.
public:
GrammarBuilder(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public GrammarBuilder (string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
new System.Speech.Recognition.GrammarBuilder : string * System.Speech.Recognition.SubsetMatchingMode -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)
Parametry
- phrase
- String
Sekwencja słów.
- subsetMatchingCriteria
- SubsetMatchingMode
Tryb dopasowywania gramatyki rozpoznawania mowy używa do rozpoznawania frazy.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy dla każdej SubsetMatchingMode wartości i gramatyki do wyboru między gramatykami trybu dopasowania. Jeśli wartość to phrase
"jeden dwa trzy cztery cztery pięć sześciu siedmiu", gramatyka Subsequence rozpoznaje dane wejściowe "dwa trzy cztery", ale nie dane wejściowe "jeden trzy pięć". Jednak gramatyka Uporządkowane podzestaw rozpoznaje oba te dane wejściowe.
private static IEnumerable<Grammar>
CreateMatchingModeGrammars(string phrase)
{
List<Grammar> grammars = new List<Grammar>(5);
Choices modeChoice = new Choices();
Type enumType = typeof(SubsetMatchingMode);
foreach (SubsetMatchingMode mode in Enum.GetValues(enumType))
{
string modeName = Enum.GetName(enumType, mode);
modeName = BreakAtCaps(modeName);
GrammarBuilder builder = new GrammarBuilder(phrase, mode);
Grammar modeGrammar = new Grammar(builder);
modeGrammar.Name = modeName;
modeGrammar.Enabled = false;
grammars.Add(modeGrammar);
modeChoice.Add(modeName);
}
Grammar choiceGrammar = new Grammar(modeChoice);
choiceGrammar.Name = "choice";
grammars.Add(choiceGrammar);
return grammars;
}
// Insert spaces preceding each uppercase letter in a string.
private static string BreakAtCaps(string item)
{
if (item == null || item.Length == 0)
{
return item;
}
StringBuilder sb = new StringBuilder(item[0].ToString());
for (int i = 1; i < item.Length; i++)
{
char c = item[i];
if (char.IsUpper(c))
{
sb.Append(" ");
}
sb.Append(c);
}
return sb.ToString();
}
Uwagi
Parametr phrase
reprezentuje frazę, którą gramatyka rozpoznawania mowy może rozpoznać. Parametr subsetMatchingMode
określa podzestaw frazy, którą można mówić, aby osiągnąć pomyślne rozpoznawanie całej frazy. Można go użyć do utworzenia gramatyki z listą wpisów, które mają długie nazwy, bez konieczności mówienia całej nazwy przez użytkowników w celu dopasowania elementu.
Aby uzyskać więcej informacji na temat pasujących trybów, zobacz SubsetMatchingMode. Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Using Strings to Create a GrammarBuilder Grammar (Używanie ciągów do tworzenia gramatyki grammarbuilder).
Zobacz też
Dotyczy
GrammarBuilder(GrammarBuilder, Int32, Int32)
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
Inicjuje GrammarBuilder nowe wystąpienie klasy z powtarzającego się elementu.
public:
GrammarBuilder(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public GrammarBuilder (System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.GrammarBuilder * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)
Parametry
- builder
- GrammarBuilder
Powtórzony element.
- minRepeat
- Int32
Minimalna liczba razy, gdy dane wejściowe pasujące do elementu zdefiniowanego przez builder
element muszą wystąpić w celu utworzenia dopasowania.
- maxRepeat
- Int32
Maksymalna liczba przypadków dopasowania danych wejściowych zdefiniowanych przez builder
element może wystąpić w celu utworzenia dopasowania.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy do zamawiania pizzy. Zaczyna się od opcjonalnej, otwierającej frazę, po której następuje jeden do czterech toppingów i zamyka się słowem "pizza".
private static Grammar CreatePizzaGrammar()
{
// Create a Choices object from a string array of alternative toppings.
Choices toppings = new Choices(new string[] {
"cheese", "mushroom", "tomato", "onion",
"anchovy", "chicken", "pepperoni"});
// Create a GrammarBuilder and append the Choices object.
GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);
andToppings.Append(toppings);
// Construct the phrase.
GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);
gb.Append(toppings);
gb.Append(new GrammarBuilder(andToppings, 0, 3));
gb.Append("pizza");
// Create the Grammar from the GrammarBuilder.
Grammar grammar = new Grammar(gb);
grammar.Name = "Pizza Order";
return grammar;
}
Uwagi
Jeśli wartość to minRepeat
0, nowy GrammarBuilder reprezentuje opcjonalny element.
Wartość musi minRepeat
być większa lub równa 0 i mniejsza niż lub równa wartości .maxRepeat
Ważne
Po określeniu powtórzeń dla GrammarBuilder obiektów zawierających SemanticResultValue lub SemanticResultKey wystąpień należy unikać tworzenia zduplikowanych elementów semantycznych o tej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować Value właściwość SemanticValue obiektu. Rozpoznawanie mowy może zgłosić wyjątek, jeśli napotka te okoliczności.
Zobacz też
Dotyczy
GrammarBuilder(String, Int32, Int32)
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
- Źródło:
- GrammarBuilder.cs
Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów w obiekcie String i określa, ile razy String można powtórzyć.
public:
GrammarBuilder(System::String ^ phrase, int minRepeat, int maxRepeat);
public GrammarBuilder (string phrase, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : string * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, minRepeat As Integer, maxRepeat As Integer)
Parametry
- phrase
- String
Powtarzana sekwencja słów.
- minRepeat
- Int32
Minimalna liczba razy, gdy dane wejściowe pasujące do frazy muszą wystąpić w celu utworzenia dopasowania.
- maxRepeat
- Int32
Maksymalna liczba przypadków, gdy dane wejściowe pasujące do frazy mogą wystąpić w celu utworzenia dopasowania.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy do zamawiania pizzy. Zaczyna się od opcjonalnej, otwierającej frazę, po której następuje jeden do czterech toppingów i zamyka się słowem "pizza".
private static Grammar CreatePizzaGrammar()
{
// Create a Choices object with alternatives for toppings.
Choices toppings = new Choices(new string[] {
"cheese", "mushroom", "tomato", "onion",
"anchovy", "chicken", "pepperoni"});
// Create a GrammarBuilder and append the Choices object.
GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);
andToppings.Append(toppings);
// Construct the phrase.
GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);
gb.Append(toppings);
gb.Append(new GrammarBuilder(andToppings, 0, 3));
gb.Append("pizza");
// Create the Grammar from the GrammarBuilder.
Grammar grammar = new Grammar(gb);
grammar.Name = "Pizza Order";
return grammar;
}
Uwagi
Jeśli wartość to minRepeat
0, nowy GrammarBuilder reprezentuje opcjonalny element.
Wartość musi minRepeat
być większa lub równa 0 i mniejsza niż lub równa wartości .maxRepeat
Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Using Strings to Create a GrammarBuilder Grammar (Używanie ciągów do tworzenia gramatyki grammarbuilder).