MXPA04006532A - Uso combinado de un lenguaje de marca por pasos y una herramienta de desarrollo orientada por objetos. - Google Patents

Uso combinado de un lenguaje de marca por pasos y una herramienta de desarrollo orientada por objetos.

Info

Publication number
MXPA04006532A
MXPA04006532A MXPA04006532A MXPA04006532A MXPA04006532A MX PA04006532 A MXPA04006532 A MX PA04006532A MX PA04006532 A MXPA04006532 A MX PA04006532A MX PA04006532 A MXPA04006532 A MX PA04006532A MX PA04006532 A MXPA04006532 A MX PA04006532A
Authority
MX
Mexico
Prior art keywords
field
module
computer
readable medium
recognition
Prior art date
Application number
MXPA04006532A
Other languages
English (en)
Inventor
Wang Kuansan
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA04006532A publication Critical patent/MXPA04006532A/es

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

La presente invencion proporciona un sistema y metodo para combinar VoiceXML con una herramienta de desarrollo de aplicacion de habla como la SALT. En un aspecto de la presente invencion, un modulo VoiceXML incluye instrucciones ejecutables por VoiceXML. Un modulo SALT incluye etiquetas de lenguaje de aplicacion de habla para ejecutar instrucciones asociadas con el modulo VoiceXML.

Description

