Поделиться через


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 в своих аргументах, компилируют грамматики 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.

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[])

Метод LoadLocalizedGrammarFromType возвращает локализованный экземпляр объекта Grammar, который является наследником Type.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

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

Метод StgInit инициализирует строго типизированную грамматику.

ToString()

Возвращает строку, представляющую текущий объект.

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

События

SpeechRecognized

Вызывается, когда распознаватель речи выполняет распознавание с помощью объекта Grammar.

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

См. также раздел