GrammarBuilder Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет механизм для программного создания ограничений для грамматики распознавания речи.
public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
- Наследование
-
GrammarBuilder
Примеры
В следующем примере используются GrammarBuilder Choices объекты и для создания грамматики, которая может распознать любую из двух фраз: «make Background колорчоице» или «Set Background to колорчоице».
В примере используется Choices объект для создания списка допустимых значений для колорчоице из массива String объектов. ChoicesОбъект является аналогом one-of
элемента в спецификации SRGS и содержит набор альтернативных фраз, любой из которых можно распознать при разговоре. В примере также используется Choices объект для группирования массива из двух GrammarBuilder объектов в пару альтернативных фраз, которые может распознать результирующая грамматика. Альтернативные слова или фразы являются компонентом большинства грамматик, а Choices объект предоставляет эту функцию для грамматик, созданных с помощью GrammarBuilder .
В примере наконец создается Grammar объект из, GrammarBuilder созданного на основе Choices объекта.
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. Если вы знакомы с SRGS, но хотите создать грамматики программно, можно использовать System.Speech.Recognition.SrgsGrammar пространство имен, члены которого близко соответствуют элементам и атрибутам, определенным в SRGS. Если вы не знакомы с SRGS или хотите использовать упрощенный, программный подход к созданию грамматик, с помощью которых можно эффективно выполнять многие распространенные сценарии; можно использовать GrammarBuilder Choices классы и.
Используйте GrammarBuilder объекты для создания иерархического дерева, состоящего из Choices объектов, содержащих альтернативные фразы, в которых используются фразы преамбулы и POST-преамбулы на каждом узле, а также начальные значения, которые передают значение обратно в приложение.
Чтобы GrammarBuilder создать объект с помощью Grammar , выполните следующие действия.
Создание объекта GrammarBuilder.
Добавление ограничений к GrammarBuilder , таким как объекты,,,, String Choices SemanticResultKey SemanticResultValue DictationGrammar и другие GrammarBuilder объекты, определяющие ограничения грамматики.
Используйте один из Grammar конструкторов для создания Grammar объекта из завершенной GrammarBuilder грамматики.
Разработка с помощью GrammarBuilder лучше всего подходит для грамматики с одним правилом, содержащим списки, или, возможно, списки. Чтобы программно создать грамматики с несколькими правилами или ссылки на внутренние правила, используйте классы System.Speech.Recognition.SrgsGrammar пространства имен.
Экземпляры GrammarBuilder также могут быть получены неявными преобразованиями из некоторых других классов или путем объединения GrammarBuilder со вторым объектом, который содержит ограничения для грамматики. Дополнительные сведения см. в описании Implicit Addition операторов и Add методов.
Чтобы добавить правила в существующую GrammarBuilder , используйте Add методы,, Append , AppendDictation AppendRuleReference и AppendWildcard .
Важно!
Распознаватель речи может вызывать исключение при использовании грамматики распознавания речи, содержащей повторяющиеся семантические элементы с одинаковым именем ключа или несколькими семантическими элементами, которые могут периодически изменять значение одного и того же семантического элемента.
Чтобы упростить отладку, DebugShowPhrases свойство возвращает текущее состояние в GrammarBuilder виде строки.
Конструкторы
GrammarBuilder() |
Инициализирует новый пустой экземпляр класса GrammarBuilder. |
GrammarBuilder(Choices) |
Инициализирует новый экземпляр класса GrammarBuilder из набора объектов. |
GrammarBuilder(GrammarBuilder, Int32, Int32) |
Инициализирует новый экземпляр класса GrammarBuilder из повторяющегося элемента. |
GrammarBuilder(SemanticResultKey) |
Инициализирует новый экземпляр класса GrammarBuilder из семантического ключа. |
GrammarBuilder(SemanticResultValue) |
Инициализирует новый экземпляр класса GrammarBuilder из семантического значения. |
GrammarBuilder(String) |
Инициализирует новый экземпляр класса GrammarBuilder из последовательности слов. |
GrammarBuilder(String, Int32, Int32) |
Инициализирует новый экземпляр класса GrammarBuilder из последовательности слов в String и определяет, сколько раз можно повторить String. |
GrammarBuilder(String, SubsetMatchingMode) |
Инициализирует новый экземпляр класса GrammarBuilder для подмножества последовательности слов. |
Свойства
Culture |
Получает или задает язык и региональные параметры грамматики распознавания речи. |
DebugShowPhrases |
Получает строку, которая отображает содержимое и структуру грамматики, содержащейся в GrammarBuilder. |
Методы
Add(Choices, GrammarBuilder) |
Создает элемент GrammarBuilder, содержащий объект Choices, за которым следует объект GrammarBuilder. |
Add(GrammarBuilder, Choices) |
Создает элемент GrammarBuilder, содержащий объект GrammarBuilder, за которым следует объект Choices. |
Add(GrammarBuilder, GrammarBuilder) |
Создает новый объект GrammarBuilder, содержащий последовательность из двух объектов GrammarBuilder. |
Add(GrammarBuilder, String) |
Создает новый объект GrammarBuilder, содержащий объект GrammarBuilder, после которого следует фраза. |
Add(String, GrammarBuilder) |
Создает новый объект GrammarBuilder, содержащий фразу, после которой следует объект GrammarBuilder. |
Append(Choices) |
Добавляет набор альтернатив к текущей последовательности элементов грамматики. |
Append(GrammarBuilder) |
Добавляет элемент грамматики к текущей последовательности элементов грамматики. |
Append(GrammarBuilder, Int32, Int32) |
Добавляет повторный элемент грамматики к текущей последовательности элементов грамматики. |
Append(SemanticResultKey) |
Добавляет семантический ключ к текущей последовательности элементов грамматики. |
Append(SemanticResultValue) |
Добавляет семантическое значение к текущей последовательности элементов грамматики. |
Append(String) |
Добавляет фразу к текущей последовательности элементов грамматики. |
Append(String, Int32, Int32) |
Добавляет повторную фразу к текущей последовательности элементов грамматики. |
Append(String, SubsetMatchingMode) |
Добавляет элемент для подмножества фразы к текущей последовательности элементов грамматики. |
AppendDictation() |
Добавляет грамматику диктовки по умолчанию к текущей последовательности элементов грамматики. |
AppendDictation(String) |
Добавляет указанную грамматику диктовки к текущей последовательности элементов грамматики. |
AppendRuleReference(String) |
Добавляет файл определения грамматики к текущей последовательности элементов грамматики. |
AppendRuleReference(String, String) |
Добавляет указанное правило файла определения грамматики к текущей последовательности элементов грамматики. |
AppendWildcard() |
Добавляет элемент грамматики распознавания, соответствующий любой входной информации для текущей последовательности элементов грамматики. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |