400 likes | 523 Views
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.
E N D
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 • 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.
Historia de VoiceXML • AT&T - Bell Labs • proyecto PhoneWeb • AT&T & Lucent Technologies • TelePortal. • Motorola • VoxML
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: • 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.
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… • 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 • 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 • 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 • <field> • 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
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> Please say coffee or tea. </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"/> <prompt> 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/