stringtranslate.com

Interpretación semántica para el reconocimiento de voz

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 gramática 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 gramáticas SRGS, permite a los navegadores de voz a través de ECMAScript interpretar semánticamente gramáticas complejas y proporcionar 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, la expresión podría producir el siguiente objeto llamado orden :

 { bebida : { líquido : "coca cola" , tamaño de la bebida : "mediana" }, pizza : { número : "3" , tamaño de la pizza : "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 versión="1.0" codificación="UTF-8"?> <!DOCTYPE gramática PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN" "  http://www.w3.org/TR/speech -grammar/grammar.dtd"> <gramática 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" mode= "voice" tag-format= " semantics/1.0" root= "order" > <rule id= "order" > Me gustaría un <ruleref uri= "#drink" /> <tag> out.drink = nuevo Objeto(); out.drink.liquid=reglas.tipo.de bebida; out.drink.drinksize=reglas.drink.drinksize; </tag> y <ruleref uri= "#pizza" /> <tag> out.pizza=rules.pizza; </tag> </rule> <rule id= "kindofdrink" > <one-of> <item> coca </item> <item> pepsi </item> <item> coca cola <tag> out="coca" ; </tag></item> </one-of> </rule> <rule id= "foodsize" > <tag> out="medium"; </tag> <!-- "medio" es el valor predeterminado si no se dice nada --> <item repetir= "0-1" > <one-of> <item> pequeño <tag> out="small"; </tag></item> <item> mediano </item> <item> grande <tag> out="grande"; </tag></item> <item> regular <tag> out="medio"; </tag></item> </one-of> </item> </rule> <!-- Construir una matriz de ingredientes,return Array --> < id de regla= "tops" > <etiqueta> out=new Array; </tag> <ruleref uri= "#top" /> <tag> out.push(rules.top); </tag> <item repetir= "1-" > y <ruleref uri= "#top" /> <etiqueta>                                                                 out.push(reglas.arriba); </tag> </item> </rule> <rule id= "top" > <one-of> <item> anchoas </item> <item> pepperoni </item> <item> champiñones <tag> out= "hongos"; </tag></item> <item> hongos </item> </one-of> </rule> <!-- Dos propiedades (tamaño de bebida, tipo) en el lado izquierdo Variable de regla --> <rule id= "bebida" > <ruleref uri= "#foodsize" /> <ruleref uri= "#kindofdrink" /> <tag> out.drinksize=rules.foodsize; out.type=rules.kindofdrink; </tag> </rule> <!-- Tres propiedades en reglas.pizza --> <rule id= "pizza" > <ruleref uri= "#number" /> <ruleref uri= "#foodsize" /> < etiqueta> out.pizzasize=rules.foodsize; out.number=reglas.número; </tag> pizzas con <ruleref uri= "#tops" /> <tag> out.topping=rules.tops; </tag> </rule> <rule id= "número" > <uno de> <item> <tag> out=1; </tag> <uno de> <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

Referencias

  1. ^ Interpretación semántica para el reconocimiento de voz (SISR) Versión 1.0

enlaces externos