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 версии 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, String, Object[])

Инициализирует новый экземпляр класса Grammar из экземпляра SrgsDocumentи задает имя правила, которое будет точкой входа в грамматику.

Grammar(SrgsDocument, String, Uri, Object[])

Инициализирует новый экземпляр класса Grammar из экземпляра SrgsDocument, а также указывает имя правила для точки входа в грамматику и базовый URI для разрешения относительных ссылок.

Grammar(SrgsDocument, String, Uri)

Инициализирует новый экземпляр класса Grammar из объекта SrgsDocument, задает корневое правило и определяет базовый универсальный идентификатор ресурса (URI) для разрешения относительных ссылок на правила.

Grammar(SrgsDocument, String)

Инициализирует новый экземпляр класса Grammar из объекта SrgsDocument и задает корневое правило.

Grammar(SrgsDocument)

Инициализирует новый экземпляр класса Grammar из объекта SrgsDocument.

Grammar(Stream, String, Object[])

Инициализирует новый экземпляр класса Grammar из Stream и задает корневое правило.

Grammar(Stream, String, Uri, Object[])

Инициализирует новый экземпляр класса GrammarStream и задает корневое правило и базовый URI для разрешения относительных ссылок.

Grammar(Stream, String, Uri)

Инициализирует новый экземпляр класса Grammar из потока, задает корневое правило и определяет базовый универсальный идентификатор ресурса (URI) для разрешения относительных ссылок на правила.

Grammar(Stream, String)

Инициализирует новый экземпляр класса Grammar из Stream и задает корневое правило.

Grammar(Stream)

Инициализирует новый экземпляр класса Grammar из Stream.

Grammar(String, String, Object[])

Инициализирует новый экземпляр класса Grammar из файла, содержащего определение грамматики, и задает имя правила, которое должно быть точкой входа в грамматику.

Grammar(String, String)

Инициализирует новый экземпляр класса Grammar из файла и задает корневое правило.

Grammar(String)

Инициализирует новый экземпляр класса 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.

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

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