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 wariantów. |
GrammarBuilder(SemanticResultKey) |
Inicjuje nowe wystąpienie GrammarBuilder klasy z klucza semantycznego. |
GrammarBuilder(SemanticResultValue) |
Inicjuje nowe wystąpienie GrammarBuilder klasy z wartości semantycznej. |
GrammarBuilder(String) |
Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów. |
GrammarBuilder(String, SubsetMatchingMode) |
Inicjuje nowe wystąpienie GrammarBuilder klasy dla podzestawu sekwencji wyrazów. |
GrammarBuilder(GrammarBuilder, Int32, Int32) |
Inicjuje nowe wystąpienie GrammarBuilder klasy z Powtórzonego elementu. |
GrammarBuilder(String, Int32, Int32) |
Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów w String i określa, ile razy String można powtarzać. |
Uwagi
Wystąpienia tej klasy można również uzyskać przez niejawne konwersje z innych klas lub przez połączenie GrammarBuilder obiektu z drugim obiektem z nowym GrammarBuilder . Aby uzyskać więcej informacji, zobacz Implicit i Addition metody.
Aby dodać ograniczenia do istniejącej GrammarBuilder , użyj Add metody,,,, i Append AppendDictation AppendRuleReference AppendWildcard Addition operatora.
Ważne
Aparat rozpoznawania mowy może zgłosić wyjątek przy użyciu gramatyki rozpoznawania mowy, która zawiera 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()
Inicjuje nowe, puste wystąpienie GrammarBuilder klasy.
public:
GrammarBuilder();
public GrammarBuilder ();
Public Sub New ()
Przykłady
Poniższy przykład używa GrammarBuilder i Choices obiektów do konstruowania gramatyki, która może rozpoznawać jedną z dwóch fraz, " colorChoice w tle" lub "Set Background to colorChoice".
W przykładzie zastosowano Choices obiekt, aby utworzyć listę akceptowalnych wartości dla colorChoice z tablicy String obiektów. ChoicesObiekt jest analogiczny do one-of
elementu w specyfikacji SRGS i zawiera zestaw alternatywnych fraz, z których każdy może zostać rozpoznany podczas wymawiania. W przykładzie używa się również Choices obiektu do grupowania tablicy dwóch GrammarBuilder obiektów w parze alternatywnych fraz, które wynikowa Gramatyka może rozpoznać. Słowa alternatywne lub frazy są składnikiem większości gramatyki, a Choices obiekt udostępnia tę funkcję dla gramatyki zbudowanych przy użyciu GrammarBuilder .
Przykład tworzy Grammar obiekt na podstawie GrammarBuilder skonstruowanej z Choices 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 Add Append metod,,, AppendDictation AppendRuleReference i AppendWildcard Addition operatora.
Ważne
Aparat rozpoznawania mowy może zgłosić wyjątek przy użyciu gramatyki rozpoznawania mowy, która zawiera 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)
Inicjuje nowe wystąpienie GrammarBuilder klasy z zestawu wariantów.
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 wariantów.
Przykłady
Poniższy przykład używa GrammarBuilder i Choices obiektów do konstruowania gramatyki, która może rozpoznawać jedną z dwóch fraz, " colorChoice w tle" lub "Set Background to colorChoice".
W przykładzie zastosowano Choices obiekt, aby utworzyć listę akceptowalnych wartości dla colorChoice z tablicy String obiektów. ChoicesObiekt jest analogiczny do one-of
elementu w specyfikacji SRGS i zawiera zestaw alternatywnych fraz, które mogą być rozpoznawane podczas wymawiania. W przykładzie używa się również Choices obiektu do grupowania tablicy dwóch GrammarBuilder obiektów w parze alternatywnych fraz, które wynikowa Gramatyka może rozpoznać. Słowa alternatywne lub frazy są składnikiem większości gramatyki, a Choices obiekt udostępnia tę funkcję dla gramatyki zbudowanych przy użyciu GrammarBuilder .
Przykład tworzy Grammar obiekt na podstawie GrammarBuilder skonstruowanej z Choices 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 zawierającej alternatywy, zobacz Używanie opcji do tworzenia gramatyki GrammarBuilder.
Zobacz też
Dotyczy
GrammarBuilder(SemanticResultKey)
Inicjuje nowe wystąpienie GrammarBuilder 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 " colorChoice w tle" i "Set Background to colorChoice", gdzie colorChoice jest wybrane z zestawu kolorów. Gramatyka pozwala użytkownikowi mówić dowolną z kilku nazw kolorów i zwraca informacje semantyczne o rozpoznanej nazwie koloru do aplikacji.
W przykładzie jest używany pojedynczy element SemanticResultKey , za pomocą którego można pobrać obiekt SemanticValue , który jest skojarzony z kolorem wymawianym przez użytkownika. Na przykład, jeśli dane wejściowe zawierają frazę "Ustaw tło na czerwony", wynik rozpoznawania zawiera wartość semantyczną "#FF0000", którą można pobrać przy użyciu procedury obsługi dla SpeechRecognized
zdarzenia.
W przykładzie używane String Choices SemanticResultKey są obiekty,,, SemanticResultValue i GrammarBuilder do tworzenia ograniczeń, które są zawarte w ostatnim GrammarBuilder obiekcie, bothPhrases
. Na koniec przykład tworzy Grammar obiekt od ukończonej GrammarBuilder .
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 z SemanticResultValue obiektu, należy dodać informacje semantyczne do gramatyki, które mogą być zwracane 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 programie obsługi SpeechRecognized
zdarzenia. Jeśli GrammarBuilder definiuje a SemanticResultKey , to może służyć do pobierania informacji semantycznych w wyniku rozpoznawania, który jest skojarzony z kluczem. Zapoznaj się z przykładem dla Append(SemanticResultKey) , a także zobacz SemanticResultValue i SemanticResultKey .
Ważne
W przypadku konstruowania GrammarBuilder obiektów, które zawierają SemanticResultValue SemanticResultKey wystąpienia lub, upewnij się, że nie utworzysz zduplikowanych elementów semantycznych o takiej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować Value Właściwość SemanticValue obiektu. Aparat rozpoznawania mowy może zgłosić wyjątek, Jeśli napotkają te okoliczności.
Zobacz też
Dotyczy
GrammarBuilder(SemanticResultValue)
Inicjuje nowe wystąpienie GrammarBuilder 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
Para wartości semantycznych lub nazwa/wartość.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy, która może rozpoznawać dwie frazy " colorChoice w tle" i "Set Background to colorChoice", gdzie colorChoice jest wybrane z zestawu kolorów. Gramatyka pozwala użytkownikowi mówić dowolną z kilku nazw kolorów i zwraca informacje semantyczne o rozpoznanej nazwie koloru do aplikacji.
W przykładzie jest używany pojedynczy element SemanticResultKey , za pomocą którego można pobrać obiekt SemanticValue , który jest skojarzony z kolorem wymawianym przez użytkownika. Na przykład, jeśli dane wejściowe zawierają frazę "Ustaw tło na czerwony", wynik rozpoznawania zawiera wartość semantyczną "#FF0000", którą można pobrać przy użyciu procedury obsługi dla SpeechRecognized
zdarzenia.
W przykładzie używane String Choices SemanticResultKey są obiekty,,, SemanticResultValue i GrammarBuilder do tworzenia ograniczeń, które są zawarte w ostatnim GrammarBuilder obiekcie, bothPhrases
. Na koniec przykład tworzy Grammar obiekt od ukończonej GrammarBuilder .
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 z SemanticResultValue obiektu, należy dodać informacje semantyczne do gramatyki, które mogą być zwracane 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 programie obsługi SpeechRecognized
zdarzenia. Jeśli GrammarBuilder definiuje a SemanticResultKey , to może służyć do pobierania informacji semantycznych w wyniku rozpoznawania, który jest skojarzony z kluczem. Zapoznaj się z przykładem dla Append(SemanticResultKey) , a także zobacz SemanticResultValue i SemanticResultKey .
Ważne
W przypadku konstruowania GrammarBuilder obiektów, które zawierają SemanticResultValue SemanticResultKey wystąpienia lub, upewnij się, że nie utworzysz zduplikowanych elementów semantycznych o takiej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować Value Właściwość SemanticValue obiektu. Aparat rozpoznawania mowy może zgłosić wyjątek, Jeśli napotkają te okoliczności.
Zobacz też
Dotyczy
GrammarBuilder(String)
Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazó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 wyrazów.
Przykłady
Poniższy przykład używa GrammarBuilder i Choices obiektów do konstruowania gramatyki, która może rozpoznawać jedną z dwóch fraz, " colorChoice w tle" lub "Set Background to colorChoice".
Po utworzeniu listy akceptowalnych wartości dla colorChoice przy użyciu Choices obiektu, przykład inicjuje dwa GrammarBuilder obiekty makePhrase
i setPhrase
, przy użyciu ciągu jako argumentu.
Przykład tworzy Grammar obiekt na podstawie Choices rzutowania obiektu na GrammarBuilder 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ą wymawianą frazę, którą może rozpoznać Gramatyka rozpoznawania mowy. Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Używanie ciągów do tworzenia gramatyki GrammarBuilder.
Zobacz też
Dotyczy
GrammarBuilder(String, SubsetMatchingMode)
Inicjuje nowe wystąpienie GrammarBuilder klasy dla podzestawu sekwencji wyrazó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 wyrazów.
- subsetMatchingCriteria
- SubsetMatchingMode
Tryb dopasowania, którego Gramatyka rozpoznawania mowy używa do rozpoznawania frazy.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy dla każdej SubsetMatchingMode wartości i gramatykę do wyboru między gramatykami w trybie dopasowywania. Jeśli wartość phrase
to "1 2 3 4 5 6 7", wówczas Gramatyka podsekwencji rozpoznaje dane wejściowe "2 3 4", ale nie dane wejściowe "1 3 5". Jednak Gramatyka uporządkowana podzbiór 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
phrase
Parametr reprezentuje frazę, którą może rozpoznać Gramatyka rozpoznawania mowy. subsetMatchingMode
Parametr określa podzestaw frazy, która może być wymawiana, aby osiągnąć pomyślne rozpoznanie całej frazy. Możesz użyć tego do utworzenia gramatyki z listą wpisów, które mają długie nazwy, bez konieczności, aby użytkownicy wymawiali całą nazwę w celu dopasowania do elementu.
Aby uzyskać więcej informacji na temat dopasowywania trybów, zobacz SubsetMatchingMode . Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Używanie ciągów do tworzenia gramatyki GrammarBuilder.
Zobacz też
Dotyczy
GrammarBuilder(GrammarBuilder, Int32, Int32)
Inicjuje nowe wystąpienie GrammarBuilder klasy z Powtórzonego 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 przypadków, gdy dane wejściowe zgodne z elementem zdefiniowanym przez builder
muszą następować dopasowanie.
- maxRepeat
- Int32
Maksymalna liczba przypadków, gdy dane wejściowe zgodne z elementem zdefiniowanym przez builder
mogą wystąpić jako dopasowanie.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy do porządkowania Pizza. Zaczyna od opcjonalnej, otwierającej frazy, po której następuje jeden do czterech toppings i zamyka wyraz "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ść minRepeat
jest równa 0, Nowa GrammarBuilder reprezentuje element opcjonalny.
Wartość minRepeat
musi być większa lub równa 0 i mniejsza lub równa wartości maxRepeat
.
Ważne
Jeśli określisz powtórzenia dla GrammarBuilder obiektów, które zawierają SemanticResultValue lub SemanticResultKey wystąpienia, upewnij się, że nie utworzysz zduplikowanych elementów semantycznych o tej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować Value Właściwość SemanticValue obiektu. Aparat rozpoznawania mowy może zgłosić wyjątek, Jeśli napotkają te okoliczności.
Zobacz też
Dotyczy
GrammarBuilder(String, Int32, Int32)
Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów w String i określa, ile razy String można powtarzać.
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
Powtórzona sekwencja wyrazów.
- minRepeat
- Int32
Minimalna liczba przypadków, gdy dane wejściowe zgodne z frazą muszą wystąpić, aby stanowić dopasowanie.
- maxRepeat
- Int32
Maksymalna liczba przypadków, gdy dane wejściowe pasujące do frazy mogą stanowić dopasowanie.
Przykłady
Poniższy przykład tworzy gramatykę rozpoznawania mowy do porządkowania Pizza. Zaczyna od opcjonalnej, otwierającej frazy, po której następuje jeden do czterech toppings i zamyka wyraz "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ść minRepeat
jest równa 0, Nowa GrammarBuilder reprezentuje element opcjonalny.
Wartość minRepeat
musi być większa lub równa 0 i mniejsza lub równa wartości maxRepeat
. Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Używanie ciągów do tworzenia gramatyki GrammarBuilder.