USO COMBINADO DE UN LENGUAJE DE MARCA POR PASOS Y UNA HERRAMIENTA DE DESARROLLO ORIENTADA POR OBJETOS CAMPO DE LA INVENCIÓN La presente invención se relaciona con la programación de aplicaciones habilitadas con habla. Más en particular, la presente invención se relaciona con el uso combinado de un lenguaje de marca de voz por pasos y extensiones de aplicación de habla orientada por objetos.
ANTECEDENTES DE LA INVENCIÓN Los avances en las interfaces/usuario de la computadora permiten a los usuarios interactuar con una computadora a través de comandos de voz. Los portales de voz como el uso de VoiceXML (Lenguaje de Marca extensible por voz) han avanzado lo suficiente para permitir que el contenido de Internet tenga acceso con el uso de una entrada de voz. En esta arquitectura, un servidor de documentos (por ejemplo, un servidor de red, procesa las solicitudes desde el cliente a través de un intérprete de VoiceXML. El servidor de red puede producir documentos VoiceXML y respuestas, los cuales son procesados por el intérprete de VoiceXML y se reproducen en forma audible para el usuario. Con el uso de comandos de voz específicos a través del reconocimiento de voz, el usuario puede navegar en la red y escuchar los datos reproducidos en forma audible. El lenguaje de desarrollo VoiceXML ha sido diseñado con el fin de permitir a los autores controlar el diálogo entre un usuario y una aplicación de habla. El VoiceXML sigue un método por pasos, en donde la aplicación controla el flujo de diálogo y solicita al usuario llenar una forma o marcar opciones desde un menú. Una aplicación VoiceXML lleva a cabo un número de pasos con el fin de reproducir datos para el usuario o llenar datos en una forma. Más en particular, VoiceXML sigue un algoritmo de interpretación de forma que activa la interacción entre el usuario y una forma o menú de VoiceXML. El algoritmo continua circulando a través de la forma o menú hasta que se llenan los valores, se toman opciones o se encuentra una excepción . Las aplicaciones habilitadas con habla también se pueden desarrollar con el uso de una extensión de lenguaje de marca como Etiquetas de lenguaje de aplicación de habla (SALT). Las SALT permiten el acceso a la información habilitado con telefonía y multi-modos, aplicación y servicios de red desde computadoras personales, teléfonos, asistentes digitales personales y otros dispositivos de computación. Las SALT extienden los lenguajes de marca existentes, tales como HTML, X-HTML, y XML. EL acceso de multi-modo con el uso de SALT permite a los usuarios interactuar con una aplicación en una variedad de formas, por ejemplo, con el uso de un teclado, habla, mouse y/o pluma o combinaciones de los mismos. Al contrario de VoiceXML, las SALT están fundamentadas en una medida de programación orientadas por objetos, en donde las aplicaciones están compuestas de diferentes objetos, activadores y eventos. La medida orientada por objetos permite a los autores de la aplicación personalizar flujos de diálogo entre un usuario y la aplicación. Cuando se encuentra un evento en las SALT, una aplicación con base en SALT ejecuta diferentes comandos con base en el evento. De esta forma, el usuario puede controlar el flujo de diálogo, el cual puede ser una forma más eficiente y/o natural de interacción con la computadora. Las aplicaciones que utilizan la medida por pasos de VoiceXML, por lo general, no utilizan la flexibilidad que ofrece la medida de programación orientada por objeto utilizada por las herramientas de aplicaciones de habla como las SALT. Como resultado, las aplicaciones VoiceXML tienen dificultad al tratar con situaciones mezcladas de inicio (en donde el usuario puede solicitar datos desde diferentes categorías), mensajería externa y control de llamada mejorada. Como resultado, sería conveniente un sistema o método que proporcione la flexibilidad de programación de las SALT en VoiceXML.
BREVE DESCRIPCIÓN DE LA INVENCIÓN La presente invención proporciona un sistema y método para combinar el algoritmo de ejecución de instrucción por pasos y un módulo orientado por objetos. En un aspecto de la presente invención, un programa ejecutable por una computadora incluye un módulo por pasos que tiene instrucciones ejecutadas en un orden definido con base en un algoritmo de ejecución. Un módulo orientado por objeto incluye objetos que tienen activadores temporales para iniciar las operaciones asociadas con las instrucciones. En otro aspecto de la presente invención, un módulo VoiceXML incluye instrucciones ejecutables por VoiceXML. Un módulo SALT incluye etiquetas de lenguaje de aplicación de habla para ejecutar las instrucciones asociadas con el módulo VoiceXML. En otra modalidad, el módulo VoiceXML se puede utilizar para declarar un primer y segundo campos VoiceXML y el módulo SALT inicia un evento de reconocimiento para obtener la entrada de habla desde el usuario. El módulo SALT llena el primer campo VoiceXML con una primera porción de la entrada de habla y el segundo campo VoiceXML con una segunda porción de la entrada de habla. Adicionalmente, el módulo SALT puede incluir múltiples gramáticas que reconocen la entrada de habla y asocian la entrada con una gramática y/o campo particular. Otro aspecto de la presente invención es un método para proporcionar una ¡nterfaz interactiva para el usuario. El método establece un diálogo por pasos que ejecuta instrucciones en un orden definido. Las instrucciones incluyen objetos para procesar eventos asociados con por lo menos uno del reconocimiento, la solicitud y los mensajes. Una operación orientada por objetos se lleva a cabo cuando se encuentra un objeto asociado con las instrucciones. La operación proporciona por lo menos uno, pero no todos los eventos en el diálogo asociado con el reconocimiento, la solicitud y los mensajes.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1 es un diagrama en bloque de un sistema que utiliza un módulo por pasos y un módulo orientado por objetos. La Figura 2 es una vista en planta de un ambiente operativo para el dispositivo de computación. La Figura 3 es un diagrama en bloque de un dispositivo de computación de la Figura 2. La Figura 4 es una vista en planta de un teléfono. La Figura 5 es un diagrama en bloque de una computadora de propósitos generales. La Figura 6 es un diagrama en bloque de una arquitectura para un sistema de cliente/servidor. La Figura 7 es un diagrama en bloque de un método de conformidad con una modalidad de la presente invención. La Figura 8 es un diagrama en bloque de un resultado de reconocimiento y una pluralidad de gramáticas. La Figura 9 es un diagrama en bloque de un método de conformidad con una modalidad de la presente invención. La Figura 10 es un diagrama en bloque de un resultado de reconocimiento y una pluralidad de campos. La Figura 11 es un diagrama en bloque de un método de conformidad con una modalidad de la presente invención. La Figura 12 es un diagrama en bloque de un método de conformidad con una modalidad de la presente invención. La Figura 13 es un diagrama en bloque de un método de conformidad con una modalidad de la presente invención. La Figura 14 es una página de marca ejemplificativa de conformidad con una modalidad de la presente invención.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La Figura 1 ilustra un sistema 10 para combinar el uso de un lenguaje de marca como VoiceXML y una herramienta de desarrollo de aplicación de habla orientada por objetos como la SALT. El sistema 10 incluye un módulo 12 por paso, por ejemplo un módulo VoiceXMI, y un módulo 14 de herramienta de desarrollo para aplicación de habla orientada por objeto, por ejemplo un módulo SALT. Un módulo por pasos incluye instrucciones que son ejecutadas en un orden definido dado un algoritmo de ejecución. Un módulo de herramienta de desarrollo orientado por objetos incluye objetos de programación que llevan a cabo diferentes operaciones. Como se utiliza aquí, el VoiceXML se refiere a un lenguaje de marca extensible por voz, es cual es una Recomendación de candidato W3C (Consorcio de World Wide Web). Una copia de la especificación para la versión 2.0 de VoiceXML se puede encontrar en www. w3. orq/TR/voicexml20. Además, las SALT se refieren a etiquetas de lenguaje de aplicación de habla desarrolladas por el Foro SALT: Una copia de la especificación de SALT 1.0 está disponible en www. SALTforu m . org . El VoiceXML ejecuta instrucciones por pasos con base en un algoritmo de interpretación de forma. Un aspecto de la presente invención incluye incorporar uno o más módulos 14 orientados por objetos en las instrucciones ejecutables del módulo 12 por pasos. Los módulos 14 orientados por objetos incluyen activadores temporales que inicia las operaciones cuando un algoritmo de ejecución del módulo 12 por pasos encuentra un activador. Los activadores pueden incluir varios eventos como un error, excepción, recepción de un mensaje, reconocimiento y/o no reconocimiento o combinaciones de los mismos. Las operaciones que se llevan a cabo incluyen operaciones como el reconocimiento de voz, reconocimiento DTMF, recolección de audio, reproducción de audio y otras. Cuando se encuentra un módulo 14 orientado por objetos (por ejemplo, una etiqueta SALT) bajo la operación de un módulo 12 por pasos (por ejemplo, un módulo VoiceXML), la interacción entre la etiqueta SALT y el módulo 12 VoiceXML se define para permitir a la SALT utilizarse dentro VoiceXML. Por ejemplo, cuando se activa un reconocimiento de habla con base en múltiples gramáticas que utilizan una etiqueta SALT. instrucciones relacionadas con colocar cada una de las unidades en campos separados permite al módulo SALT ser incorporado dentro del módulo VoiceXML. Cuando se utilizan las capacidades de mensajería de SALT, las instrucciones de mensajería se incorporan dentro de circuitos del algoritmo de interpretación de forma. Al incorporar un módulo 14 orientado por objeto dentro del módulo 12 por pasos, se puede mejorar mucho la funcionalidad y la flexibilidad de la aplicación resultante, sobre lo que se encuentra ahora disponible con el uso de un lenguaje por pasos como el VoiceXML. Un método para proporcionar una interfaz interactiva del usuario es otro aspecto de la presente invención que se puede incorporar en el sistema 10. El módulo 12 por pasos puede establecer un diálogo por pasos con un usuario que ejecuta instrucciones en un orden definido, por ejemplo, a través de una forma o menú VoiceXML. Los eventos de diálogo del proceso de instrucciones asociado con la solicitud de reconocimiento y/o mensajes. El módulo 14 orientado por objetos lleva a cabo operaciones orientadas por objetos (por ejemplo, ejecutar etiquetas SALT) cuando se encuentra dentro del diálogo por lo menos de una pero no del reconocimiento, solicitud o mensajes. En una modalidad, el diálogo por pasos incluye VoiceXML que lleva a cabo instrucciones y etiquetas SALT que ejecutan operaciones orientadas por objetos. Dada la amplia descripción de un sistema para desarrollar aplicaciones de habla, puede ser útil describir los dispositivos de computación que pueden funcionar en el 10 antes descrito. Como lo podrán apreciar las personas experimentadas en la técnica, los componentes del sistema 10 se pueden ubicar dentro de una sola computadora o distribuidos a través de un ambiente de computación distribuido con el uso de conexiones y protocolos de redes. Con referencia ahora a la Figura 2, una forma ejemplificativa de un dispositivo móvil tal como un dispositivo de manejo de datos (PIM; PDA o sus semejantes) como se ilustra en el 30. Sin embargo, se contempla que la presente invención también se puede practicar con el uso de otros dispositivos de computación descritos más adelante. Por ejemplo, teléfonos y/o dispositivos de manejo de datos que también se verán beneficiados con la presente invención. Tales dispositivos tendrán una utilidad mejorada comparada con los dispositivos de manejo de información personales, portátiles y otros dispositivos electrónicos portátiles. Una forma ejemplificativa de un dispositivo 30 móvil de manejo de datos se ilustra en la Figura 2. El dispositivo 30 móvil incluye un alojamiento 32 y tiene una interfaz del usuario que incluye un despliegue 34, que utiliza una pantalla de despliegue sensible al tacto junto con una pluma 33. La pluma 33 se utiliza para presionar o hacer contacto con el despliegue 34 en coordenadas designadas para seleccionar un campo, para mover en forma selectiva una posición de inicio del cursos, o de otra forma para proporcionar información de comandos como a través de gestos o escritura. De manera alternativa, o además, uno o más botones 35 se pueden incluir en el dispositivo 30 para navegar. También, se pueden proporcionar otros mecanismos de entrada como bolas giratorias, rodillos o sus semejantes. Sin embargo, se debe observar que la invención no está limitada por estas formas de mecanismos de entrada. Por ejemplo, se puede incluir otra forma de entrada que puede incluir una entrada visual como a través de la visión de computadora. Con referencia ahora a la Figura 3, un diagrama en bloque ilustra los componentes funcionales que comprende el dispositivo 30 móvil. Una unidad de procesamiento central (CPU) 50 implementa las funciones de control del programa. La CPU 50 se acopla con el despliegue 34 para que los iconos gráficos y de texto generados de cuerdo con el programa de control que aparecen en el despliegue 34. Una bocina 43 se puede acoplar con la CPU 50 para proporcionar la salida audible. Los datos se pueden descargar o introducir una salida audible. Los datos que se pueden descargar o introducir por el usuario dentro del dispositivo 30 móvil se almacenan en un almacenamiento 54 de memoria de acceso aleatorio de lectura/escritura no volátil, acoplado en forma bi-direccional con la CPU 50. La memoria de acceso aleatorio (RAM) proporciona el almacenamiento volátil para instrucciones que son ejecutadas por la CPU 50, y el almacenamiento para datos temporales, como valores de registro. Los valores por omisión para las opciones de configuración y otras variables se almacenan en una memoria de solamente lectura (ROM) 58. La ROM 58 también se puede utilizar para almacenar el programa del sistema operativo para que el dispositivo controle la funcionalidad básica del dispositivo 30 móvil y otras funciones nucleares del sistema operativo (por ejemplo, la carga de componentes del programa dentro de la RAM 54).
La RAM 54 también funciona como almacenamiento para el código en una forma análoga con la función del disco duro en una PC que se utiliza para almacenar los programas de aplicación. Se debe notar que aunque la memoria no volátil se utiliza para almacenar el código, alternativamente se puede almacenar en una memoria volátil que no se utiliza para la ejecución del código. Las señales inalámbricas se pueden transmitir/recibir por el dispositivo móvil a través de un transceptor 52 inalámbrico, el cual se acopla con la CPU. Una interfaz 60 de comunicación opcional también se pueden proporcionar para descargar datos directamente desde la computadora (por ejemplo, una computadora de escritorio), o desde una red cableada, cuando se desee. De conformidad con esto, la interfaz 60 puede comprender varias formas de dispositivos de comunicación, por ejemplo, un enlace infrarrojo, módem, una tarjeta de red o sus semejantes. El dispositivo 30 móvil incluye un micrófono 29, un convertidor 37 análogo a digital y un programa de reconocimiento opcional (habla, DTMF; escritura, gestos o visión de computadora) almacenados en el almacenamiento 54. A manera de ejemplo, en respuesta a la información, instrucciones o comandos audibles desde un usuario del dispositivo 30, el micrófono 29 proporciona señales de voz, las cuales se digitalizan por el convertidor 37 A/D. El programa de reconocimiento de voz puede llevar a cabo la normalización y/o las funciones de extracción de características en las señales digitalizadas de habla para obtener los resultados del reconocimiento de habla intermedios. Con el uso del transceptor 52 inalámbrico o la interfaz 60 de comunicación, los datos del habla se pueden transmitir a un servidor 204 de reconocimiento remoto, descrito más adelante e ilustrado en la arquitectura de la Figura 6. Los resultados del reconocimiento entonces se regresan al dispositivo 30 móvil para su reproducción (por ejemplo, visual y/o audible), en el mismo, y la transmisión eventual a un servidor 202 de red (Figura 6), en donde el servidor 202 de red y el dispositivo 30 móvil operan en una relación de cliente/servidor. Un procesamiento similar se puede utilizar para otras formas de entrada. Por ejemplo, la entrada de escritura se puede digitalizar con o sin un pre-procesamiento en el dispositivo 30. Al igual que los datos de habla, esta forma de entrada se puede transmitir al servidor 204 de reconocimiento para su reconocimiento, en donde los resultados de reconocimiento se regresan a por lo menos uno del dispositivo 30 y/o al servidor 202 de red. De la misma forma, los datos DT F, datos de gestos y datos visuales que se pueden procesar en forma similar. Dependiendo de la forma de entrada, el dispositivo 30 (y otras formas de clientes descritas más adelante), necesariamente incluirá equipo como una cámara para la entrada visual. La Figura 4 es una vista en planta de una modalidad ejemplificativa de un teléfono 80 portátil. El teléfono 80 incluye un despliegue 82 y un teclado 84. En general, el diagrama en bloque de la Figura 3 aplica al teléfono de la Figura 4, aunque se puede requerir circuitería adicional para llevar a cabo otras funciones. Por ejemplo, se necesitará un transceptor para operar como un teléfono requerido por la modalidad de la Figura 3, sin embargo, tal circuitería no es pertinente para la presente invención. Además de los dispositivos de computación móviles o portátiles descritos antes, se debe entender que la presente invención se puede utilizar con muchos dispositivos de computación, tal como una computadora de escritorio de propósitos generales. Por ejemplo, la presente invención permitirá al usuario con capacidades físicas limitadas introducir texto dentro de una computadora u otro dispositivo de computación cuando otros dispositivos de entrada, tal como un teclado alfanumérico son difíciles de operar. La invención también opera con muchos sistemas, ambientes o configuraciones operativos de propósitos especiales o generales. Los ejemplos de sistemas, ambientes y/o configuraciones de computación bien conocidos que pueden ser adecuados para su uso con la invención incluyen de manera enunciativa pero no limitativa, teléfonos normales (sin pantalla), computadoras personales, computadoras de servidor, dispositivos manuales o portátiles, computadoras de cuaderno, sistemas con m ultiprocesadores, sistemas con base en microprocesadores, cajas sobrepuestas (transcodificadores) , electrónicos que los consumidores pueden programar, PC en redes, mini-computadoras, computadoras centrales, ambientes distribuidos de computación que incluyen cualquiera de los sistemas o dispositivos mencionados, y sus semejantes.
La siguiente es una breve descripción de una computadora 120 de propósitos generales ilustrada en la Figura 5. Sin embargo, la computadora 120 otra vez es un ejemplo de un ambiente de computación apropiado y no tiene la intención de sugerir ninguna limitación al alcance del uso o funcionalidad de la invención. Tampoco, se debe interpretar que la computadora tiene ninguna dependencia o requerimiento relacionado con ninguna délas combinaciones de componentes ilustrados en la misma. La invención se puede describir en el contexto general de instrucciones que se pueden ejecutar por computadora, como módulos de programas, que se ejecutan por medio de una computadora. Por lo general, los módulos de programas incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc, que llevan a cabo tareas particulares o implementan tipos particulares de datos abstractos. La invención está diseñada para practicarse en ambientes de computación distribuidos, en donde las tareas se lleven a cabo mediante dispositivos remotos de procesamiento que estén enlazados a través de una red de comunicaciones. En un ambiente de computación distribuido, los módulos de programas se pueden ubicar en medios de almacenamiento locales y remotos de computadora, incluyendo dispositivos de almacenamiento de memoria. Las tareas que llevan a cabo los programas y módulos se describen más adelante con la ayuda de figuras. Las personas experimentadas en la técnica podrán implementar la descripción y figuras, como instrucciones que se pueden ejecutar por computadora, que pueden ser escritas o se pueden incorporar en cualquier forma para un medio legible por computadora. Con referencia a la Figura 5, los componentes de la computadora 120 pueden incluir de manera enunciativa y no limitativa una unidad 140 de procesamiento central, una memoria 150 de sistema y una barra colectora 141 de sistema que acopla diversos componentes de sistema, incluyendo la memoria de sistema con la unidad 140 de procesamiento. La barra colectora 141 de sistema puede ser cualquiera de los diversos tipos de estructuras de barras colectoras, incluyendo una barra colectora de memoria o controlador de memoria, una barra colectora periférica, y una barra colectora local que utilice cualquiera de una variedad de arquitecturas de barras colectoras. Como medio de ejemplo, y no de limitación, tales arquitecturas incluyen la barra colectora Industry Standard Architecture (ISA), barra colectora Micro Channel Architecture (MCA), barra colectora Enhanced ISA (EISA), barra colectora local Video Electronics Standards Association (VESA), y la barra colectora Peripheral Component Interconnect (PCI), también conocida como barra colectora Mezzanine. La computadora 120 típicamente incluye una variedad de medios que se pueden leer por computadora. El medio legible por computadora puede ser cualquier medio disponible al que se pueda tener acceso por medio de la computadora 120 e incluye medios volátiles y no volátiles y medios retirables y no retirables. Como medio de ejemplo y no de limitación, los medios legibles por computadora pueden comprender medios de almacenamiento de computadora y medios de comunicación. Los medios de almacenamiento de computadora incluyen medios volátiles y no-volátiles, medios retirables y p?-retirables que se implementen en cualquier método o tecnología para el almacenamiento de información, por ejemplo instrucciones que se pueden leer por computadora, estructuras de datos, módulos de programas u otros datos. Los medios de almacenamiento de computadora incluyen de manera enunciativa y no limitativa, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos digitales versátiles (DVD) u otro almacenamiento de disco óptico, cartuchos magnéticos, cintas magnéticas, almacenamiento de discos magnéticos u otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda utilizar para almacenar la información deseada y a la cual se pueda tener acceso por medio de la computadora 120. El medio de comunicación típicamente incluye instrucciones que se pueden leer por computadora, estructuras de datos, módulos de programas u otros datos en una señal de datos modulada, como una onda portadora u otro mecanismo de transporte e incluye cualquier medio de entrega de información. El término "señal de datos modulada" significa una señal que tiene una o más de sus características ajustadas o cambiadas de tal manera para codificar información en la señal. A manera de ejemplo y no de limitación, los medios de comunicación incluyen medios cableados como una red cableada o conexión de cableado directo y medios inalámbricos como medios acústicos, RF, infrarrojo y otros medios inalámbricos. Las combinaciones de cualquiera de los medios mencionados también deben incluirse dentro del alcance de los medios que se pueden leer por computadora. La memoria 150 del sistema incluye medios de almacenamiento de computadora en la forma de una memoria volátil y/o no-volátil como la memoria de sólo lectura (ROM) 151 y la memoria de acceso aleatorio (RAM) 152. Un sistema 153 básico de entrada/salida (BIOS), que contiene las rutinas básicas que ayudan a transferir información entre los elementos dentro de la computadora 120, por ejemplo durante el encendido, típicamente está almacenada en la ROM 151. La RAM 152 típicamente contiene datos y/o módulos de programas a los que se puede tener acceso de manera inmediata y/o que están en proceso de funcionamiento mediante la unidad 140 de procesamiento. Como medio de ejemplo, y no de limitación, la Figura 5 ilustra el sistema 154 operativo, programas 155 de aplicación, otros módulos 156 de programas y datos 157 de programas. La computadora 120 también puede incluir otros medios de almacenamiento de computadora retirables/no-retirables, volátiles/no-volátiles. Como medio de ejemplo solamente, la Figura 5 ilustra una unidad 161 de disco duro que lee o escribe en un medio magnético no-retirable y no-volátil, una unidad 171 de disco magnético que lee o escribe en un disco 172 magnético retirable y no-volátil, y una unidad 175 de disco óptico que lee o escribe en un disco 176 óptico retirable y no-volátil como un CD ROM u otro medio óptico. Otros medios de almacenamiento de computadora retirables/no retirables, volátiles/no-volátiles que se pueden utilizar en el ambiente operativo ejemplificativo incluyen de manera enunciativa y no limitativa, cartuchos de cintas magnéticas, tarjetas de memoria flash, discos digitales versátiles, cintas de video digitales, RAM de estado sólido, ROM de estado sólido y sus semejantes. La unidad 161 de disco duro típicamente está conectada con la barra colectora 141 de sistema a través de una interfaz de memoria no-retirable como la interfaz 160, y la unidad 171 de disco magnético y la unidad 175 de disco óptico típicamente están conectadas con la barra colectora 141 del sistema por medio de una interfaz de memoria retirable, como la interfaz 170. Las unidades y sus medios asociados de almacenamiento de computadora mencionados con anterioridad e ilustrados en la Figura 5, proporcionan almacenamiento de instrucciones que se pueden leer por computadora, estructuras de datos, módulos de programas y otros datos para la computadora 120. En la Figura 5, por ejemplo, la unidad 161 de disco duro está ¡lustrada como el sistema 164 operativo de almacenamiento, programas 165 de aplicación, otros módulos 166 de programas y datos 167 de programas. Debe observarse que estos componentes pueden ser los mismos o diferentes de los del sistema 154 operativo, los programas 155 de aplicación, otros módulos 156 de programas, y datos 157 de programas. El sistema 164 operativo, los programas 165 de aplicación, otros módulos 166 de programas y datos 167 de programas tienen aquí números diferentes para ilustrar que, como mínimo, existen copias diferentes. Un usuario puede introducir comandos e información en la computadora 120 a través de dispositivos de entrada como un teclado 182, un micrófono 183 y un dispositivo 181 puntero, como un ratón, bola de rastreo o pantalla de tacto. Otros dispositivos de entrada (no mostrados) pueden incluir una palanca de juegos, tapete de juegos, disco satelital, escáner o sus semejantes. Estos y otros dispositivos de entrada con frecuencia están conectados con la unidad 140 de procesamiento a través de una interfaz 180 de entrada de usuario que está acoplada con la barra colectora de sistema, pero puede conectarse por medio de otra interfaz y estructuras de barras colectoras, como un puerto paralelo, un puerto de juegos u otra barra colectora universal en serie (USB). Un monitor 184 u otro tipo de dispositivo de despliegue también está conectado con la barra colectora 141 de sistema por medio de una interfaz, como una interfaz 185 de video. Además del monitor, las computadoras también pueden incluir otros dispositivos periféricos de salida, como las bocinas 187 y una impresora 186, las cuales pueden estar conectadas a través de una interfaz 188 periférica de salida. La computadora 120 puede funcionar en un ambiente de red mediante el uso de conexiones lógicas para una o más computadoras remotas, como una computadora 194 remota. La computadora 194 remota puede ser una computadora personal, un dispositivo manual, un servidor, un enrutador, una PC de red, un dispositivo adjunto u otro nodo común de red y típicamente incluye todos o muchos de los elementos descritos con anterioridad con relación a la computadora 120. Las conexiones lógicas ilustradas en la Figura 5 incluyen una red de área local (LAN) 191 y una red de área amplia (WAN) 193, pero también puede incluir otras redes. Tales ambientes de red son de uso común en oficinas, redes amplias de computadoras de empresas, intranets y la Internet. Cuando la computadora 120 se utiliza en un ambiente de red LAN, la computadora 120 se conecta con la LAN 191 a través de una interfaz de red o adaptador 190. Cuando la computadora 120 se utiliza en un ambiente de red WAN, la computadora 120 típicamente incluye un módem 192 u otro medio para establecer comunicaciones sobre la WAN 193, como la Internet. El módem 192, el cual puede ser interno o externo, puede conectarse con la barra 141 colectora de sistema por medio de la interfaz 180 de entrada de usuario, u otro mecanismo adecuado. En un ambiente de red, los módulos de programas ilustrados con relación a la computadora 120, o porciones de los mismos, se pueden almacenar en el dispositivo remoto de almacenamiento de memoria. A manera de ejemplo y no de limitación, la Figura 5 ilustra los programas 195 de aplicación remota incorporados en la computadora 194 remota. Se debe apreciar que las conexiones de red mostradas son ejemplif icati vas y que se puede utilizar cualquier otro medio para establecer un enlace de comunicación entre las computadoras. La Figura 6 ilustra la arquitectura 200 para el reconocimiento con base de red y la reproducción de datos, que es un ambiente ejem plif ¡cativo para la presente invención. En general, la información almacenada en el servidor 202 de red puede proporcionar el acceso a través del cliente 100, como un dispositivo 30 móvil o computadora 120 (que aquí representan otras formas de dispositivos de computación que tienen una pantalla de despliegue, un micrófono, una cámara, un panel sensible al tacto, etc., según sea requerido con base en la forma de entrada), o a través de un teléfono 80, en donde la información se solicita en forma audible o a través de tonos generados por el teléfono 80 en respuesta a las teclas oprimidas y en donde la información desde el servidor 202 de la red es provisto solamente en forma audible de regreso al usuario. En esta modalidad, la arquitectura 200 está unificada en que la Información se obtiene a través del cliente 100 o el teléfono 80 con el uso de reconocimiento del habla, un único servidor 204 de reconocimiento, pueden dar soporte a cualquier modo de operación. Además, la arquitectura 200 opera con el uso de una extensión de lenguajes de marca bien conocidos (por ejemplo, HTML, XHTML, cHTML, XML, WML y sus semejantes). De este modo, la información almacenada en el servidor 202 de la red también puede tener acceso con el uso de métodos GUI bien conocidos encontrados en estos lenguajes de marca. Con el uso de una extensión de lenguajes de marca bien conocidos, es más fácil la autorización en el servidor 202 de red, y las aplicaciones legales existentes también se pueden modificar fácilmente para incluir el reconocimiento de voz. En general, el cliente 100 ejecuta las páginas HTML, suscripciones o sus semejantes, por lo general indicadas en el 206, provistas por el servidor 202 de red con el uso de un navegador. Cuando se requiere el reconocimiento de voz, a manera de ejemplo, los datos de habla, que se pueden digitalizar como señales de audio o características de habla en donde las señales de audio han sido pre-procesadas por el cliente 100 como se describe antes, son provistas al servidor 204 de reconocimiento con una indicación de gramática o modelo 220 de lenguaje para usarse durante el reconocimiento de habla, que puede ser provisto al cliente 100. De manera alternativa, el servidor 204 de habla puede incluir el modelo 220 de lenguaje. La implementación del servidor 204 de reconocimiento puede tener varias formas, una de ellas está ilustrada, pero por lo general, incluye un reconocedor 211. Los resultados del reconocimiento son provistos de regreso al cliente 100 para su reproducción local cuando sea deseado o apropiado. Cuando se desee, el módulo 222 de texto a habla, se puede utilizar para proporcionar texto hablado al cliente 100. Luego de la recopilación de información a través del reconocimiento y de la interfaz gráfica del usuario, cuando se utiliza, el cliente 100 envía la información al servidor 202 de red para otro procesamiento y recepción de otras páginas/guiones HTML, cuando sea necesario. Como se ilustra en la Figura 6, el cliente 100, el servidor 202 de red y el servidor 204 de reconocimiento se conectan en común, y se dirigen en forma separada a través de una red 205, que aquí es una red de área amplia como la Internet. Por lo tanto, no es necesario que ninguno de los dispositivos esté ubicado físicamente adyacente entre sí. En particular, no es necesario que el servidor 202 de red incluya al servidor 204 de reconocimiento. De esta manera, la autorización en el servidor 202 de red se puede enfocar en la aplicación para la cual se tiene el propósito, sin que los autores necesiten conocer las complejidades del servidor 204 de reconocimiento. Más bien, el servidor 204 de reconocimiento puede estar diseñado y conectado en forma independiente con la red 205 y asi actualizarse y mejorarse sin otros cambios requeridos en el servidor 202 de red. El servidor 202 de red también puede incluir un mecanismo de autorización que puede generar en forma dinámica marcas y guiones de cliente. En otra modalidad, el servidor 202 de red, el servidor 204 de reconocimiento y el cliente 100 pueden combinarse dependiendo de las capacidades de las máquinas implementadas. Por ejemplo, cuando el cliente 100 comprende una computadora de propósitos generales, por ejemplo, una computadora personal, el cliente puede incluir el servidor 204 de reconocimiento. De la misma forma, cuando se desee, el servidor 202 de red y el servidor 204 de reconocimiento pueden estar incorporados en una sola máquina. El acceso al servidor 202 de red a través del teléfono 80 incluye la conexión del teléfono 80 con una red 208 de teléfono cableada o inalámbrica, que a su vez, conecta el teléfono 80 con una pasarela 210 de tercera parte. La pasarela 210 conecta el teléfono 80 con un navegador 212 de voz de telefonía. El navegador 212 de voz de telefonía incluye un servidor 214 de medios, el cual proporciona una ¡nterfaz de telefonía y un navegador 216 de voz. Los mismo el cliente 100, el navegador 212 de voz de telefonía reciben las páginas/guiones HTML o al igual que desde el servidor 202 de red. En una modalidad, las páginas/guiones HTML son de una forma similar a las páginas/guiones HTML provistos al cliente 100. De esta forma, el servidor 202 de red no necesita dar soporte al cliente 100 y al teléfono 80 en forma separada, o aún dar soporte a los clientes GUI en forma separada. Más bien, se puede utilizar un lenguaje de marca común. Además, al igual que el cliente 100, el reconocimiento de voz de las señales audibles transmitidas por el teléfono 80 son provistas desde el navegador 216 de voz al servidor 204 de reconocimiento, ya sea a través de la red 205, o a través de una línea 207 dedicada, por ejemplo, con el uso de TCP/IP. El servidor 202 de red, el servidor 204 de reconocimiento y el navegador 212 de voz de teléfono se pueden incorporar en cualquier ambiente de computación adecuado, como en una computadora de escritorio de propósitos generales ilustrada en la Figura 5. Con el uso de las herramientas de desarrollo de aplicación de voz incorporadas dentro de VoiceXML, la funcionalidad de la página de marca VoiceXML se mejora. Aunque el algoritmo de interpretación de forma del VoiceXML está diseñado para aplicaciones de respuesta de voz interactiva, con el uso de otras herramientas dentro del VoiceXML, se proporciona una aplicación más robusta y más amigable para el usuario. Con el fin de incorporar las herramientas de desarrollo de aplicación del habla dentro de VoiceXML, se proporciona la interacción entre las instrucciones VoiceXML y las instrucciones de herramientas de desarrollo. La Figura 7 ¡lustra un método 300 de conformidad con una modalidad de la presente invención. El método empieza en el paso 302, en donde se i n i ci a I iza el algoritmo por pasos de VoiceXML. Por ejemplo, el algoritmo se puede inicializar luego de establecer una forma o menú en una programa de marca VoiceXML con el uso de una etiqueta <forma> o una etiqueta <menú>, respectivamente. Una vez que se inicial iza el algoritmo, los pasos en la página VoiceXML se saltarán en forma continua hasta que se alcancen ciertas condiciones. Después del paso 302, el método avanza al paso 304 en donde se inicializa un evento de reconocimiento SALT, el cual tiene una pluralidad de gramáticas asociadas. El evento de reconocimiento SALT se puede activar con el uso de una etiqueta de escuchar. Con una pluralidad de gramáticas, se utilizan las múltiples etiquetas de gramática para iniciar el uso de cada una de las gramáticas. Por ejemplo, se puede utilizar una gramática para reconocer una ciudad y otra gramática para reconocer el estado en una aplicación que solicita al usuario una dirección. De manera alternativa, una gramática puede reconocer categorías y otras gramáticas pueden reconocer sub-categorías asociadas con las categorías. Una vez que el usuario ha proporcionado una palabra de habla y/o una entrada DTMF, el método avanza al paso 306, en donde un resultado de reconocimiento se asocia con por lo menos una de la pluralidad de gramáticas. Por ejemplo, al tener una página de bienvenida que reconoce un número de categorías (es decir, deportes, noticias, clima, acciones de la bolsa, películas, tráfico) y el número de sub-categorías (es decir, basketball, baseball, football, hockey, para la categoría de deportes), permite al usuario introducir una de las categorías o una de las sub-categorías para ser reconocida y asociada con una gramática particular. Una vez asociada con una gramática en particular, la entrada desde el usuario se puede analizar y puede ser utilizada por la aplicación de habla. Por ejemplo, cuando un usuario dice "hockey", se pueden reproducir para el usuario los marcadores y los puntos culminantes del partido de hockey de ese día. El VoiceXML permite una sola gramática durante el reconocimiento. De este modo, el usuario debe navegar a través de múltiples categorías y sub-categorías para obtener la información relevante o se puede utilizar una gramática relativamente grande. Con el uso de la etiqueta <escuchar> de SALT incorporada dentro de las instrucciones VoiceXML, la entrada de habla se puede asociar con una gramática particular y/o con un campo particular, por ejemplo, al usar el elemento <unir>.
La Figura 8 ilustra un diagrama en bloque de un resultado 320 de reconocimiento y una pluralidad de gramáticas 321 a la 324. Cuando se utiliza el método 300, el resultado 320 de reconocimiento puede asociarse con cada una de las gramáticas 321-324 y/o una opción particular o el encabezado en cada una de las gramáticas 321-324. La Figura 9 ilustra un método 340 de conformidad con otra modalidad de la presente invención. En el paso 342, se establecen un primer campo VoiceXML y un segundo campo, el algoritmo de interpretación de forma se inicia, el cual continuará a través de las instrucciones ejecutables por VoiceXML dentro de una forma hasta que se hayan llenado el primer y el segundo campos VoiceXML. Después de que se han declarado los campo, se inicia en el paso 344 un evento de reconocimiento para obtener la entrada de habla desde el usuario. El evento de reconocimiento puede ser activado, por ejemplo, con el uso de una etiqueta escuchar que incluye uno o más elementos de gramática. La entrada del habla desde el usuario puede incluir múltiples porciones de una sola palabra. En el paso 346, el primer campo VoiceXML se llena con una primera porción de la entrada del habla y el segundo campo VoiceXML se llena con una segunda porción de la entrada del habla. Por ejemplo, un usuario puede desear introducir una ciudad de partida y una ciudad de llegada para la información de vuelos o puede introducir un tipo de cocina y una ubicación para información de restaurantes. La Figura 10 ilustra un diagrama en bloque de los campos y la entrada del habla. El campo 350 y el campo 352 se declaran por el módulo VoiceXML y se reconoce un resultado 360 de reconocimiento con base en la entrada del habla del usuario. El resultado 360 incluye una primera porción 362 y una segunda porción 364. Con el uso del resultado 360, la primera porción 362 se llena dentro del campo 350 mientras la segunda porción 364 se llena dentro del campo 352. Como resultado, un autor tiene la capacidad de programar una aplicación de habla para reconocer múltiples entradas del usuario y colocarlas dentro de los campos apropiados con base en el resultado del reconocimiento. La Figura 11 ilustra otro método 380 de conformidad con una modalidad de la presente invención. El método 380 empieza en el paso 382, en donde se establece una página de marca con instrucciones ejecutables por VoiceXML. En el paso 384, se declaran un primer campo y un segundo campo, una palabra de ambas hablas y la entrada DTMF se reciben desde el usuario. Por ejemplo, un usuario puede decir "Favor de transferir (entrada DTMF) tanto dinero de mi cuenta de cheques a mi cuenta de ahorros". En este caso, en lugar de decir en forma verbal el monto a ser transferido, el usuario escribió el monto con el teclado. En el paso 388, la entrada del habla se reconoce con el uso de SALT y se asocia con el primer campo y la entrada DTMF se reconoce con el uso de SALT y se asocia con el segundo campo. Por ejemplo, el monto introducido como la entrada DTMF puede ser puesto dentro de un campo de montos y la entrada de habla puede asociarse con una transferencia de cheques a ahorro. La Figura 12 ilustra otro método 400, de conformidad con otra modalidad de la presente invención. Con el método 400, se puede utilizar una variable de tiempo de ejecución para reproducir datos al usuario sin la necesidad de presentar una forma al servidor remoto o tener acceso a otra página de marca. En el paso 402, la página de marca se establece con instrucciones ejecutables por VoiceXML. En el paso 404, se obtiene el resultado de reconocimiento del habla desde la entrada de habla del usuario. En el paso 406, por lo menos una porción del resultado se coloca en un campo. Una vez que el resultado ha sido colocado en un campo, el método avanza al paso 408, en donde la página de marca se utiliza para reproducir el campo ai usuario. Por ejemplo, el paso 408 se puede utilizar para confirmar uno o más campos introducidos por el usuario. Además, el campo se puede utilizar como una porción de una solicitud que se reproduce de regreso al usuario. Cuando se utiliza la etiqueta < so I i cit a r> de SALT, las variables de tiempo de ejecución se pueden reproducir sin un enlace con el servidor remoto. En esta situación, la energía de computación del cliente se utiliza sin la necesidad de conectarse con un servidor remoto. La Figura 13 ilustra un método 420 de conformidad con otra modalidad de la presente invención. El método empieza en el paso 422, en donde se establece una página de marca con instrucciones ejecutables por VoiceXML. Después, en el paso 424, se obtiene la entrada del habla desde el usuario. En el paso 426, con el uso de una entrada de habla, se hace una conexión con un servidor de red y se ejecuta un evento de mensajería. Por ejemplo, el servidor de red puede contener valores que el usuario desea reproducir. En el paso 428, se reproduce el resultado al usuario con base en la información recibida desde el evento de mensajería. La Figura 14 ilustra una página de marca que reproduce un código postal para el usuario con base en una ciudad de entrada. La página 450 de marca incluye instrucciones ejecutables por VoiceXML así como etiquetas SALT, como se describe a continuación. El encabezado 452 incluye esquemas que se refieren a VoiceXML y SALT y también establecen "v:" como un delimitador de la etiqueta VoiceXML y "s:" como una etiqueta SALT. La instrucción 454 declara una forma en VoiceXML, la cual inicia la ejecución del algoritmo de interpretación de forma. De este modo, el algoritmo de interpretación de forma ejecutará las instrucciones en la forma (la cual incluye las instrucciones entre la etiqueta <v:forma>y la etiqueta </v:forma> hasta que se llenen los valores en la forma. La instrucción 456 declara una variable "respuesta" y asigna un valor nulo a la variable. El algoritmo de interpretación de forma entonces procede a través de los pasos con el fin de solicitar al usuario introducir una ciudad y un estado, de modo que se pueda encontrar el código postal. La instrucción 458 declara un campo llamado "ciudad". En VoiceXML, un administrador por omisión para el campo llenará el campo luego de un evento de reconocimiento. Una etiqueta 460 de solicitud (que puede ser SALT o VoiceXML solicita al usuario decir una ciudad para la cual buscará un código postal. La etiqueta 462 de escuchar de SALT activa un evento de reconocimiento que tiene una gramática asociada 464, la cual reconoce nombres de ciudades. Otra gramática 465 asociada reconoce nombres de estados en caso de que el usuario desee introducir un nombre de estado durante la palabra. Cuando el usuario introduce una entrada de habla que se reconoce como una ciudad, el evento de reconocimiento llena el campo "ciudad". Cuando el usuario introduce una entrada de habla que se reconoce como un estado, el evento de reconocimiento llena el campo "estado". El algoritmo de interpretación de forma avanza ala instrucción 466, cuando se ha llenado el campo de ciudad. La instrucción 466 declara el campo llamado "estado", el cual se puede llevar luego de un evento de reconocimiento que se asocia con una gramática de estado, que ocurrirá durante el evento de reconocimiento iniciado por la etiqueta 462 de escuchar. La solicitud 468 solicita al usuario decir un estado y una etiqueta 470 de escuchar inicia un evento de reconocimiento con las gramáticas 472 y 474 asociadas. La gramática 472 reconoce las ciudades, la gramática 474 reconoce estados. Con la gramática 472, el usuario puede seleccionar una ciudad diferente que será reconocida y llenará el campo ciudad. De manera alternativa, el usuario puede introducir un estado que se asocia con una gramática 474 de estado y se coloca en el campo de estado.
La instrucción 476 es una instrucción condicional que ejecutará instrucciones entre las etiquetas <v.lleno> y <v:/lleno> cuando se han llenado las variables "ciudad" y "estado". La etiqueta 478 de mensaje SALT inicia un evento de mensaje que regresará el código postal con base en la entrada de ciudad del usuario. La etiqueta 478 utilizó el "smex" objeto, que se comunica con los componentes externos. La etiqueta 480 del parámetro SALT identifica un servidor remoto que tendrá acceso para recuperar el código postal con base en la ciudad. La etiqueta 481 del parámetro envía los campos de ciudad y estado al servidor remoto. La etiqueta 482 de unir SALT une el código postal recibido desde el servidor remoto a la variable respuesta que se declaró con la instrucción 456. La etiqueta 484 de solicitud SALT proporciona una salida que incluye tanto la entrada de la ciudad por el usuario y la respuesta determinada del evento de mensaje. Aunque la presente invención ha sido descrita con referencia a las modalidades particulares, las personas experimentadas en la técnica reconocerán que se pueden realizar cambios en la forma y detalles sin apartarse del espíritu y alcance de la invención.

Claims (38)

REIVINDICACIONES
1. Un medio legible por computadora que tiene instrucciones, que cuando se implementan en una computadora provocan que la computadora procese información, las instrucciones están caracterizadas porque comprenden: un módulo por pasos que incluye instrucciones ejecutadas en un orden definido con base en un algoritmo de ejecución; y un módulo orientado por objetos que incluye por lo menos un objeto que tiene un activador temporal para iniciar una operación asociada con las instrucciones.
2. El medio legible por computadora de conformidad con la reivindicación 1, caracterizado porque el algoritmo de ejecución solicita automáticamente el activador temporal cuando se encuentra por lo menos un objeto.
3. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 2, caracterizado porque el módulo por pasos es un módulo VoiceXML que ejecuta un algoritmo de interpretación de forma.
4. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 3, caracterizado porque el módulo orientado por objetos es un módulo SALT que tiene etiquetas de lenguaje de aplicación de habla.
5. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 4, caracterizado porque el activador temporal inicia un evento de reconocimiento de habla.
6. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 5, caracterizado porque el activador temporal inicia un evento de reconocimiento DTMF.
7. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 5, caracterizado porque el activador temporal inicia un evento de mensaje.
8. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 5, caracterizado porque el módulo por pasos declara un primer campo y un segundo campo y en donde el módulo orientado por objetos inicia un evento de reconocimiento para obtener entrada de habla de un usuario y llena el primer campo con una primera porción de la entrada de habla y llena el segundo campo con una segunda porción de la entrada de habla.
9. El medio legible por computadora de conformidad con la reivindicación 8, caracterizado porque la primera gramática está asociada con el primer campo y la segunda gramática está asociada con el segundo campo.
10. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 9, caracterizado porque el módulo orientado por objetos inicia un evento de reconocimiento que tiene una pluralidad de gramáticas para obtener un resultado de reconocimiento y asocia el resultado de reconocimiento con por lo menos una de la pluralidad de gramáticas.
11. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 10, caracterizado porque el módulo por pasos declara un primer campo y un segundo campo y en donde el módulo orientado por objeto inicia un evento de reconocimiento para obtener una palabra que tiene habla y una entrada DTMF desde un usuario y la entrada DTMF con el segundo campo.
12. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 11, caracterizado porque el módulo por pasos declara un campo y en donde el módulo orientado por objeto inicia un evento de reconocimiento para obtener un resultado de reconocimiento del usuario para llenar el campo y ejecuta una solicitud para reproducir el campo al usuario.
13. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 12, caracterizado porque el módulo orientado por objeto ejecuta un evento de mensaje para conectarse a una aplicación remota.
14. El medio legible por computadora de conformidad con la reivindicación 13, caracterizado porque el módulo orientado por objeto recibe el resultado con base en un evento de mensaje y reproduce el resultado al usuario.
15. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 14, caracterizado porque el algoritmo de ejecución avanza automáticamente a una instrucción posterior luego de completar la operación.
16. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 15, caracterizado porque el activador es uno de una indicación de error, excepción, reconocimiento y no reconocimiento.
17. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 16, caracterizado porque el activador es la compleción de una instrucción de reproducción.
18. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 1 a la 17, caracterizado porque el activador es la recepción de un mensaje.
19. Un medio legible por computadora que tiene una página de lenguaje de marca que se puede ejecutar por una computadora, que cuando se implementa, provoca que la computadora procese la información, la página de marca está caracterizada porque comprende: un módulo VoiceXML que tiene instrucciones ejecutables por VoiceXML; y un módulo SALT que tiene etiquetas de lenguaje de aplicación de habla para ejecutar instrucciones asociadas con el módulo VoiceXML.
20. El medio legible por computadora de conformidad con la reivindicación 19, caracterizado porque el módulo VoiceXML declara un primer campo y un segundo campo y en donde el módulo SALT inicia un evento de reconocimiento para obtener la entrada de habla del usuario y llena el primer campo VoiceXML con una primera porción de la entrada de habla y llena el segundo campo VoiceXML con una segunda porción de la entrada de habla.
21. El medio legible por computadora de conformidad con la reivindicación 20, caracterizado porque la primera gramática está asociada con el primer campo VoiceXML y la segunda gramática está asociada con el segundo campo VoiceXML.
22. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 19 a la 21, caracterizado porque el módulo SALT inicia un evento de reconocimiento que tiene una pluralidad de gramáticas para obtener un resultado de reconocimiento y asocia el resultado de reconocimiento con por lo menos una de la pluralidad de gramáticas.
23. El medio legible por computadora de conformidad con la reivindicación 19, caracterizado porque el módulo VoiceXML declara un primer campo y un segundo campo y en donde el módulo SALT inicia un evento de reconocimiento para obtener una palabra que tiene habla y una entrada DTMF del usuario y asocia la entrada de habla con el primer campo y la entrada DTMF con el segundo campo.
24. El medio legible por computadora de conformidad con la reivindicación 19, caracterizado porque el módulo VoiceXML declara un campo y en donde el módulo SALT inicia un evento de reconocimiento para obtener un resultado de reconocimiento del usuario para llenar el campo y ejecutar una solicitud en la página de marca para reproducir el campo al usuario.
25. El medio legible por computadora de conformidad con cualesquiera de las reivindicaciones 19 a la 24, caracterizado porque el módulo SALT ejecuta un evento de mensaje para conectarse a una aplicación remota.
26. El medio legible por computadora de conformidad con la reivindicación 25, caracterizado porque el módulo SALT recibe un resultado con base en el evento de mensaje y reproduce el resultado al usuario.
27. Un método para proporcionar una interfaz interactiva del usuario, caracterizado porque comprende: establecer un diálogo por pasos que ejecuta instrucciones en un orden definido, las instrucciones incluyen objetos para procesar eventos asociados con por lo menos uno de reconocimiento, solicitud y mensaje; y llevar a cabo una operación orientada por objeto luego de encontrar un objeto asociado con las instrucciones para proporcionar por lo menos uno, pero no todos los eventos en el diálogo asociado con el reconocimiento, la solicitud y el mensaje.
28. El método de conformidad con la reivindicación 27, caracterizado porque la operación orientada por objeto es un evento de reconocimiento de habla.
29. El método de conformidad con la reivindicación 27, caracterizado porque la operación orientada por objeto es un evento de reconocimiento DTMF.
30. El método de conformidad con la reivindicación 27, caracterizado porque el diálogo por pasos se incorpora en un módulo VoiceXML.
31. El método de conformidad con la reivindicación 27, caracterizado porque la operación orientada por objeto está incorporada en un módulo SALT.
32. El método de conformidad con cualesquiera de las reivindicaciones 27 a la 31 , caracterizado porque establecer el diálogo por pasos declara un primer campo y un segundo campo y lleva a cabo la operación orientada por objeto que incluye un evento de reconocimiento que obtiene la entrada de habla desde el usuario y llena el campo con una primera porción de la entrada de habla y llena el segundo campo con la segunda porción de la entrada de habla.
33. El método de conformidad con la reivindicación 32, caracterizado porque llevar a cabo la operación también inicia una primera gramática asociada con el primer campo y una gramática de segundo campo asociada con el segundo campo.
34. El método de conformidad con cualesquiera de las reivindicaciones 27 a la 33, caracterizado porque la operación inicia un evento de reconocimiento que tiene una pluralidad de gramáticas para obtener un resultado de reconocimiento y asocia el resultado de reconocimiento con por lo menos una de la pluralidad de gramáticas.
35. El método de conformidad con cualesquiera de las reivindicaciones 27 a la 31, caracterizado porque establecer el diálogo por pasos declara un primer campo y un segundo campo y en donde llevar a cabo la operación orientada por objeto incluye iniciar un evento de reconocimiento para obtener una palabra que tiene habla y una entrada DTMF del usuario y asocia la entrada de habla con el primer campo y la entrada DTMF con el segundo campo.
36. El método de conformidad con cualesquiera de las reivindicaciones 27 a la 35, caracterizado porque establecer el diálogo por pasos declara un campo y en donde llevar a cabo la operación orientada por objeto incluye iniciar un evento de reconocimiento para obtener un resultado de reconocimiento del usuario para llenar el campo y ejecutar una solicitud para reproducir el campo al usuario.
37. El método de conformidad con cualesquiera de las reivindicaciones 27 a la 36, caracterizado porque la operación es un evento de mensaje para conectarse con una aplicación remota.
38. El método de conformidad con la reivindicación 37, caracterizado porque la operación también recibe el resultado con base en el evento de mensaje y reproduce el resultado al usuario.
MXPA04006532A 2003-07-03 2004-07-02 Uso combinado de un lenguaje de marca por pasos y una herramienta de desarrollo orientada por objetos. MXPA04006532A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/613,631 US7729919B2 (en) 2003-07-03 2003-07-03 Combining use of a stepwise markup language and an object oriented development tool

Publications (1)

Publication Number Publication Date
MXPA04006532A true MXPA04006532A (es) 2005-04-19

Family

ID=33490844

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04006532A MXPA04006532A (es) 2003-07-03 2004-07-02 Uso combinado de un lenguaje de marca por pasos y una herramienta de desarrollo orientada por objetos.

Country Status (10)

Country Link
US (1) US7729919B2 (es)
EP (1) EP1501268A1 (es)
JP (1) JP2005025760A (es)
KR (1) KR101098716B1 (es)
CN (1) CN100576171C (es)
AU (1) AU2004202630A1 (es)
BR (1) BRPI0402462A (es)
CA (1) CA2471292C (es)
MX (1) MXPA04006532A (es)
RU (1) RU2379745C2 (es)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849892B2 (en) * 2004-06-10 2014-09-30 Verizon Patent And Licensing Inc. Method and system for brokering messages in a distributed system
US7986954B1 (en) 2004-06-25 2011-07-26 Nortel Networks Limited Wireless communication network having a broadcast system for information distribution
US7739117B2 (en) * 2004-09-20 2010-06-15 International Business Machines Corporation Method and system for voice-enabled autofill
US7630900B1 (en) * 2004-12-01 2009-12-08 Tellme Networks, Inc. Method and system for selecting grammars based on geographic information associated with a caller
US7805704B2 (en) * 2005-03-08 2010-09-28 Microsoft Corporation Development framework for mixing semantics-driven and state-driven dialog
US20070115920A1 (en) * 2005-10-18 2007-05-24 Microsoft Corporation Dialog authoring and execution framework
US7814501B2 (en) * 2006-03-17 2010-10-12 Microsoft Corporation Application execution in a network based environment
US8632636B1 (en) * 2006-07-18 2014-01-21 Oral Health Technologies, LLC Wet wiper articles and methods for cleaning removable dental appliances
US8417529B2 (en) * 2006-12-27 2013-04-09 Nuance Communications, Inc. System and methods for prompting user speech in multimodal devices
US20090216534A1 (en) * 2008-02-22 2009-08-27 Prakash Somasundaram Voice-activated emergency medical services communication and documentation system
US8433812B2 (en) * 2008-04-01 2013-04-30 Microsoft Corporation Systems and methods for managing multimedia operations in remote sessions
US8255225B2 (en) 2008-08-07 2012-08-28 Vocollect Healthcare Systems, Inc. Voice assistant system
US20110113352A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Portable electronic device and method of web page rendering
US20110109634A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Portable electronic device and method of information rendering on portable electronic device
CN103577444B (zh) * 2012-07-30 2017-04-05 腾讯科技(深圳)有限公司 一种操控浏览器的方法及系统
US9485330B2 (en) 2012-07-30 2016-11-01 Tencent Technology (Shenzhen) Company Limited Web browser operation method and system
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US10199041B2 (en) * 2014-12-30 2019-02-05 Honeywell International Inc. Speech recognition systems and methods for maintenance repair and overhaul
US11043206B2 (en) 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US11340925B2 (en) 2017-05-18 2022-05-24 Peloton Interactive Inc. Action recipes for a crowdsourced digital assistant system
US11056105B2 (en) * 2017-05-18 2021-07-06 Aiqudo, Inc Talk back from actions in applications
US11520610B2 (en) 2017-05-18 2022-12-06 Peloton Interactive Inc. Crowdsourced on-boarding of digital assistant operations
US10838746B2 (en) 2017-05-18 2020-11-17 Aiqudo, Inc. Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations
WO2019152511A1 (en) 2018-01-30 2019-08-08 Aiqudo, Inc. Personalized digital assistant device and related methods
US10991369B1 (en) * 2018-01-31 2021-04-27 Progress Software Corporation Cognitive flow

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU642540B2 (en) 1990-09-19 1993-10-21 Philips Electronics N.V. Record carrier on which a main data file and a control file have been recorded, method of and device for recording the main data file and the control file, and device for reading the record carrier
US6119151A (en) 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
EP0826172A2 (en) * 1996-03-05 1998-03-04 Koninklijke Philips Electronics N.V. Transaction system based on a bidirectional speech channel through status graph building and problem detection for thereupon providing feedback to a human user person
US6236967B1 (en) * 1998-06-19 2001-05-22 At&T Corp. Tone and speech recognition in communications systems
US6246983B1 (en) * 1998-08-05 2001-06-12 Matsushita Electric Corporation Of America Text-to-speech e-mail reader with multi-modal reply processor
US6314402B1 (en) * 1999-04-23 2001-11-06 Nuance Communications Method and apparatus for creating modifiable and combinable speech objects for acquiring information from a speaker in an interactive voice response system
US6510414B1 (en) * 1999-10-05 2003-01-21 Cisco Technology, Inc. Speech recognition assisted data entry system and method
US6922411B1 (en) * 2000-09-29 2005-07-26 Voxeo Corporation Networked computer telephony system driven by web-based applications
US6941266B1 (en) * 2000-11-15 2005-09-06 At&T Corp. Method and system for predicting problematic dialog situations in a task classification system
CA2436940C (en) * 2000-12-01 2010-07-06 The Trustees Of Columbia University In The City Of New York A method and system for voice activating web pages
US20030149565A1 (en) * 2001-03-09 2003-08-07 Chang Steve S. System, method and computer program product for spelling fallback during large-scale speech recognition
US7610547B2 (en) * 2001-05-04 2009-10-27 Microsoft Corporation Markup language extensions for web enabled recognition
EP1410381A4 (en) 2001-05-04 2005-10-19 Unisys Corp DYNAMIC GENERATION OF VOICE APPLICATION INFORMATION FROM A WEB SERVER
US20030055651A1 (en) * 2001-08-24 2003-03-20 Pfeiffer Ralf I. System, method and computer program product for extended element types to enhance operational characteristics in a voice portal
AR037082A1 (es) * 2001-10-12 2004-10-20 Back Office Service Solutions Procedimiento para determinacion de caudal y corte de fluidos y caudalimetro sensor de corte empleado
US7177814B2 (en) * 2002-02-07 2007-02-13 Sap Aktiengesellschaft Dynamic grammar for voice-enabled applications
US7178149B2 (en) * 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7590542B2 (en) * 2002-05-08 2009-09-15 Douglas Carter Williams Method of generating test scripts using a voice-capable markup language
US7295984B2 (en) * 2002-05-09 2007-11-13 Qwest Communications International Inc. Systems and methods for providing voice and data interfaces to web services-based applications
JP3814566B2 (ja) * 2002-06-20 2006-08-30 キヤノン株式会社 情報処理装置、情報処理方法、制御プログラム
US20040061717A1 (en) * 2002-09-30 2004-04-01 Menon Rama R. Mechanism for voice-enabling legacy internet content for use with multi-modal browsers
US7184523B2 (en) * 2002-10-31 2007-02-27 Comverse, Inc. Voice message based applets
US8001709B2 (en) * 2002-12-31 2011-08-23 Nvoq Incorporated Data device to speech service bridge
US7783475B2 (en) * 2003-01-31 2010-08-24 Comverse, Inc. Menu-based, speech actuated system with speak-ahead capability

Also Published As

Publication number Publication date
US20050004800A1 (en) 2005-01-06
AU2004202630A1 (en) 2005-01-20
CN1577267A (zh) 2005-02-09
CN100576171C (zh) 2009-12-30
US7729919B2 (en) 2010-06-01
JP2005025760A (ja) 2005-01-27
KR101098716B1 (ko) 2011-12-23
KR20050004129A (ko) 2005-01-12
EP1501268A1 (en) 2005-01-26
BRPI0402462A (pt) 2005-05-24
CA2471292A1 (en) 2005-01-03
RU2379745C2 (ru) 2010-01-20
RU2004120266A (ru) 2006-01-10
CA2471292C (en) 2012-05-15

Similar Documents

Publication Publication Date Title
MXPA04006532A (es) Uso combinado de un lenguaje de marca por pasos y una herramienta de desarrollo orientada por objetos.
US7548858B2 (en) System and method for selective audible rendering of data to a user based on user input
RU2355045C2 (ru) Последовательный мультимодальный ввод
US8380516B2 (en) Retrieval and presentation of network service results for mobile device using a multimodal browser
AU2004218693B2 (en) Sequential multimodal input
US7640163B2 (en) Method and system for voice activating web pages
US6385586B1 (en) Speech recognition text-based language conversion and text-to-speech in a client-server configuration to enable language translation devices
US7593854B2 (en) Method and system for collecting user-interest information regarding a picture
US20060111906A1 (en) Enabling voice click in a multimodal page
US20020165719A1 (en) Servers for web enabled speech recognition
US20020169806A1 (en) Markup language extensions for web enabled recognition
US20030009517A1 (en) Web enabled recognition architecture
EP1320043A2 (en) Multi-modal picture
US20020178182A1 (en) Markup language extensions for web enabled recognition
KR20080040644A (ko) 음성 애플리케이션 계측 및 로깅
US8725505B2 (en) Verb error recovery in speech recognition
JPH07222248A (ja) 携帯型情報端末における音声情報の利用方式
US7197494B2 (en) Method and architecture for consolidated database search for input recognition systems
JP2001075968A (ja) 情報検索方法及びそれを記録した記録媒体

Legal Events

Date Code Title Description
FC Refusal