Sémantická interpretace pro rozpoznávání řeči - Semantic Interpretation for Speech Recognition
![]() | tento článek potřebuje další citace pro ověření.Února 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Sémantická interpretace pro rozpoznávání řeči (SISR) definuje syntaxi a sémantiku anotací k gramatickým pravidlům v Specifikace gramatiky rozpoznávání řeči (SRGS). Od 5. dubna 2007 se jedná o a World Wide Web Consortium doporučení.[1]
Tím, že staví na gramatikách SRGS, umožňuje hlasové prohlížeče přes ECMAScript sémanticky interpretovat složité gramatiky a poskytovat informace zpět do aplikace. Například umožňuje výroky jako „Chtěl bych coca-colu a tři velké pizzy s pepperoni a houby. ", které mají být interpretovány do objektu, kterému aplikace bude rozumět. Například promluva může vytvořit následující objekt s názvem objednat:
{ napít se: { kapalný:"Kola", napít se:"střední" }, pizza: { číslo: "3", pizzasize: "velký", poleva: [ "pepperoni", "houby" ] } }
Pokud se použije proti této gramatice, která kromě standardní gramatiky SRGS ve formátu XML obsahuje označení SISR:
<?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 =„cs“ 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 " verze ="1.0" režim ="hlas" formát značky =„sémantika / 1,0“ root ="objednat"> id ="objednat"> rád bych uri ="#napít se"/> <tag>out.drink = nový objekt (); out.drink.liquid = rules.drink.type; out.drink.drinksize = rules.drink.drinksize;</tag> a uri ="#pizza"/> <tag>out.pizza = pravidla.pizza;</tag> </rule> id ="kindofdrink"> <one-of> <item>Kola</item> <item>pepsi</item> <item>coca cola<tag>out = "koks";</tag></item> </one-of> </rule> id ="foodize"> <tag>out = "střední";</tag> <!-- "medium" is default if nothing said --> opakovat ="0-1"> <one-of> <item>malý<tag>out = "malý";</tag></item> <item>střední</item> <item>velký<tag>out = "velký";</tag></item> <item>pravidelný<tag>out = "střední";</tag></item> </one-of> </item> </rule> <!-- Construct Array of toppings, return Array --> id ="vrcholy"> <tag>out = nové pole;</tag> uri ="#horní"/> <tag>out.push (rules.top);</tag> opakovat ="1-"> a uri ="#horní"/> <tag>out.push (rules.top);</tag> </item> </rule> id ="horní"> <one-of> <item>ančovičky</item> <item>pepperoni</item> <item>houba<tag>out = "houby";</tag></item> <item>houby</item> </one-of> </rule> <!-- Two properties (drinksize, type) on left hand side Rule Variable --> id ="napít se"> uri =„#foodsize“/> uri =„#kindofdrink“/> <tag>out.drinksize = rules.foodsize; out.type = rules.kindofdrink;</tag> </rule> <!-- Three properties on rules.pizza --> id ="pizza"> uri ="#číslo"/> uri =„#foodsize“/> <tag>out.pizzasize = rules.foodsize; out.number = pravidla.number;</tag> pizzy s uri =„#tops“/> <tag>out.topping = rules.tops;</tag> </rule> id ="číslo"> <one-of> <item> <tag>out = 1;</tag> <one-of> <item>A</item> <item>jeden</item> </one-of> </item> <item>dva<tag>ven = 2;</tag></item> <item>tři<tag>ven = 3;</tag></item> </one-of> </rule></grammar>