Sdílet prostřednictvím


GrammarBuilder Třída

Definice

Poskytuje mechanismus pro programové sestavení omezení gramatiky rozpoznávání řeči.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Dědičnost
GrammarBuilder

Příklady

Následující příklad používá GrammarBuilder objekty a Choices k vytvoření gramatiky, která dokáže rozpoznat jednu ze dvou frází, "nastavit colorChoice na pozadí" nebo "nastavit pozadí na colorChoice".

V příkladu se pomocí Choices objektu vytvoří seznam přijatelných hodnot pro colorChoice z pole String objektů. ChoicesObjekt je podobný one-of prvku ve specifikaci SRGS a obsahuje sadu alternativních frází, které lze rozpoznat při mluvené řeči. Příklad také používá Choices objekt k seskupení pole dvou GrammarBuilder objektů do páru alternativních frází, které může výsledná gramatika rozpoznat. Alternativní slova nebo fráze jsou součástí většiny gramatik a Choices objekt poskytuje tuto funkci pro gramatiky vytvořené pomocí GrammarBuilder .

Příklad finally vytvoří Grammar objekt z GrammarBuilder objektu vytvořeného z Choices objektu.

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;  
}  

Poznámky

Gramatiky rozpoznávání řeči se většinou vytvářejí ve formátu XML, který je definován gramatickou specifikací pro rozpoznávání řeči (SRGS) verze 1,0. Pokud jste obeznámeni s SRGS, ale chcete vygenerovat gramatiky prostřednictvím kódu programu, můžete použít System.Speech.Recognition.SrgsGrammar obor názvů, jehož členové odpovídají prvkům a atributům definovaným pomocí SRGS. Pokud nejste obeznámeni s SRGS nebo chcete mít odlehčený programový přístup k vytváření gramatik, se kterými můžete efektivně plnit mnoho běžných scénářů. můžete použít GrammarBuilder Choices třídy a.

Použijte GrammarBuilder objekty k sestavení hierarchického stromu složeného z Choices objektů, které obsahují alternativní fráze, s preambulí a po Amble frázím v každém uzlu a s využitím sémantických hodnot, které dávají smysl zpátky do aplikace.

Chcete-li použít GrammarBuilder k vytvoření Grammar objektu, použijte následující postup.

  1. Vytvořte GrammarBuilder objekt.

  2. Připojovat omezení k objektům, jako jsou objekty,,,, GrammarBuilder String Choices SemanticResultKey SemanticResultValue DictationGrammar a další GrammarBuilder objekty, které definují omezení gramatiky.

  3. Použijte jeden z Grammar konstruktorů pro vytvoření Grammar objektu z dokončené GrammarBuilder gramatiky.

Vytváření obsahu s nástrojem GrammarBuilder se nejlépe hodí pro gramatiky, které mají jedno pravidlo obsahující seznamy, nebo možná seznamy seznamů. Chcete-li programově sestavit gramatiky, které mají více pravidel nebo které potřebují vytvořit odkazy na interní pravidla, použijte třídy System.Speech.Recognition.SrgsGrammar oboru názvů.

Instance GrammarBuilder lze také získat implicitními převody z určitých jiných tříd nebo kombinováním GrammarBuilder s druhým objektem, který obsahuje omezení pro gramatiku.. Další informace naleznete v tématu Implicit operátory a Addition a Add metody.

Chcete-li přidat pravidla do existující GrammarBuilder , použijte Add metody,, Append AppendDictation , AppendRuleReference a AppendWildcard .

Důležité

Nástroj pro rozpoznávání řeči může vyvolat výjimku při použití gramatiky rozpoznávání řeči, která obsahuje duplicitní sémantické prvky se stejným názvem klíče nebo více sémantických prvků, které mohou opakovaně upravovat hodnotu stejného sémantického prvku.

Pro usnadnění ladění DebugShowPhrases vrátí vlastnost aktuální stav GrammarBuilder jako řetězec.

Konstruktory

GrammarBuilder()

Inicializuje novou prázdnou instanci GrammarBuilder třídy.

GrammarBuilder(Choices)

Inicializuje novou instanci GrammarBuilder třídy ze sady alternativ.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inicializuje novou instanci GrammarBuilder třídy z opakujícího se elementu.

GrammarBuilder(SemanticResultKey)

Inicializuje novou instanci GrammarBuilder třídy ze sémantického klíče.

