GrammarBuilder Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce un meccanismo per la compilazione a livello di codice di vincoli per una grammatica di riconoscimento vocale.
public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
- Ereditarietà
-
GrammarBuilder
Esempio
Nell'esempio seguente vengono GrammarBuilder utilizzati Choices gli oggetti e per costruire una grammatica in grado di riconoscere una delle due frasi "make background colorChoice" o "set background to colorChoice".
Nell'esempio viene utilizzato un Choices oggetto per creare un elenco di valori accettabili per colorChoice da una matrice di String oggetti. Un Choices oggetto è analogo all' one-of
elemento nella specifica SRGS e contiene un set di frasi alternative, ciascuna delle quali può essere riconosciuta quando viene pronunciata. Nell'esempio viene inoltre utilizzato un Choices oggetto per raggruppare una matrice di due GrammarBuilder oggetti in una coppia di frasi alternative che la grammatica risultante può riconoscere. Parole o frasi alternative sono un componente della maggior parte delle grammatiche e l' Choices oggetto fornisce questa funzionalità per le grammatiche costruite con GrammarBuilder .
Viene infine creato un Grammar oggetto da un GrammarBuilder oggetto costruito da un Choices oggetto.
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;
}
Commenti
Le grammatiche di riconoscimento vocale vengono in genere create nel formato XML definito dalla specifica SRGS (Speech Recognition Grammar) versione 1,0. Se si ha familiarità con SRGS, ma si vogliono generare le grammatiche a livello di codice, è possibile usare lo System.Speech.Recognition.SrgsGrammar spazio dei nomi, i cui membri corrispondono strettamente agli elementi e agli attributi definiti da SRGS. Se non si ha familiarità con SRGS o si vuole un approccio leggero e programmatico per la creazione di grammatiche con cui è possibile eseguire in modo efficiente molti scenari comuni; è possibile usare le GrammarBuilder Choices classi e.
Usare GrammarBuilder gli oggetti per compilare un albero gerarchico composto da Choices oggetti contenenti frasi alternative, sparpagliate con il preambolo e le frasi post-ambite in ogni nodo e con il seeding con valori semantici che riportano il significato all'applicazione.
Per usare un GrammarBuilder oggetto per creare un Grammar oggetto, seguire questa procedura.
Creare un oggetto GrammarBuilder.
Aggiungere vincoli a GrammarBuilder , ad esempio oggetti,,,, String Choices SemanticResultKey SemanticResultValue DictationGrammar e altri GrammarBuilder oggetti che definiscono i vincoli per la grammatica.
Usare uno dei Grammar costruttori per creare un Grammar oggetto dalla GrammarBuilder grammatica completata.
La creazione di con GrammarBuilder è più adatta alle grammatiche con una singola regola contenente elenchi o elenchi di elenchi. Per compilare a livello di codice grammatiche con più regole o che devono eseguire riferimenti a regole interne, usare le classi dello System.Speech.Recognition.SrgsGrammar spazio dei nomi.
Le istanze di GrammarBuilder possono anche essere ottenute tramite conversioni implicite da determinate altre classi o combinando un GrammarBuilder oggetto con un secondo oggetto che contiene vincoli per una grammatica. Per ulteriori informazioni, vedere gli Implicit Addition operatori e e i Add metodi.
Per aggiungere regole a un oggetto esistente GrammarBuilder , usare i Add metodi,, Append AppendDictation , AppendRuleReference e AppendWildcard .
Importante
Il riconoscimento vocale può generare un'eccezione quando si usa una grammatica di riconoscimento vocale che contiene elementi semantici duplicati con lo stesso nome di chiave o più elementi semantici che potrebbero modificare ripetutamente il valore dello stesso elemento semantico.
Per semplificare il debug, la DebugShowPhrases proprietà restituisce lo stato corrente dell'oggetto GrammarBuilder sotto forma di stringa.
Costruttori
GrammarBuilder() |
Inizializza una nuova istanza vuota della classe GrammarBuilder. |
GrammarBuilder(Choices) |
Inizializza una nuova istanza della classe GrammarBuilder da un set di alternative. |
GrammarBuilder(GrammarBuilder, Int32, Int32) |
Inizializza una nuova istanza della classe GrammarBuilder da un elemento ripetuto. |
GrammarBuilder(SemanticResultKey) |
Inizializza una nuova istanza della classe GrammarBuilder a partire da una chiave semantica. |
GrammarBuilder(SemanticResultValue) |
Inizializza una nuova istanza della classe GrammarBuilder a partire da un valore semantico. |
GrammarBuilder(String) |
Inizializza una nuova istanza della classe GrammarBuilder da una sequenza di parole. |
GrammarBuilder(String, Int32, Int32) |
Inizializza una nuova istanza della classe GrammarBuilder dalla sequenza di parole in un oggetto String e specifica quante volte può essere ripetuto l'oggetto String. |
GrammarBuilder(String, SubsetMatchingMode) |
Inizializza una nuova istanza della classe GrammarBuilder per un subset di una sequenza di parole. |
Proprietà
Culture |
Ottiene o imposta le impostazioni cultura della grammatica di riconoscimento vocale. |
DebugShowPhrases |
Ottiene una stringa che mostra il contenuto e la struttura della sintassi contenuta da GrammarBuilder. |
Metodi
Add(Choices, GrammarBuilder) |
Crea un nuovo GrammarBuilder che contiene un oggetto Choices seguito da un oggetto GrammarBuilder. |
Add(GrammarBuilder, Choices) |
Crea un nuovo GrammarBuilder che contiene un oggetto GrammarBuilder seguito da un oggetto Choices. |
Add(GrammarBuilder, GrammarBuilder) |
Crea un nuovo oggetto GrammarBuilder contenente una sequenza di due oggetti GrammarBuilder. |
Add(GrammarBuilder, String) |
Crea un nuovo oggetto GrammarBuilder contenente un oggetto GrammarBuilder seguito da una frase. |
Add(String, GrammarBuilder) |
Crea un nuovo oggetto GrammarBuilder contenente una frase seguita da un oggetto GrammarBuilder . |
Append(Choices) |
Aggiunge un set di alternative alla sequenza corrente di elementi di grammatica. |
Append(GrammarBuilder) |
Aggiunge un elemento di grammatica alla sequenza corrente di elementi di grammatica. |
Append(GrammarBuilder, Int32, Int32) |
Aggiunge un elemento di grammatica ripetuto alla sequenza corrente di elementi di grammatica. |
Append(SemanticResultKey) |
Aggiunge una chiave semantica alla sequenza corrente di elementi di grammatica. |
Append(SemanticResultValue) |
Aggiunge un valore semantico alla sequenza corrente di elementi di grammatica. |
Append(String) |
Aggiunge una frase alla sequenza corrente di elementi di grammatica. |
Append(String, Int32, Int32) |
Aggiunge una frase ripetuta alla sequenza corrente di elementi di grammatica. |
Append(String, SubsetMatchingMode) |
Aggiunge un elemento per un subset di una frase alla sequenza corrente di elementi di grammatica. |
AppendDictation() |
Aggiunge la grammatica di dettatura predefinita alla sequenza corrente di elementi di grammatica. |
AppendDictation(String) |
Aggiunge la grammatica di dettatura specificata alla sequenza corrente di elementi di grammatica. |
AppendRuleReference(String) |
Aggiunge un file di definizione della grammatica alla sequenza corrente di elementi di grammatica. |
AppendRuleReference(String, String) |
Aggiunge la regola specificata di un file di definizione della grammatica alla sequenza corrente di elementi di grammatica. |
AppendWildcard() |
Aggiunge un elemento della grammatica di riconoscimento che corrisponde a qualsiasi input nella sequenza corrente di elementi di grammatica. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |