Семантическая интерпретация для распознавания речи - Semantic Interpretation for Speech Recognition

Семантическая интерпретация для распознавания речи (SISR) определяет синтаксис и семантику аннотаций к правилам грамматики в Спецификация грамматики распознавания речи (SRGS). С 5 апреля 2007 г. Консорциум World Wide Web рекомендация.[1]

Основываясь на грамматиках SRGS, он позволяет голосовые браузеры через ECMAScript для семантической интерпретации сложных грамматик и передачи информации обратно в приложение. Например, он позволяет произносить такие фразы, как "Я хочу кока-колу и три большие пиццы с пепперони и грибы. "для интерпретации в объект, понятный приложению. Например, высказывание может создать следующий объект с именем порядок:

 {   напиток: {     жидкость:"кокс",     выпить:"Средняя"   },   пицца: {     количество: "3",     пицца: "большой",     топпинг: [ "пепперони", "грибы" ]   } }

Если используется против этой грамматики, которая включает разметку SISR в дополнение к стандартной грамматике SRGS в формате XML:

<?xml version="1.0" encoding="UTF-8"?>                   "http://www.w3.org/TR/speech-grammar/grammar.dtd"><грамматика xmlns ="http://www.w3.org/2001/06/grammar" xml: lang ="en"         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 "         версия ="1.0" режим ="голос" формат тега ="семантика / 1.0" корень ="порядок">   <правило id ="порядок">      Я бы хотел  uri ="#напиток"/>      <tag>out.drink = новый объект (); out.drink.liquid = rules.drink.type; out.drink.drinksize = rules.drink.drinksize;</tag>      и  uri ="#пицца"/>      <tag>out.pizza = rules.pizza;</tag>   </rule>   <правило id ="kindofdrink">      <one-of>         <item>кокс</item>         <item>пепси</item>         <item>Кока-Кола<tag>out = "кокс";</tag></item>      </one-of>   </rule>   <правило id ="foodize">      <tag>out = "средний";</tag> <!-- "medium" is default if nothing said -->      <элемент повторить ="0-1">         <one-of>            <item>маленький<tag>out = "маленький";</tag></item>            <item>Средняя</item>            <item>большой<tag>out = "большой";</tag></item>            <item>регулярный<tag>out = "средний";</tag></item>         </one-of>      </item>   </rule>   <!-- Construct Array of toppings, return Array -->   <правило id ="вершины">      <tag>out = новый массив;</tag>       uri ="#верх"/>      <tag>out.push (rules.top);</tag>      <элемент повторить ="1-">         и  uri ="#верх"/>         <tag>out.push (rules.top);</tag>      </item>   </rule>   <правило id ="верх">      <one-of>         <item>анчоусы</item>         <item>пепперони</item>         <item>гриб<tag>out = "грибы";</tag></item>         <item>грибы</item>      </one-of>   </rule>   <!-- Two properties (drinksize, type) on left hand side Rule Variable -->   <правило id ="напиток">       uri ="#foodsize"/>       uri ="#kindofdrink"/>      <tag>out.drinksize = rules.foodsize; out.type = rules.kindofdrink;</tag>   </rule>   <!-- Three properties on rules.pizza -->   <правило id ="пицца">       uri ="#количество"/>       uri ="#foodsize"/>      <tag>out.pizzasize = rules.foodsize; out.number = rules.number;</tag>      пицца с  uri ="#tops"/>      <tag>out.topping = rules.tops;</tag>   </rule>   <правило id ="количество">      <one-of>         <item>            <tag>out = 1;</tag>            <one-of>               <item>а</item>               <item>один</item>            </one-of>         </item>         <item>два<tag>out = 2;</tag></item>         <item>три<tag>out = 3;</tag></item>      </one-of>   </rule></grammar>

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

использованная литература

внешние ссылки