GrammarBuilder Класс

Определение

Предоставляет механизм для программного создания ограничений для грамматики распознавания речи.Provides a mechanism for programmatically building the constraints for a speech recognition grammar.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Наследование
GrammarBuilder

Примеры

В следующем примере используются GrammarBuilder объекты Choices и для создания грамматики, которая может распознать любую из двух фраз: «make Background колорчоице» или «Set Background to колорчоице».The following example uses GrammarBuilder and Choices objects to construct a grammar that can recognize either of the two phrases, "Make background colorChoice" or "Set background to colorChoice".

В примере используется Choices объект для создания списка допустимых значений для колорчоице String из массива объектов.The example uses a Choices object to create a list of acceptable values for colorChoice from an array of String objects. Объект является аналогом one-of элемента в спецификации SRGS и содержит набор альтернативных фраз, любой из которых можно распознать при разговоре. ChoicesA Choices object is analogous to the one-of element in the SRGS specification, and contains a set of alternate phrases, any of which can be recognized when spoken. В примере также используется Choices объект для группирования массива из двух GrammarBuilder объектов в пару альтернативных фраз, которые может распознать результирующая грамматика.The example also uses a Choices object to group an array of two GrammarBuilder objects into a pair of alternative phrases that the resultant grammar can recognize. Альтернативные слова или фразы являются компонентом большинства грамматик, а Choices объект предоставляет эту функцию для грамматик, созданных с помощью. GrammarBuilderAlternate words or phrases are a component of most grammars, and the Choices object provides this functionality for grammars constructed with GrammarBuilder.

В примере наконец создается Grammar объект из, GrammarBuilder созданного на основе Choices объекта.The example finally creates a Grammar object from a GrammarBuilder constructed from a Choices object.

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

Комментарии

Грамматики распознавания речи обычно создаются в формате XML, определенном в спецификации грамматики распознавания речи (SRGS) версии 1,0.Speech recognition grammars are commonly authored in the XML format defined by the Speech Recognition Grammar Specification (SRGS) Version 1.0. Если вы знакомы с SRGS, но хотите создать грамматики программно, можно использовать System.Speech.Recognition.SrgsGrammar пространство имен, члены которого близко соответствуют элементам и атрибутам, определенным в SRGS.If you are familiar with SRGS but want to generate the grammars programmatically, you can use the System.Speech.Recognition.SrgsGrammar namespace, whose members correspond closely to the elements and attributes defined by SRGS. Если вы не знакомы с SRGS или хотите использовать упрощенный, программный подход к созданию грамматик, с помощью которых можно эффективно выполнять многие распространенные сценарии; можно использовать GrammarBuilder классы и Choices .If you are unfamiliar with SRGS, or you want a lightweight, programmatic approach to authoring grammars with which you can efficiently accomplish many common scenarios; you can use the GrammarBuilder and Choices classes.

Используйте GrammarBuilder объекты для создания иерархического дерева, состоящего из Choices объектов, содержащих альтернативные фразы, в том числе с помощью выражений преамбулы и POST-преамбул на каждом узле, а также начальных значений, которые передаются обратно в приклад.Use GrammarBuilder objects to build a hierarchical tree composed of Choices objects that contain alternate phrases, interspersed with preamble and post-amble phrases at each node, and seeded with semantic values that convey meaning back to the application.

GrammarBuilder ЧтобыGrammar создать объект с помощью, выполните следующие действия.To use a GrammarBuilder to create a Grammar object, use the following steps.

  1. Создание объекта GrammarBuilder.Create a GrammarBuilder object.

  2. Добавление ограничений GrammarBuilderк, таким как Choices String GrammarBuilder объекты, SemanticResultKey SemanticResultValue, ,,идругиеобъекты,определяющиеограниченияграмматики.DictationGrammarAppend constraints to the GrammarBuilder, such as String objects, Choices, SemanticResultKey, SemanticResultValue, DictationGrammar, and other GrammarBuilder objects that define the constraints for the grammar.

  3. Используйте один из Grammar конструкторов для Grammar создания объекта из завершенной GrammarBuilder грамматики.Use one of the Grammar constructors to create a Grammar object from the completed GrammarBuilder grammar.

Разработка с GrammarBuilder помощью лучше всего подходит для грамматики с одним правилом, содержащим списки, или, возможно, списки.Authoring with GrammarBuilder is best suited to grammars that have a single rule containing lists, or perhaps lists of lists. Чтобы программно создать грамматики с несколькими правилами или ссылки на внутренние правила, используйте классы System.Speech.Recognition.SrgsGrammar пространства имен.To programmatically build grammars that have multiple rules, or that need to make internal rule references, use the classes of the System.Speech.Recognition.SrgsGrammar namespace.

