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