Grammar Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Объект времени выполнения, который ссылается на грамматика распознавания речи, которые приложение может использовать для определения ограничений для распознавания речи.
public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
- Наследование
-
Grammar
- Производный
Примеры
В следующем примере создается объект из грамматики Grammar распознавания речи, определенной в XML-файле (cities.xml). Содержимое файла cities.xml отображается в следующем примере XML.
// Load a cities grammar from a local file and return the grammar object.
private static Grammar CreateGrammarFromFile()
{
Grammar citiesGrammar = new Grammar(@"c:\temp\cities.xml");
citiesGrammar.Name = "SRGS File Cities Grammar";
return citiesGrammar;
}
<?xml version="1.0" encoding="UTF-8" ?>
<grammar version="1.0" xml:lang="en-US"
xmlns="http://www.w3.org/2001/06/grammar"
tag-format="semantics/1.0" root="Main">
<!-- cities.xml:
Defines an SRGS grammar for requesting a flight. This grammar includes
a Cities rule that lists the cities that can be used for departures
and destinations. -->
<rule id="Main">
<item>
I would like to fly from <ruleref uri="#Cities"/>
to <ruleref uri="#Cities"/>
</item>
</rule>
<rule id="Cities" scope="public">
<one-of>
<item> Seattle </item>
<item> Los Angeles </item>
<item> New York </item>
<item> Miami </item>
</one-of>
</rule>
</grammar>
Комментарии
Грамматика распознавания речи — это набор правил или ограничений, которые определяют, что обработчик распознавания речи может распознать как значимые входные данные. Дополнительные сведения о создании и использовании грамматик распознавания речи см. в разделах Распознавание речи и Создание грамматик с помощью SrgsGrammar.
После создания грамматики необходимо встроить ее в Grammar объект, который может загружать модуль распознавания речи и который приложение может использовать во время выполнения для управления распознаванием речи. Конструктор можно использовать для Grammar создания экземпляра Grammar из GrammarBuilder объекта или SrgsDocument , а также из файла или объекта , Stream содержащего описание грамматики в поддерживаемом формате. Поддерживаются следующие форматы:
Файлы в формате XML, соответствующие спецификации грамматики распознавания речи W3C (SRGS) версии 1.0
Грамматики, скомпилированные в двоичный файл с расширением CFG
Конструкторы грамматики, которые принимают файлы грамматики в формате XML в своих аргументах, компилируют грамматики XML в двоичный формат, чтобы оптимизировать их для загрузки и использования подсистемой распознавания речи. Вы можете сократить время, необходимое для создания Grammar объекта из грамматики в формате XML, предварительно скомпилируя грамматику с помощью одного из Compile методов .
Механизм распознавания речи приложения, управляемый SpeechRecognizer объектом или SpeechRecognitionEngine , может загружать несколько грамматик распознавания речи. Приложение может независимо включать или отключать отдельные грамматики, задавая Enabled свойство и изменяя поведение распознавания с помощью Grammar свойств, таких как Priority свойства и Weight .
Событие грамматики SpeechRecognized возникает, когда входные данные соответствуют пути через грамматику.
Примечание
Рекомендуется проверить безопасность любого универсального кода ресурса (URI) или библиотеки DLL, используемых Grammar для создания объекта.
Windows и платформа распознавания речи обеспечивают безопасность приложений, создающих Grammar экземпляр из библиотеки DLL или грамматики, поддерживающей скрипты.
Скрипты в Grammar объектах всегда выполняются так, как если бы они загружались с веб-страницы в Internet Zone
. Среда CLR изолирует любую библиотеку DLL, загруженную для получения определения грамматики.
Конструкторы
Grammar() |
Инициализирует новый экземпляр класса Grammar. |
Grammar(GrammarBuilder) |
Инициализирует новый экземпляр класса Grammar из объекта GrammarBuilder. |
Grammar(SrgsDocument) |
Инициализирует новый экземпляр класса Grammar из объекта SrgsDocument. |
Grammar(SrgsDocument, String) |
Инициализирует новый экземпляр Grammar класса из SrgsDocument объекта и задает корневое правило. |
Grammar(SrgsDocument, String, Object[]) |
Инициализирует новый экземпляр класса Grammar из экземпляра SrgsDocument, указывает имя правила, которое должно функционировать как точка входа в грамматику. |
Grammar(SrgsDocument, String, Uri) |
Инициализирует новый экземпляр Grammar класса из SrgsDocument объекта , задает корневое правило и определяет базовый универсальный код ресурса (URI) для разрешения относительных ссылок на правила. |
Grammar(SrgsDocument, String, Uri, Object[]) |
Инициализирует новый экземпляр класса Grammar из экземпляра SrgsDocument, указывает имя правила, которое должно функционировать как точка входа в грамматику, и базовый URI для разрешения относительных ссылок. |
Grammar(Stream) | |
Grammar(Stream, String) |
Инициализирует новый экземпляр класса Grammar из Stream и указывает корневое правило. |
Grammar(Stream, String, Object[]) |
Инициализирует новый экземпляр класса Grammar из Stream и указывает корневое правило. |
Grammar(Stream, String, Uri) |
Инициализирует новый экземпляр класса Grammar из потока, определяет корневое правило и определяет базовый универсальный идентификатор ресурса (URI) для разрешения относительных ссылок на правила. |
Grammar(Stream, String, Uri, Object[]) |
Инициализирует новый экземпляр класса Grammar для Stream и определяет корневое правило и базовый код URI для разрешения относительных ссылок. |
Grammar(String) |
Инициализирует новый экземпляр класса Grammar из файла. |
Grammar(String, String) |
Инициализирует новый экземпляр класса Grammar из файла и указывает корневое правило. |
Grammar(String, String, Object[]) |
Инициализирует новый экземпляр класса Grammar из файла, содержащего определение грамматики, и указывает имя правила, которое должно функционировать как точка входа в грамматику. |
Свойства
Enabled |
Получает или задает значение, которое определяет, может ли Grammar использоваться распознавателем речи для выполнения распознавания. |
IsStg |
Получает значение, указывающее является ли грамматика строго типизированной. |
Loaded |
Получает значение, указывающее загружен ли объект Grammar распознавателем речи. |
Name |
Возвращает или задает имя объекта Grammar. |
Priority |
Получает или задает значение приоритета объекта Grammar. |
ResourceName |
Получает или задает значение с именем двоичного ресурса, который использовался для загрузки текущего Grammar. |
RuleName |
Получает имя корневого правила или точки входа объекта Grammar. |
Weight |
Получает или задает значение веса объекта Grammar. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
LoadLocalizedGrammarFromType(Type, Object[]) |
Метод |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
StgInit(Object[]) |
Метод |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
События
SpeechRecognized |
Вызывается, когда распознаватель речи выполняет распознавание с помощью объекта Grammar. |