Nutqni aniqlash uchun semantik talqin - Semantic Interpretation for Speech Recognition

Nutqni aniqlash uchun semantik talqin (SISR) grammatik qoidalarga izohlarning sintaksisini va semantikasini belgilaydi Nutqni aniqlash grammatikasining spetsifikatsiyasi (SRGS). 2007 yil 5 apreldan boshlab bu a Butunjahon Internet tarmog'idagi konsortsium tavsiya.[1]

SRGS grammatikalariga asoslanib, bu imkon beradi ovozli brauzerlar orqali ECMAScript murakkab grammatikalarni semantik jihatdan izohlash va dasturga qayta ma'lumot berish. Masalan, "Menga Coca-cola va uchta yirik pitssa kerak pepperoni va qo'ziqorinlar. "ilova tomonidan tushunilishi mumkin bo'lgan ob'ektga talqin qilinishi kerak. Masalan, so'zlashuv quyidagi ob'ektni yaratishi mumkin buyurtma:

 {   ichish: {     suyuqlik:"koks",     ichish:"o'rta"   },   pizza: {     raqam: "3",     pizza: "katta",     tepalik: [ "pepperoni", "qo'ziqorinlar" ]   } }

Agar XR formatidagi standart SRGS grammatikasiga qo'shimcha ravishda SISR belgisini o'z ichiga olgan ushbu grammatikaga qarshi ishlatilsa:

<?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 ="uz"         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 "         versiya ="1.0" rejim ="ovoz" tag-format ="semantika / 1.0" root ="buyurtma">    id ="buyurtma">      Men  uri ="# ichish"/>      <tag>out.drink = yangi ob'ekt (); out.drink.liquid = qoidalar.drink.type; out.drink.drinksize = qoidalar.drink.drinksize;</tag>      va  uri ="# pizza"/>      <tag>out.pizza = qoidalar.pizza;</tag>   </rule>    id ="kindofdrink">      <one-of>         <item>koks</item>         <item>pepsi</item>         <item>Coca Cola<tag>out = "koks";</tag></item>      </one-of>   </rule>    id ="oziq-ovqat">      <tag>tashqariga = "o'rta";</tag> <!-- "medium" is default if nothing said -->       takrorlang ="0-1">         <one-of>            <item>kichik<tag>tashqariga = "kichik";</tag></item>            <item>o'rta</item>            <item>katta<tag>tashqariga = "katta";</tag></item>            <item>muntazam<tag>tashqariga = "o'rta";</tag></item>         </one-of>      </item>   </rule>   <!-- Construct Array of toppings, return Array -->    id ="tepalar">      <tag>chiqish = yangi Array;</tag>       uri ="# top"/>      <tag>out.push (Rules.top);</tag>       takrorlang ="1-">         va  uri ="# top"/>         <tag>out.push (Rules.top);</tag>      </item>   </rule>    id ="yuqori">      <one-of>         <item>hamsi</item>         <item>pepperoni</item>         <item>qo'ziqorin<tag>out = "qo'ziqorinlar";</tag></item>         <item>qo'ziqorinlar</item>      </one-of>   </rule>   <!-- Two properties (drinksize, type) on left hand side Rule Variable -->    id ="ichish">       uri ="#foodsize"/>       uri ="#kindofdrink"/>      <tag>out.drinksize = qoidalar.foodsize; out.type = qoidalar.kindofdrink;</tag>   </rule>   <!-- Three properties on rules.pizza -->    id ="pizza">       uri ="# raqam"/>       uri ="#foodsize"/>      <tag>out.pizzasize = qoidalar.foodsize; out.number = qoidalar.number;</tag>      bilan pitszalar  uri ="#tops"/>      <tag>out.topping = Rules.tops;</tag>   </rule>    id ="raqam">      <one-of>         <item>            <tag>chiqish = 1;</tag>            <one-of>               <item>a</item>               <item>bitta</item>            </one-of>         </item>         <item>ikkitasi<tag>chiqish = 2;</tag></item>         <item>uchta<tag>chiqish = 3;</tag></item>      </one-of>   </rule></grammar>

Shuningdek qarang

Adabiyotlar

Tashqi havolalar