GrammarBuilder(SemanticResultValue)

Inicializuje novou instanci GrammarBuilder třídy ze sémantické hodnoty.

GrammarBuilder(String)

Inicializuje novou instanci GrammarBuilder třídy ze sekvence slov.

GrammarBuilder(String, Int32, Int32)

Inicializuje novou instanci GrammarBuilder třídy z sekvence slov v String a a určí, kolikrát String lze opakovat.

GrammarBuilder(String, SubsetMatchingMode)

Inicializuje novou instanci GrammarBuilder třídy pro podmnožinu posloupnosti slov.

Vlastnosti

Culture

Získá nebo nastaví jazykovou verzi gramatiky rozpoznávání řeči.

DebugShowPhrases

Načte řetězec, který zobrazuje obsah a strukturu gramatiky obsažené v GrammarBuilder .

Metody

Add(Choices, GrammarBuilder)

Vytvoří nový GrammarBuilder , který obsahuje Choices objekt následovaný GrammarBuilder objektem.

Add(GrammarBuilder, Choices)

Vytvoří nový GrammarBuilder , který obsahuje GrammarBuilder objekt následovaný Choices objektem.

Add(GrammarBuilder, GrammarBuilder)

Vytvoří nový GrammarBuilder , který obsahuje posloupnost dvou GrammarBuilder objektů.

Add(GrammarBuilder, String)

Vytvoří nový GrammarBuilder , který obsahuje GrammarBuilder objekt následovaný frází.

Add(String, GrammarBuilder)

Vytvoří nový GrammarBuilder , který obsahuje frázi následovanou GrammarBuilder objektem.

Append(Choices)

Připojí sadu alternativ k aktuální sekvenci gramatických prvků.

Append(GrammarBuilder)

Připojí gramatický prvek k aktuální sekvenci gramatických prvků.

Append(GrammarBuilder, Int32, Int32)

Připojí opakovaný gramatický prvek k aktuální sekvenci gramatických prvků.

Append(SemanticResultKey)

Připojí sémantický klíč k aktuální sekvenci gramatických prvků.

Append(SemanticResultValue)

Připojí sémantickou hodnotu k aktuální sekvenci gramatických prvků.

Append(String)

Připojí frázi k aktuální sekvenci gramatických prvků.

Append(String, Int32, Int32)

Připojí opakovanou frázi k aktuální sekvenci gramatických prvků.

Append(String, SubsetMatchingMode)

Připojí element pro podmnožinu fráze k aktuální sekvenci gramatických prvků.

AppendDictation()

Připojí výchozí gramatiku diktování k aktuální sekvenci gramatických prvků.

AppendDictation(String)

Připojí určenou gramatiku diktování k aktuální sekvenci gramatických prvků.

AppendRuleReference(String)

Připojí gramatický definiční soubor k aktuální sekvenci gramatických prvků.

AppendRuleReference(String, String)

Připojí zadané pravidlo gramatického definičního souboru k aktuální sekvenci gramatických prvků.

AppendWildcard()

Připojí gramatický prvek pro rozpoznávání, který odpovídá jakémukoli vstupu aktuální sekvenci gramatických prvků.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Operátory

Addition(Choices, GrammarBuilder)

Vytvoří nový GrammarBuilder , který obsahuje Choices objekt následovaný GrammarBuilder objektem.

Addition(GrammarBuilder, Choices)

Vytvoří nový GrammarBuilder , který obsahuje a GrammarBuilder Choices .

Addition(GrammarBuilder, GrammarBuilder)

Vytvoří nový GrammarBuilder , který obsahuje posloupnost dvou GrammarBuilder objektů.

Addition(GrammarBuilder, String)

Vytvoří nový GrammarBuilder , který obsahuje GrammarBuilder frázi následovanou frází.

Addition(String, GrammarBuilder)

Vytvoří nový GrammarBuilder , který obsahuje frázi následovanou GrammarBuilder .

Implicit(Choices to GrammarBuilder)

Převede Choices objekt na GrammarBuilder objekt.

Implicit(SemanticResultKey to GrammarBuilder)

Převede SemanticResultKey objekt na GrammarBuilder objekt.

Implicit(SemanticResultValue to GrammarBuilder)

Převede SemanticResultValue objekt na GrammarBuilder objekt.

Implicit(String to GrammarBuilder)

Převede řetězec na GrammarBuilder objekt.

Platí pro

Viz také