GrammarBuilder Klasa

Definicja

Zapewnia mechanizm programistycznego tworzenia ograniczeń gramatycznych rozpoznawania mowy.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Dziedziczenie
GrammarBuilder

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

Gramatyki rozpoznawania mowy często są tworzone w formacie XML zdefiniowanym w specyfikacji gramatyki rozpoznawania mowy (SRGS) w wersji 1,0. Jeśli znasz program SRGS, ale chcesz programowo generować gramatyki, możesz użyć System.Speech.Recognition.SrgsGrammar przestrzeni nazw, której elementy członkowskie są ściśle zgodne z elementami i atrybutami zdefiniowanymi przez SRGS. Jeśli nie znasz SRGS lub chcesz uzyskać lekkie, programistyczne podejście do tworzenia gramatyk, z których możesz efektywnie wykonywać wiele typowych scenariuszy; można użyć GrammarBuilder Choices klas i.

Użyj GrammarBuilder obiektów do skompilowania drzewa hierarchicznego składającego się z Choices obiektów, które zawierają alternatywne frazy, odplatane z preambuły i frazy Amble w każdym węźle i są umieszczane przy użyciu wartości semantycznych przekazujących dane do aplikacji.

Aby użyć GrammarBuilder do utworzenia Grammar obiektu, wykonaj następujące czynności.

  1. Utwórz GrammarBuilder obiekt.

  2. Dołącz ograniczenia do GrammarBuilder , takie jak obiekty,,,, String Choices SemanticResultKey SemanticResultValue DictationGrammar i inne obiekty, GrammarBuilder które definiują ograniczenia dotyczące gramatyki.

  3. Użyj jednego z Grammar konstruktorów, aby utworzyć Grammar obiekt z ukończonej GrammarBuilder gramatyki.

Tworzenie za pomocą GrammarBuilder jest najlepszym rozwiązaniem dla gramatyki, które mają jedną regułę zawierającą listy, lub prawdopodobnie listę list. Aby programowo kompilować gramatyki, które mają wiele reguł lub które muszą tworzyć odwołania do reguł wewnętrznych, użyj klas System.Speech.Recognition.SrgsGrammar przestrzeni nazw.

Wystąpienia GrammarBuilder można także uzyskać przez niejawne konwersje z niektórych innych klas lub przez połączenie GrammarBuilder z drugim obiektem, który zawiera ograniczenia dotyczące gramatyki. Aby uzyskać więcej informacji, zobacz Implicit Addition Operatory i i Add metody.

Aby dodać reguły do istniejącej GrammarBuilder , użyj Add metod,, Append , AppendDictation AppendRuleReference i AppendWildcard .

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 ułatwić debugowanie, DebugShowPhrases Właściwość zwraca bieżący stan w GrammarBuilder postaci ciągu.

Konstruktory

GrammarBuilder()

Inicjuje nowe, puste wystąpienie GrammarBuilder klasy.

GrammarBuilder(Choices)

Inicjuje nowe wystąpienie GrammarBuilder klasy z zestawu wariantów.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inicjuje nowe wystąpienie GrammarBuilder klasy z Powtórzonego elementu.

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, Int32, Int32)

Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów w String i określa, ile razy String można powtarzać.

GrammarBuilder(String, SubsetMatchingMode)

Inicjuje nowe wystąpienie GrammarBuilder klasy dla podzestawu sekwencji wyrazów.

Właściwości

Culture

Pobiera lub ustawia kulturę gramatyki rozpoznawania mowy.

DebugShowPhrases

Pobiera ciąg, który pokazuje zawartość i strukturę gramatyki zawartej w GrammarBuilder .

Metody

Add(Choices, GrammarBuilder)

Tworzy nowy GrammarBuilder , który zawiera Choices obiekt, po którym następuje GrammarBuilder obiekt.

Add(GrammarBuilder, Choices)

Tworzy nowy GrammarBuilder , który zawiera GrammarBuilder obiekt, po którym następuje Choices obiekt.

Add(GrammarBuilder, GrammarBuilder)

Tworzy nowy GrammarBuilder , który zawiera sekwencję dwóch GrammarBuilder obiektów.

Add(GrammarBuilder, String)

Tworzy nowy GrammarBuilder , który zawiera GrammarBuilder obiekt, po którym następuje fraza.

Add(String, GrammarBuilder)

Tworzy nową GrammarBuilder , która zawiera frazę, a po niej GrammarBuilder obiekt.

Append(Choices)

Dołącza zestaw alternatyw do bieżącej sekwencji elementów gramatyki.

Append(GrammarBuilder)

Dołącza element gramatyki do bieżącej sekwencji elementów gramatyki.

Append(GrammarBuilder, Int32, Int32)

Dołącza powtórzony element gramatyki do bieżącej sekwencji elementów gramatyki.

Append(SemanticResultKey)

Dołącza klucz semantyczny do bieżącej sekwencji elementów gramatyki.

Append(SemanticResultValue)

Dołącza wartość semantyczną do bieżącej sekwencji elementów gramatyki.

Append(String)

Dołącza frazę do bieżącej sekwencji elementów gramatyki.

Append(String, Int32, Int32)

Dołącza powtórzoną frazę do bieżącej sekwencji elementów gramatyki.

Append(String, SubsetMatchingMode)

Dołącza element dla podzestawu frazy do bieżącej sekwencji elementów gramatyki.

AppendDictation()

Dołącza domyślną gramatykę dyktowania do bieżącej sekwencji elementów gramatyki.

AppendDictation(String)

Dołącza określoną gramatykę dyktowania do bieżącej sekwencji elementów gramatyki.

AppendRuleReference(String)

Dołącza plik definicji gramatyki do bieżącej sekwencji elementów gramatyki.

AppendRuleReference(String, String)

Dołącza określoną regułę pliku definicji gramatyki do bieżącej sekwencji elementów gramatyki.

AppendWildcard()

Dołącza element gramatyki rozpoznawania, który dopasowuje wszystkie dane wejściowe do bieżącej sekwencji elementów gramatyki.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Operatory

Addition(Choices, GrammarBuilder)

Tworzy nowy GrammarBuilder , który zawiera Choices obiekt, po którym następuje GrammarBuilder obiekt.

Addition(GrammarBuilder, Choices)

Tworzy nowy GrammarBuilder , który zawiera, a GrammarBuilder po nim Choices .

Addition(GrammarBuilder, GrammarBuilder)

Tworzy nowy GrammarBuilder , który zawiera sekwencję dwóch GrammarBuilder obiektów.

Addition(GrammarBuilder, String)

Tworzy nową GrammarBuilder , która zawiera GrammarBuilder wyrażenie a po nim frazę.

Addition(String, GrammarBuilder)

Tworzy nową GrammarBuilder , która zawiera frazę, a po niej GrammarBuilder .

Implicit(Choices to GrammarBuilder)

Konwertuje Choices obiekt na GrammarBuilder obiekt.

Implicit(SemanticResultKey to GrammarBuilder)

Konwertuje SemanticResultKey obiekt na GrammarBuilder obiekt.

Implicit(SemanticResultValue to GrammarBuilder)

Konwertuje SemanticResultValue obiekt na GrammarBuilder obiekt.

Implicit(String to GrammarBuilder)

Konwertuje ciąg na GrammarBuilder obiekt.

Dotyczy

Zobacz też