Voice eXtensible Markup Language (VXML) Voice XML 1.0 Voice eXtensible Markup Language (VXML)
Introducción VoiceXML Lenguaje Web Miembro de la familia Markup Language Similar a HTML y XML. Capaz de crear servicios de voz automáticos en Internet Utiliza tecnología cercana a la empleada para crear páginas web.
HTML vs. VoiceXML Requisitos de acceso: HTML VoiceXML navegador gráfico con monitor, teclado y un mouse VoiceXML medio auditivo para la entrada y salida de datos. VoiceXML puede implementar nuevas formas de navegación utilizando medios de voz aparatos inalámbricos.
HTML vs. VoiceXML
Historia de VoiceXML AT&T - Bell Labs AT&T & Lucent Technologies proyecto PhoneWeb AT&T & Lucent Technologies TelePortal. Motorola VoxML
Historia de VoiceXML
Voice XML 1.0 VoiceXML Forum AT&T, IBM, Motorola y Lucent Technologies 398 compañias VoiceXML 1.0 Marzo 2000 www.voicexml.org World Wide Web Consortium www.w3.org Recomendación (Mayo 2000)
El porqué de VoiceXML "La gente no quiere únicamente que su ordenador sea capaz de reconocerle la voz, sino que también lo pueda hacer su teléfono y que cada página web pueda ser navegada a través de la voz". Bill Gates
Usos de VoiceXML VoiceXML es el lenguaje utilizado en los portales de voz que ofrecen servicios de: Noticias Clima Bolsa Lectura de correo electrónico
IBM’s Voice Server Con VoiceXML, al utilizar un servidor de voz no se requiere de un teléfono con tecnología WAP
El futuro de VoiceXML Aplicaciones creadas en VoiceXML: Intención: No pretenden reemplazar a los navegadores visuales Internet Explorer o Netscape Navigator. Intención: Abrir un abanico de nuevos servicios online, a los que se pueda acceder más fácilmente usando la voz. Audiencia Cautiva (conductores)
Aplicaciones de VoiceXML Ejemplos: Comprar boletos para ir al cine Ordenar una pizza Hacer un trámite bancario Mandar e-mail usando un teléfono (sin necesidad de utilizar un teclado)
Uso de inalámbricos y celulares Comunicación vía telefónica Muy importante en el desarrollo de VoiceXML El acceso a Web mediante un navegador por voz y a través de comunicación celular Teléfonos móviles o palmtops Motiva alianzas estratégicas entre las empresas. Ejemplo de ello es que IBM y Nokia Trabajan juntas en el reconocimiento de voz para aparatos celulares.
Múltiples usos de VoiceXML
Ventajas VoiceXML aprovecha el crecimiento de la World Wide Web incorporando nuevas propiedades Reconocimiento de voz Conversión de texto a voz, Síntesis de lenguaje hablado a texto Los navegadores de voz otorgan a Internet la capacidad de reconocer la comunicación hablada y de contestar oralmente a los requerimientos de los navegantes.
Ventajas cont… VoiceXML facilitará el acceso a Internet Puede trabajar en plataformas diversas de acuerdo al navegador de que se trate, pueden trabajar con: teléfonos comunes, celulares, set top boxes televisores digitales, minicomputadoras, handhelds palmtops con conexión celular a la Web. VoiceXML facilitará el acceso a Internet Para personas con dificultades visuales o motoras.
Resumen VoiceXML es un lenguaje de vanguardia Capaz de crear aplicaciones que permiten acceder a páginas Web a través del teléfono y la voz, tanto para leer como para escribir. La tecnología se basa en el lenguaje “VoiceXML” Una ampliación del XML especializada en aplicaciones vocales en Web.
VoiceXML: Estructura Estructura de una aplicación Un documento contiene uno o mas diálogos Una aplicación contiene uno o mas documentos Una sesión puede acceder a una o mas aplicaciones
Creando una aplicación básica La sintaxis de VoiceXML esta basada en el formato ‘tags’ utilizado con HTML y XML Ejemplo: < element_name attribute_name="attribute_value"> ......contained items...... < /element_name>
Características de VoiceXML Una aplicación VoiceXML contiene uno o más documentos de texto Dichos documentos se denotan por su extensión “.vxml” Generalmente los programas de VoiceXML inician con la siguiente lineas: <?xml version="1.0"?> <vxml version="1.0">
Formas <?xml version="1.0"?> <vxml version="1.0"> Una vez dentro de la tag <vxml> , el documento se divide en elementos que incluyen diálogos llamados formas La forma a su vez contiene otros ‘tags’ que ejecutan diversas acciones dentro del programa <?xml version="1.0"?> <vxml version="1.0"> <form id=“bienvenidos"> -- contenido -- </form> </vxml>
VoiceXML: Diálogos VoiceXML utiliza múltiples diálogos Cada diálogo esta contenido en una forma
<FORMS…> <FORMS> Elementos field Elementos de control Estos elementos reciben informacion del usuario para asignar valores a variables. Dirigen al usuario por medio de instrucciones Definen gramaticas de lo que se puede enunciar Manipulan eventos Elementos de control Estos elementos no tienen tareas de reconocimiento de voz.
<FORM > … Field Tags toma un elemento proporcionado por el usuario por medio de voz o del teclado numérico del teléfono <record> graba un mensaje de audio dado por el usuario <transfer> transfiere al usuario a otro numero telefónico
<FORM> …. Control Tags <block> involucra una secuencia de estatutos para hacer ‘prompts’ y cómputos diversos <initial> controla las interacciones de los elementos encontrados en las formas
Examples
Nuestro Primer Programa en VoiceXML < ?xml version="1.0"?> < vxml application=“primero.vxml" version="1.0"> < form id=“bienvenidos"> < block> < prompt>Hello Aguascalientes!</prompt> < /block> < /form> < /vxml>
VoiceXML: ejemplos Combinando diversos elementos se puede construir una gran variedad de programas
Segundo Programa <menu> <prompt> What do you want, coffee or tea? </prompt> <choice next="#getcoffee"> coffee </choice> <choice next="#gettea"> tea </choice> <noinput> Please say coffee or tea. </noinput> <nomatch> </nomatch> </menu>
Uso de Disconnect <block> Usted ha elegido tomar café Gracias por utilizar nuestros servicos Adios. <disconnect /> </block>
Uso de Fields & Grammars <form id="getPhoneNumber"> <field name="PhoneNumber"> <prompt>What's your phone number? </prompt> <grammar type=“digits”/> <help> Please say your ten digit phone number. </help> </field> </form>
Uso de Record <form> <record name="message" beep="true" maxtime="10s" finalsilence="4s"> <prompt> At the tone, please record your message </prompt> </record> <field name="confirm" type="boolean"> The message is <value expr="message“ mode="recorded"/> To keep it, say yes. To discard it, say no. </prompt>
Record (confirmar mensaje) . <filled> <if cond="confirm"> Message saved, goodbye. <else/> Message discarded, goodbye. </if> </filled> </field> </form>
Calculadora usando VoiceXML <?xml version="1.0" ?> <vxml version="1.0"> <form id="myCalculator"> <var name="result" /> <field name="op"> <!-- OPERATION --> <prompt> A Voice XML calculator. Choose add, or multiply. </prompt> <grammar>[add multiply]</grammar>
Add or multiply? <!-- Choose your operation, add or multiply --> <help>Say add, or multiply.</help> <filled> <prompt> Okay, let's <value expr="op" /> two numbers. </prompt> </filled> </field>
Primer Número… <!-- FIRST OPERAND --> <field name="a" type="number"> <prompt>What’s the first number? </prompt> <help>Please say a number. This number will be the first operand. </help> <filled> <prompt> <value expr="a" /> </prompt> </filled> </field>
Segundo Número… <!-- SECOND OPERAND --> <field name="b" type="number"> <prompt>and the second number?</prompt> <help>Please say a number. This number will be the second operand. </help> <filled> <prompt> <value expr="b" /> Okay. </prompt> </filled> </field>
Evaluando Suma (op==add) <block> <!-- NOW SAY THE RESULT --> <if cond="op=='add'"> <assign name="result" expr="Number(a) + Number(b)" /> <prompt> <value expr="a" /> plus <value expr="b" /> equals <value expr="result" /> </prompt>
Evaluando Multiplicación (op==multiply) <elseif cond="op=='multiply'" /> <assign name="result" expr="a * b" /> <prompt> <value expr="a" /> times <value expr="b" /> equals <value expr="result" /> </prompt> </if> <clear /> <!-- clear all fields, and continue! --> </block> </form> </vxml>
Referencias VoiceXML Forum www.voicexml.org Be Vocal Café café.bevocal.com W3C WWW Consortium www.w3.org/TR/voicexml/