Спецификация грамматики распознавания речи - Википедия - Speech Recognition Grammar Specification

Спецификация грамматики распознавания речи (SRGS) - это W3C стандарт того, как грамматики распознавания речи указаны. Грамматика распознавания речи - это набор шаблонов слов, который сообщает системе распознавания речи, чего ожидать от человека. Например, если вы позвоните автосекретарь приложение, вам будет предложено ввести имя человека (с ожиданием, что ваш звонок будет переведен на телефон этого человека). Затем он запустит распознаватель речи, присвоив ему грамматику распознавания речи. Эта грамматика содержит имена людей в каталоге автосекретаря и набор шаблонов предложений, которые являются типичными ответами вызывающих абонентов на подсказку.

SRGS определяет два альтернативных, но эквивалентных синтаксиса, один на основе XML и один с использованием дополненного BNF формат. На практике синтаксис XML используется чаще.

И ABNF, и XML-форма обладают выразительной силой контекстно-свободная грамматика. Грамматический процессор, не поддерживающий рекурсивные грамматики, обладает выразительной силой конечный автомат или же регулярное выражение язык.

Если бы распознаватель речи возвратил только строку, содержащую фактические слова, произнесенные пользователем, голосовое приложение должно было бы проделать утомительную работу по извлечению семантического значения из этих слов. По этой причине грамматики SRGS могут быть украшены тег элементы, которые при исполнении создают семантический результат. SRGS не определяет содержимое элементов тега: это сделано в сопутствующем стандарте W3C, Семантическая интерпретация для распознавания речи (SISR). SISR основан на ECMAScript, а операторы ECMAScript внутри тегов SRGS создают объект семантического результата ECMAScript, который легко обрабатывается голосовым приложением.

И SRGS, и SISR являются Рекомендациями W3C, заключительным этапом трека стандартов W3C. W3C VoiceXML Стандарт, который определяет, как указываются голосовые диалоги, сильно зависит от SRGS и SISR.

Примеры

Вот пример расширенного BNF SRGS, который можно использовать в приложении автосекретаря:

 #ABNF 1.0 ISO-8859-1;  // По умолчанию язык грамматики - американский английский язык en-US;  // Одноязычное прикрепление к токенам // Обратите внимание, что "fr-CA" (канадский французский) применяется только к // слово "oui" из-за правил приоритета $ да = да | ой! фр-CA;  // Одноязычное приложение к расширению $ people1 = (Мишель Трембле | Андре Рой)! fr-CA;  // Обработка языкового произношения одного и того же слова // Способный распознаватель речи будет слушать мексиканский испанский и // Английский (США) произношение. $ люди2 = Jose! En-US | Хосе! Es-MX;  /**  * Возможен многоязычный ввод  * @пример могу я поговорить с Андре Роем  * @пример могу я поговорить с Хосе */ общественный $ запрос = могу ли я поговорить с ($ people1 | $ люди2);

Вот тот же пример SRGS с использованием формы XML:

<?xml version="1.0" encoding="ISO-8859-1"?>                  "http://www.w3.org/TR/speech-grammar/grammar.dtd">  <!-- the default grammar language is US English --><грамматика xmlns ="http://www.w3.org/2001/06/grammar"         xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance"          xsi: schemaLocation ="http://www.w3.org/2001/06/grammar                              http://www.w3.org/TR/speech-grammar/grammar.xsd "         xml: lang ="en-US" версия ="1.0">    <!--     привязка к токенам на одном языке     "да" наследует американский английский язык     «oui» - канадский французский язык  -->  <правило id ="да">    <one-of>      <item>да</item>      <элемент xml: lang ="fr-CA">ну</item>    </one-of>  </rule>     <!-- Single language attachment to an expansion -->  <правило id ="люди1">    <один из xml: lang ="fr-CA">      <item>Мишель Трембле</item>      <item>Андре Рой</item>    </one-of>  </rule>    <!--     Обработка языкового произношения одного и того же слова     Способный распознаватель речи будет слушать мексиканский испанский      и американское английское произношение.  -->  <правило id ="люди2">    <one-of>      <элемент xml: lang ="en-US">Хосе</item>      <элемент xml: lang ="es-MX">Хосе</item>    </one-of>  </rule>    <!-- Multi-lingual input is possible -->  <правило id ="запрос" сфера действия ="общественный">    <example> могу я поговорить с Андре Роем </example>    <example> могу я поговорить с Хосе </example>      могу ли я поговорить с <one-of>      <item>  uri ="# человек1"/> </item>      <item>  uri ="# человек2"/> </item>    </one-of>  </rule></grammar>

Смотрите также

внешняя ссылка