Экземпляры также GrammarBuilder могут быть получены неявными преобразованиями из некоторых других классов или путем объединения со вторым объектом, который содержит ограничения для грамматики. GrammarBuilderInstances of GrammarBuilder can also be obtained by implicit conversions from certain other classes or by combining a GrammarBuilder with a second object that contains constraints for a grammar.. Дополнительные сведения см. в Implicit описании операторов Add и Addition методов.For more information, see the Implicit and Addition operators and the Add methods.

Чтобы добавить правила в существующую GrammarBuilder, Addиспользуйте методы, AppendRuleReference Append AppendDictation,, и AppendWildcard .To add rules to an existing GrammarBuilder, use the Add, Append, AppendDictation, AppendRuleReference, and AppendWildcard methods.

Важно!

Распознаватель речи может вызывать исключение при использовании грамматики распознавания речи, содержащей повторяющиеся семантические элементы с одинаковым именем ключа или несколькими семантическими элементами, которые могут периодически изменять значение одного и того же семантического элемента.The speech recognizer can throw an exception when using a speech recognition grammar that contains duplicate semantic elements with the same key name or multiple semantic elements that could repeatedly modify the value of the same semantic element.

Чтобы упростить отладку, DebugShowPhrases свойство возвращает текущее состояние в GrammarBuilder виде строки.To help with debugging, the DebugShowPhrases property returns the current status of the GrammarBuilder as a string.

Дополнительные сведения о создании и использовании грамматик распознавания речи см. в разделе Распознавание речи и Создание грамматик граммарбуилдер.For more information about building and using speech recognition grammars, see Speech Recognition and Creating GrammarBuilder Grammars.

Конструкторы

GrammarBuilder()

Инициализирует новый пустой экземпляр класса GrammarBuilder.Initializes a new, empty instance of the GrammarBuilder class.

GrammarBuilder(Choices)

Инициализирует новый экземпляр класса GrammarBuilder из набора объектов.Initializes a new instance of the GrammarBuilder class from a set of alternatives.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Инициализирует новый экземпляр класса GrammarBuilder из повторяющегося элемента.Initializes a new instance of the GrammarBuilder class from a repeated element.

GrammarBuilder(SemanticResultKey)

Инициализирует новый экземпляр класса GrammarBuilder из семантического ключа.Initializes a new instance of the GrammarBuilder class from a semantic key.

GrammarBuilder(SemanticResultValue)

Инициализирует новый экземпляр класса GrammarBuilder из семантического значения.Initializes a new instance of the GrammarBuilder class from a semantic value.

GrammarBuilder(String)

Инициализирует новый экземпляр класса GrammarBuilder из последовательности слов.Initializes a new instance of the GrammarBuilder class from a sequence of words.

GrammarBuilder(String, Int32, Int32)

Инициализирует новый экземпляр класса GrammarBuilder из последовательности слов в String и определяет, сколько раз можно повторить String.Initializes a new instance of the GrammarBuilder class from the sequence of words in a String and specifies how many times the String can be repeated.

GrammarBuilder(String, SubsetMatchingMode)

Инициализирует новый экземпляр класса GrammarBuilder для подмножества последовательности слов.Initializes a new instance of the GrammarBuilder class for a subset of a sequence of words.

Свойства

Culture

Получает или задает язык и региональные параметры грамматики распознавания речи.Gets or sets the culture of the speech recognition grammar.

DebugShowPhrases

Получает строку, которая отображает содержимое и структуру грамматики, содержащейся в GrammarBuilder.Gets a string that shows the contents and structure of the grammar contained by the GrammarBuilder.

Методы

Add(Choices, GrammarBuilder)

Создает элемент GrammarBuilder, содержащий объект Choices, за которым следует объект GrammarBuilder.Creates a new GrammarBuilder that contains a Choices object followed by a GrammarBuilder object.

Add(GrammarBuilder, Choices)

Создает элемент GrammarBuilder, содержащий объект GrammarBuilder, за которым следует объект Choices.Creates a new GrammarBuilder that contains a GrammarBuilder object followed by a Choices object.

Add(GrammarBuilder, GrammarBuilder)

Создает новый объект GrammarBuilder, содержащий последовательность из двух объектов GrammarBuilder.Creates a new GrammarBuilder that contains a sequence of two GrammarBuilder objects.

Add(GrammarBuilder, String)

