Семантическая интерпретация для распознавания речи - Semantic Interpretation for Speech Recognition
эта статья нужны дополнительные цитаты для проверка.Февраль 2015 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Семантическая интерпретация для распознавания речи (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>