De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

La interpretación semántica para el reconocimiento de voz (SISR) define la sintaxis y la semántica de las anotaciones a las reglas gramaticales en la especificación gramatical de reconocimiento de voz (SRGS). Desde el 5 de abril de 2007, es una recomendación del World Wide Web Consortium . [1]

Al basarse en las gramáticas SRGS, permite que los navegadores de voz a través de ECMAScript interpreten semánticamente gramáticas complejas y proporcionen la información a la aplicación. Por ejemplo, permite expresiones como "Me gustaría una Coca-Cola y tres pizzas grandes con pepperoni y champiñones". para ser interpretado en un objeto que pueda ser entendido por una aplicación. Por ejemplo, el enunciado podría producir el siguiente objeto llamado orden :

 {  bebida :  {  líquido : "coca cola" ,  tamaño de bebida : "mediano"  },  pizza :  {  número :  "3" ,  tamaño de pizzas :  "grande" ,  cobertura :  [  "pepperoni" ,  "champiñones"  ]  }  }

Si se usa contra esta gramática que incluye marcado SISR además de la gramática SRGS estándar en formato XML:

<? xml version = "1.0" encoding = "UTF-8"?>  <! DOCTYPE grammar PUBLIC "- // W3C // DTD GRAMMAR 1.0 // EN"  "http://www.w3.org/TR/speech -grammar / grammar.dtd "> <grammar  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 "  version = " 1.0 "  modo = " voz "  formato de etiqueta = " semántica / 1.0 "  raíz = " orden " > <rule  id = "orden" > me gustaría un <ruleref  uri = "#drink" />  <tag> out.drink = new Object (); out.drink.liquid = rules.drink.type; out.drink.drinksize = rules.drink.drinksize; </tag> y <ruleref  uri = "#pizza" />  <tag> out.pizza = rules.pizza; </tag>  </rule>  <rule  id = "kindofdrink" >  <one-of>  <item> coca cola </item>  <item> pepsi </item>  <item> coca cola <tag> out = "coca cola" ; </tag> </item>  </one-of>  </rule>  <rule  id = "tamaño de la comida" >  <tag> out = "medium"; </tag>  <! - "medium" es el valor predeterminado si no se dice nada -> <item  repeat = "0-1" >  <one-of>  <item> small<tag> out = "pequeño"; </tag> </item>  <item> mediano </item>  <item> grande <tag> out = "large"; </tag> </item>  <item> regular <tag> out = "medium"; </tag> </item>  </one-of>  </item>  </rule>  <! - Construye una matriz de ingredientes, devuelve una matriz ->  <rule  id = "tops" >  <tag> out = new Formación; </tag>  <ruleref  uri = "#top" />  <tag> out.push (rules.top);</tag>  <item  repeat = "1-" > y <ruleref  uri = "#top" />  <tag> out.push (rules.top); </tag>  </item>  </rule>  <rule  id = "top" >  <one-of>  <item> anchoas </item>  <item> pepperoni </item>  <item> champiñón <tag> out = "hongos"; </tag> </item>  <item> champiñones </item>  </one-of>  </rule>  <! - Dos propiedades (tamaño de bebida, tipo) en el lado izquierdo Variable de regla ->  <rule  id = "beber " >  <ruleref  uri = " #tamaño de los alimentos " />  <ruleref uri = "#kindofdrink" />  <etiqueta> out.drinksize = rules.foodsize; out.type = rules.kindofdrink; </tag>  </rule>  <! - Tres propiedades en rules.pizza ->  <rule  id = "pizza" >  <ruleref  uri = "#number" />  <ruleref  uri = "#foodsize" />  < etiqueta> out.pizzasize = rules.foodsize; out.number = rules.number; </tag> pizzas con <ruleref  uri = "#tops" />  <tag> out.topping = rules.tops; </tag>  </rule>  <rule  id = "number" >  <one-of>  <item>  <tag> out = 1; </tag>  <one-of>  <item> a </item>  <item> uno </item>  </one-of>  </item>  <item> dos <tag> out = 2; </tag> </item>  <item> tres <tag> out = 3; </tag> </item>  </one-of>  </ rule> </grammar>

Ver también [ editar ]

Referencias [ editar ]

Enlaces externos [ editar ]