Создает новый объект GrammarBuilder, содержащий объект GrammarBuilder, после которого следует фраза.Creates a new GrammarBuilder that contains a GrammarBuilder object followed by a phrase.

Add(String, GrammarBuilder)

Создает новый объект GrammarBuilder, содержащий фразу, после которой следует объект GrammarBuilder.Creates a new GrammarBuilder that contains a phrase followed by a GrammarBuilder object.

Append(Choices)

Добавляет набор альтернатив к текущей последовательности элементов грамматики.Appends a set of alternatives to the current sequence of grammar elements.

Append(GrammarBuilder)

Добавляет элемент грамматики к текущей последовательности элементов грамматики.Appends a grammar element to the current sequence of grammar elements.

Append(GrammarBuilder, Int32, Int32)

Добавляет повторный элемент грамматики к текущей последовательности элементов грамматики.Appends a repeated grammar element to the current sequence of grammar elements.

Append(SemanticResultKey)

Добавляет семантический ключ к текущей последовательности элементов грамматики.Appends a semantic key to the current sequence of grammar elements.

Append(SemanticResultValue)

Добавляет семантическое значение к текущей последовательности элементов грамматики.Appends a semantic value to the current sequence of grammar elements.

Append(String)

Добавляет фразу к текущей последовательности элементов грамматики.Appends a phrase to the current sequence of grammar elements.

Append(String, Int32, Int32)

Добавляет повторную фразу к текущей последовательности элементов грамматики.Appends a repeated phrase to the current sequence of grammar elements.

Append(String, SubsetMatchingMode)

Добавляет элемент для подмножества фразы к текущей последовательности элементов грамматики.Appends an element for a subset of a phrase to the current sequence of grammar elements.

AppendDictation()

Добавляет грамматику диктовки по умолчанию к текущей последовательности элементов грамматики.Appends the default dictation grammar to the current sequence of grammar elements.

AppendDictation(String)

Добавляет указанную грамматику диктовки к текущей последовательности элементов грамматики.Appends the specified dictation grammar to the current sequence of grammar elements.

AppendRuleReference(String)

Добавляет файл определения грамматики к текущей последовательности элементов грамматики.Appends a grammar definition file to the current sequence of grammar elements.

AppendRuleReference(String, String)

Добавляет указанное правило файла определения грамматики к текущей последовательности элементов грамматики.Appends the specified rule of a grammar definition file to the current sequence of grammar elements.

AppendWildcard()

Добавляет элемент грамматики распознавания, соответствующий любой входной информации для текущей последовательности элементов грамматики.Appends a recognition grammar element that matches any input to the current sequence of grammar elements.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Операторы

Addition(Choices, GrammarBuilder)

Создает элемент GrammarBuilder, содержащий объект Choices, за которым следует объект GrammarBuilder.Creates a new GrammarBuilder that contains a Choices object followed by a GrammarBuilder object.

Addition(GrammarBuilder, Choices)

Создает новый объект GrammarBuilder, содержащий объект GrammarBuilder, после которого следует Choices.Creates a new GrammarBuilder that contains a GrammarBuilder followed by a Choices.

Addition(GrammarBuilder, GrammarBuilder)

Создает новый объект GrammarBuilder, содержащий последовательность из двух объектов GrammarBuilder.Creates a new GrammarBuilder that contains a sequence of two GrammarBuilder objects.

Addition(GrammarBuilder, String)

Создает новый объект GrammarBuilder, содержащий объект GrammarBuilder, после которой следует фраза.Creates a new GrammarBuilder that contains a GrammarBuilder followed by a phrase.

Addition(String, GrammarBuilder)

Создает новый объект GrammarBuilder, содержащий фразу, после которой следует объект GrammarBuilder.Creates a new GrammarBuilder that contains a phrase followed by a GrammarBuilder.

Implicit(Choices to GrammarBuilder)

Преобразует объект Choices в объект GrammarBuilder.Converts a Choices object to a GrammarBuilder object.

Implicit(SemanticResultKey to GrammarBuilder)

Преобразует объект SemanticResultKey в объект GrammarBuilder.Converts a SemanticResultKey object to a GrammarBuilder object.

Implicit(SemanticResultValue to GrammarBuilder)

Преобразует объект SemanticResultValue в объект GrammarBuilder.Converts a SemanticResultValue object to a GrammarBuilder object.

Implicit(String to GrammarBuilder)

Преобразует строку в объект GrammarBuilder.Converts a string to a GrammarBuilder object.

Применяется к

Дополнительно