MXPA04002158A - Presentacion de datos a base de una entrada de usuario. - Google Patents

Presentacion de datos a base de una entrada de usuario.

Info

Publication number
MXPA04002158A
MXPA04002158A MXPA04002158A MXPA04002158A MXPA04002158A MX PA04002158 A MXPA04002158 A MX PA04002158A MX PA04002158 A MXPA04002158 A MX PA04002158A MX PA04002158 A MXPA04002158 A MX PA04002158A MX PA04002158 A MXPA04002158 A MX PA04002158A
Authority
MX
Mexico
Prior art keywords
information
user
return
data
objects
Prior art date
Application number
MXPA04002158A
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 MXPA04002158A publication Critical patent/MXPA04002158A/es

Links

Classifications

    • 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B18/00Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body
    • A61B18/04Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating
    • A61B18/12Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating by passing a current through the tissue to be heated, e.g. high-frequency current
    • A61B18/14Probes or electrodes therefor
    • A61B18/1477Needle-like probes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B17/28Surgical forceps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Biomedical Technology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Human Computer Interaction (AREA)
  • Ophthalmology & Optometry (AREA)
  • Otolaryngology (AREA)
  • Plasma & Fusion (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Machine Translation (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

Se describe un metodo para devolver informacion a un usuario basandose en una consulta de voz como se proporciona. El metodo incluye identificar un primer objeto y un segundo objeto de una expresion de lenguaje. El primer objeto y el segundo objeto estan asociados con etiquetas que corresponden a informacion almacenada. La informacion almacenada es selectivamente dada basandose en el primer objeto y el segundo objeto.

Description

PRESENTACION DE DATOS A BASE DE UNA ENTRADA DE USUARIO ANTECEDENTES DE LA INVENCION La presente invención refiere al acceso y la entrega de la información en un sistema de computación. Más particularmente, la presente invención refiere a la presentación de datos basada en la entrada de voz de un usuario. Muchas interfases del computador son basadas en las interacciones manejadas en el computador en las cuales el usuario debe seguir un conjunto de flujo de ejecución por el computador o aprender uno o varios comandos expuestos por el computador. En otras palabras, la mayoría de las interfases del computador no se adaptan a la manera en la cual el usuario desea interactuar con el computador, pero por lo contrario forzan al usuario a interactuar a través de un conjunto específico de interfases. Avances en las interfases de computador/usuario permiten a los usuarios interactuar con el computador a través de comandos de voz. Los portales de voz tales como los que se usan a través del XML de voz (lenguaje de marcación extensible de voz) han tenido un avance para permitir que el contenido de Internet sea accesado usando la voz como entrada. En esta arquitectura un servidor de documento (por ejemplo, un servidor de red) procesa solicitudes de un cliente a través de un interprete XML de voz. El servidor de la red puede producir documentos y respuestas XML de voz, las cuales son procesadas por un interprete XML de voz y devueltas audiblemente al usuario. Usando comandos de voz específicos a través de un reconocimiento de voz, el usuario puede navegar en la red y escuchar los datos devueltos audiblemente. Sin embargo, muchas aplicaciones que presentan información a un usuario, por ejemplo, manejo de direcciones, reportes de tráfico, reportes del clima y programación de cine, no son particularmente amigables. En particular, las aplicaciones tienen porciones de información con dificultad de devolución que han sido previamente devueltas o porciones de información estructurada almacenada en una tabla. Por ejemplo, varios servicios ofrecen manejo de direcciones, pero hacer esto en una lectura extendida al usuario, o en pasos predeterminados. Como resultado, los usuarios pueden necesitar escribir todo el manejo de las direcciones o continuar repitiendo completamente las direcciones de manejo, o las etapas predeterminadas, para poder memorizar la información importante. Ambas de estas situaciones son indeseables en muchas circunstancias. De acuerdo a esto, hay una necesidad de acceder y devolver parte de la información con mayor flexibilidad. Tal como un sistema o método de devolución debe ser fácil de usar siendo más natural al usuario.
COMPENDIO DE LA INVENCION La presente invención provee una interfase mejorada para la devolución de la información al usuario basada en la voz como entrada. En un aspecto de la presente invención, un método de devolución de información al usuario incluye identificar un primer objeto y un segundo objeto de una expresión de lenguaje. El primer objeto y el segundo objeto están asociados con etiquetas que corresponden a la información almacenada. La información almacenada es devuelta selectivamente basada en el primer objeto y en el segundo objeto. En una modalidad, los objetos identificados pueden ser objetos de consulta, objetos de navegación, y/o objetos de comando para devolver selectivamente la información. En un aspecto particular, ¡a información almacenada es arreglada en una tabla teniendo una pluralidad de filas y una pluralidad de columnas. Un primer objeto incluye información relativa a una fila en particular y un segundo objeto incluye, información relativa a una columna particular. En otro aspecto de la presente invención, se proporciona un método, el cual incluye devolución de un segmento información al usuario. El segmento incluye etiquetas que corresponden a porciones del segmento. El método anterior incluye la identificación de por lo menos un objeto de una expresión de lenguaje y la asociación del objeto con la etiqueta correspondiente a las porciones del segmento. La porción del segmento correspondiente a la etiqueta entonces es devuelta. En la modalidad anterior, con el fin de devolver porciones del segmento, un texto normalizador/analizador puede ser usado para identificar porciones importantes dentro del segmento. Como resultado, la presente invención provee una manera adecuada de presentar información multi-dimensional y porciones devueltas de información almacenada en una base de datos. A los usuarios se les presenta una interfase mucho más natural para la presentación de datos basada en la voz como entrada. Por ejemplo, uniusuario puede consultar celdas individuales en una tabla o crear un diálogo de dos vías basado en información almacenada.
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 es un diagrama de bloque del sistema de presentación de datos. La Figura 2 es una vista en planta de un dispositivo computacional del ambiente operativo. La Figura 3 es un diagrama de bloque de un dispositivo computacional de la Figura 2. La Figura 4 es una vista en planta de un teléfono. La Figura 5 es un diagrama de bloque de un computador de propósito general. La Figura 6 es un diagrama de bloque para una arquitectura de un sistema de cliente/servidor. La Figura 7 es un diagrama de bloque de un reconocimiento de lenguaje y de un modulo de comprensión. La Figura 8 es un diagrama de bloque de un modulo de devolución de datos. La Figura 9 es un diagrama de una tabla de precios de material de abastecimiento y objetos para ia información de devolución dentro de la tabla. Las Figuras 10A-10C contienen un código ilustrativo usado para la devolución de la tabla en la Figura 9. La Figura 11 es un diagrama de las tablas de direcciones de manejo y objetos para devolver datos dentro de la tabla. La Figura 12 es un diagrama de la tabla de datos de ventas y objetos para la devolución de datos dentro de la tabla. La Figura 13 es un parágrafo de texto y objetos para la devolución de datos dentro del parágrafo de texto. Las Figuras 14A-14D contienen un código ilustrativo usado para la devolución de datos dentro del parágrafo de ia Figura 13. La Figura 15 es un mensaje de correo de voz y objetos usados para la devolución de datos en el mensaje de correo de voz.
DESCRIPCION DETALLADA DE MODALIDADES ILUSTRATIVAS La Figura 1 es un diagrama de bloque para la presentación de un sistema de presentación de datos 10 para la devolución de datos basada en la entrada de voz. El sistema 10 incluye un modulo 12 de interfase de discurso, un reconocimiento de discurso y un modulo 14 de comprensión y un modulo 16 de devolución de datos. Un usuario provee entrada en la forma de consulta de voz al modulo de interfase de discurso 12. El modulo de interfase de discurso 12 reúne la información de discurso desde un usuario y provee una señal indicativa de eso. Después de que el discurso de entrada ha sido reunido a través del modulo de interfase de discurso 12, el reconocimiento de discurso y el modulo 14 de comprensión reconoce el discurso usando un reconocedor de discurso e identifica objetos tales como palabras claves o frases claves que se relacionan a la información que el usuario desea que el sistema 10 le devuelva. Los objetos son usados por el modulo 16 de devolución de datos para extractar datos de una base de datos 18. Una vez que la información importante haya sido identificada en la base de datos 18 usando dos objetos, la información importante puede ser devuelta al usuario. La salida del modulo de devolución de datos 16 puede estar en diferentes formas, incluyendo una salida de audio y/o visual. Dada una amplia descripción para ios datos de devolución basada en una consulta de voz, debe ser útil describir generalmente dispositivos computacionaies que pueden funcionar en el sistema 10 descrito anteriormente. Como se aprecia por aquellos expertos en el arte, los componentes del sistema 10 pueden ser localizados dentro de un computador o distribuidos a través de un ambiente computacional distribuido usando protocolos y conexiones de red. Haciendo referencia ahora a la Figura 2, una forma ilustrativa de un dispositivo móvil tal como un dispositivo de manejo de datos (P1M, PDA o similares) se ilustra en 30. Sin embargo, es contemplado que en la presente invención puede también ser practicada usando otros dispositivos computacionales discutidos más adelante. Por ejemplo teléfonos y/o dispositivos de manejo de datos pueden ser también benéficos de la presente invención. Tales dispositivos tendrán utilidad notable comparada con los dispositivos de manejo de datos personal portátiles y otros dispositivos electrónicos portátiles. Un ejemplo de un dispositivo móvil de manejo de datos 30 se ilustra en la Figura 2. El dispositivo móvil 30 incluye un alojamiento 32 y tiene una interfase de usuario incluyendo una pantalla 34, la cual usa una pantalla sensitiva de contacto en conjunto con un lápiz 33. El lápiz 33 es usado para presionar o contactar la pantalla 34 a unas coordenadas designadas para seleccionar un campo, para mover selectivamente una posición de comienzo de un cursor, o para proveer de otra manera información de comandos tal como signos o escritura manual. Alternativamente, o además, uno o más botones 35 pueden estar incluidos en el dispositivo 30 para navegación. Además, otros mecanismos de entrada tal como ruedas rotables, rodillos o similares pueden ser proveídos. Sin embargo, debe ser notado que la invención no intenta ser limitada por estas formas de mecanismos de entrada. Por ejemplo, otra forma de entrada puede incluir una entrada visual tal como a través de la visión de computador. Haciendo referencia ahora a la Figura 3, un diagrama de bloque ilustra los componentes funcionales que comprenden el dispositivo móvil 30. Una unidad de procesamiento central (CPU) 50 implementa las funciones de control del software. La CPU 50 está acoplada a la pantalla 34 de tal manera que ¡conos de texto y gráfico generados de acuerdo con el software controlador aparece en la pantalla 34. Una bocina 43 puede ser acoplada a la CPU 50 típicamente con un convertidor digital a análogo 59 para proveer una salida audible. Los datos que son bajados o introducidos por el usuario en el dispositivo móvil 30 son almacenados en una memoria de almacenamiento de acceso aleatorio no volátil lectura/escritura 54 bidireccional acoplada a la CPU 50. Memoria de acceso aleatorio (RAM) 54 provee almacenaje volátil para instrucciones que son ejecutadas por la CPU 50, y almacenaje para datos temporales, tales como valores de registro. Valores por omisión para opciones de configuración y otras variables son almacenados en una memoria de sólo lectura ROM) 58. ROM 58 puede también ser usada para almacenar el software del sistema operativo para el dispositivo que controla la .funcionalidad básica del dispositivo móvil 30 y otras funciones kernel del sistema operativo (por ejemplo, la carga de componentes de software en la RAM 54). La RAM 54 también sirve como un almacenaje para el código en una manera análoga a la función del disco duro en un computador personal que es usado para almacenar programas de aplicación. También debe ser notado que aunque la memoria no volátil es usada para almacenar el código, ésta alternativamente puede ser almacenada en memoria volátil que no se use para la ejecución del código. Señales inalámbricas pueden ser transmitidas/recibidas por el dispositivo móvil a través de un transceptor inalámbrico 52, el cual está acoplado a la CPU 50. Una interfase de comunicación opcional 60 puede también ser provisto para descargar datos directamente de un computador (por ejemplo, computador portátil), o de una red alámbrica, si se desea. De acuerdo con esto, la interfase 60 puede contener varias formas de dispositivos de comunicación, por ejemplo, un enlace infrarrojo, módem, una tarjeta de trabajo en red, o algo similar. El dispositivo móvil 30 incluye un micrófono 29, y un convertidor análogo a digital (A/D) 37, y un programa de reconocimiento opcional (discurso, DTMF, escritura manual, signos o visión de computador) almacenado en la memoria 54. Como un ejemplo, en respuesta a la información audible, instrucciones o comandos de un usuario del dispositivo 30, el micrófono 29 provee señales de discurso, las cuales son digitalizadas por el convertidor A/D 37. El programa de reconocimiento de discurso puede realizar normalización y/o funciones de extracción de características en las señales de discurso digitalizado para obtener resultados de reconocimiento de discurso intermedio. Usando el transceptor inalámbrico 52 o la interfase de comunicación 60, los datos de discurso pueden ser transmitidos a un servidor de reconocimiento remoto 204 discutido más adelante e ilustrado en la arquitectura de la Figura 6. Los resultados de reconocimiento son entonces regresados al dispositivo móvil 30 para devolver (por ejemplo visual y/o audible) allí, y eventualmente una transmisión al servidor de la red 202 (Figura 6), en donde el servidor de red 202 y el dispositivo móvil 30 operan en una relación de cliente/servidor. Un proceso similar puede ser usado para otras formas de entrada. Por ejemplo, la entrada por escritura manual puede ser digitalizada con o sin pre-procesamiento en el dispositivo 30. Como en los datos de discurso, esta forma de entrada puede ser transmitida al servidor de reconocimiento 204 para el reconocimiento en donde los resultados de reconocimiento son devueltos a por lo menos uno del dispositivo 30 y/o el servidor de red 202. Igualmente, datos DT F, datos de signos y datos visuales pueden ser procesados igualmente. Dependiendo de la forma de la entrada, el dispositivo 30 (y las otras formas de los clientes discutidas más adelante) incluye necesariamente hardware tal como una cámara para entrada visual. La Figura 4 es una vista en planta de una modalidad ilustrativa de un teléfono portátil 80. El teléfono 80 incluye una pantalla 82 y un teclado 84. Generalmente, el diagrama de bloque de la Figura se 3 aplica al teléfono de la Figura 4, aunque un circuito adicional necesario puede ser requerido para realizar otras funciones. Por ejemplo, un transceptor necesario para operar como un teléfono se requerirá para la modalidad de la Figura 3; sin embargo, tal circuito no es pertinente para la presente invención. Además de los dispositivos computacionales móviles o portátiles descritos antes, debe ser entendido que la presente invención puede ser usada con numerosos otros dispositivos computacionales tales como el computador portátil general. Por ejemplo, la presente invención permitirá al usuario con habilidades físicas limitadas entrar o ingresar texto en el computador o en otro dispositivo computacional cuando otros dispositivos computacionales, tales como un teclado alfanumérico completo, es muy difícil de operar. La invención es también operacional con numerosos otros sistemas de cómputo de propósitos generales o de propósito especial, entornos o configuraciones. Ejemplos bien conocidos de sistemas de cómputo, entornos y/o configuraciones que pueden ser adecuadas para el uso con la invención incluye, pero no son limitadas a, teléfonos regulares (sin pantalla de ninguna clase) computadores personales, computadores servidores, dispositivos portátiles o manuales, minicomputadoras, sistemas multíprocesadores, sistemas basados en microprocesadores, cajas de TV por cable, electrónica consumible programable, computadores personales de trabajo en red, minicomputadores, computadores principales, ambientes computacionales distribuidos que incluyen cualquiera de los sistemas anteriores o dispositivos, y similares. Lo siguiente es una descripción breve de un computador de propósito general 120 ilustrado en la Figura 5. Sin embargo, el computador 120 es otra vez únicamente un ejemplo de un ambiente computacional adecuado y no está encaminado a sugerir cualquier limitación al alcance del uso o la funcionabilidad de la invención. Ni tampoco debe el computador 120 ser interpretado como teniendo cualquier dependencia o un requerimiento de relación a cualquiera o combinación de los componentes ilustrados allí. La invención puede ser descrita en el contexto general de las instrucciones ejecutables de computador, tales como módulos de programa, siendo ejecutados por un computador. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc. que llevan a cabo tareas particulares o implementan tipos de información abstractos particulares. La invención puede también ser practicada en ambientes computacionales distribuidos donde las tareas son realizadas por dispositivos de procesamiento remoto que están enlazados a través de una red de trabajo de comunicaciones. En un ambiente computacional distribuido, los módulos de programa pueden ser localizados en ambos medios de almacenamiento computacional local y remoto incluyendo dispositivos de almacenamiento de memoria. Las tareas hechas por los programas y módulos están descritos más adelante y con la ayuda de Figuras. Aquellos expertos en el arte pueden implementar la descripción y Figuras como instrucciones ejecutables por el procesador, las cuales pueden ser escritas en cualquier forma de un medio de lectura computacional. Con referencia a la Figura 5, los componentes de computador 120 pueden incluir, pero no están limitados a, una unidad de procesamiento 140, un sistema de memoria 150, y un sistema de interconexión 141 que acopla los varios componentes de sistema incluyendo la memoria del sistema a la unidad de procesamiento 140. El sistema de interconexión 141 puede ser cualquiera de los varios tipos de estructuras de interconexión incluyendo una interconexión de memoria o controladores de memoria, una interconexión periférica, y una interconexión local usando cualquiera de las varias arquitecturas de interconexión. Como un ejemplo, y no limitación, tales arquitecturas incluyen la interconexión Arquitectura Estándar de la Industria (ISA), Interconexión Serial Universal (USB), interconexión Arquitectura de Micro Canal (MCA), interconexión ISA Mejorada (EISA), interconexión local de la Asociación de Estándares de Video Electrónicos (VESA), y la interconexión de la Interconexión de los Componentes Periféricos (PCI) también conocida como interconexión Mezzanine. El computador 120 típicamente incluye una variedad de medios legibles por computador. Los medios legibles por computador pueden ser cualquier medio disponible que pueda ser accesado por el computador 120 e incluyen ambos medios volátiles y no volátiles, medios removibles y no removibles. Como un ejemplo, y no limitación, los medios legibles por computador pueden comprender un medio de almacenamiento computacional y un medio de comunicación. El medio de almacenamiento computacional incluye ambos medios volátiles y no volátiles, removibles y no removibles implementados por cualquier método o tecnología para almacenamiento de información tal como instrucciones legibles por computador, estructura de datos, módulos de programa u otros datos. E! medio de almacenamiento computacional incluye, pero es no limitado a, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos digitales versátiles (DVD) u otros discos de almacenamiento ópticos, cassettes magnéticos, cinta magnética, almacenamiento de disco magnético u otro dispositivo de almacenamiento magnético, o cualquier otro medio, el cual puede ser usado para almacenar la información deseada y el cual puede ser accesado por el computador 120. El medio de comunicación típicamente modaliza las instrucciones legibles por computador, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluye cualquier información de medio de envío. El término "señal de datos modulada" quiere decir una señal que tiene una o más de su conjunto de características o cambia en tal manera como para codificar información en la señal. Como 'por ejemplo, y no como limitación, el medio de comunicación incluye un medio alámbrico tal como una red alámbrica o una conexión alámbrica directa, un medio inalámbrico tal como acústico, FR, infrarrojo y otros medios inalámbricos. Combinaciones de cualquiera de las anteriores también deben ser incluidas en el alcance del medio legible por computador. El sistema de memoria 150 incluye un medio de almacenamiento computacional en la forma de una memoria volátil y/o no volátil tal como una memoria de sólo lectura (ROM) 151 y una memoria de acceso aleatorio (RAM) 152. Un sistema básico de entrada/salida 153 (BIOS), conteniendo rutinas básicas que ayudan a transferir información entre elementos dentro del computador 120, tales como durante el arranque, es típicamente almacenado en ROM 151. La RAM 152 típicamente contiene datos y/o módulos de programa que están accesibles inmediatamente a y/o actualmente siendo operados por una unidad de procesamiento 140. Como ejemplo, y no como limitación, la Figura 5 ilustra un sistema operativo 154, programas de aplicación 155, otros módulos de programa 156, y datos de programación 157. El computador 120 debe también incluir otro medio de almacenamiento computacional removible/no removible volátil/no volátil. Como un ejemplo únicamente, Figura 5 ilustra un disco duro 161 que lee desde o escribe a un medio magnético no volátil, no removible, un disco magnético 171 que lee desde o escribe a un disco magnético removible, no volátil 172, y un disco óptico 175 que lee desde o escribe a un medio óptico no volátil, removible 176 tal como un CD-ROM u otro medio óptico. Otro medio de almacenamiento computacional removible/no removible, volátil/no volátil que puede ser usado en el entorno operacional del ejemplo incluye, pero no como limitación, cassettes de cinta magnética, ^tarjetas de memoria flash, discos digitales versátiles, cinta de video digital, estado sólido RAM, estado sólido ROM, y similar. El disco duro 161 es típicamente conectado al sistema de interconexión 141 a través de una interfase de memoria no removible tal como la interfase 160, y un disco magnético 171 y un disco óptico 175 están típicamente conectados a un sistema de interconexión 141 por medio de una interfase de memoria removible, tal como la interfase 170. Las unidades de disco y sus medios de almacenamiento computacional asociados discutidos antes e ¡lustrados en la Figura 5, proveen almacenamiento de instrucciones legibles por computador, estructuras de datos, módulos de programa y otros datos para el computador 120. En la Figura 5, por ejemplo, la unidad de disco duro 161 se ilustra como un sistema operativo de almacenamiento 164, programas de aplicación 165, otros módulos de programas 166, y datos de programación 167. Notar que estos componentes pueden ambas ser la misma como o diferente del sistema operativo 154, programas de aplicación 155, otros módulos de programas 156, y datos de programación 157. El sistema operativo 164, programas de aplicación 165, otros módulos de programas 166, y datos de programación 167 tiene diferentes números dados aquí para ilustrar esto, como un mínimo, ellos tienen diferentes copias. Un usuario puede introducir comandos e información en el computador 120 a través de dispositivos de entrada tales como un teclado 182, un micrófono 183, y un dispositivo de señalamiento 181, tal como un ratón, una bola de seguimiento o una almohadilla sensible al tacto. Otros dispositivos de entrada (no mostrados) pueden incluir una palanca de juego, una almohadilla de juego, un plato satélite, un explorador, o similares. Estos y otros dispositivos de entrada son a menudo conectados a la unidad de procesamiento 140 a través de una interfase de entrada del usuario 180 que es acoplada a un sistema de interconexión, pero puede ser conectada por otra interfase y unas estructuras de interconexión, tales como un puerto paralelo, un puerto de juego o una interconexión serial universal (USB). Un monitor 184 u otro tipo de dispositivo de pantalla es también conectado al sistema de interconexión 141 vía una interfase, tal como una interfase de video 185. En adición al monitor, los computadores pueden también incluir otros dispositivos de salida periféricos tales como bocinas 187 y una impresora 186, la cual debe ser conectada a través de un interfase periférico de salida 188. El computador 120 puede operar en un ambiente de trabajo en red usando conexiones lógicas a uno o más computadores remotos, tales como un computador remoto 194. El computador remoto 194 puede ser un computador personal, un dispositivo portátil, un servidor, un enrutador, un computador personal de trabajo en red, un dispositivo par- u otro nodo de trabajo en red común, y típicamente incluye varios o todos de los elementos descritos antes relativos al computador 120. Las conexiones lógicas descritas en la Figura 5 incluyen un área de trabajo en red local (LAN) 191 y un área de trabajo en red ancha (WAN) 193, pero también pueden incluir otras redes de trabajo. Tales ambientes de red de trabajo son un punto común en las oficinas, en las redes de trabajo de computadores de las empresas grandes, intranets y la Internet. Cuando se usa en un ambiente de red de trabajo LAN, el computador 120 es conectado al LAN 191 a través de una interfase o adaptador de red de trabajo 190. Cuando es usado en un ambiente de trabajo WAN, el computador 120 típicamente incluye un módem 192 u otro medio para establecer comunicaciones a través del WAN 193, tal como la Internet. El módem 192, el cual puede ser interno o externo, puede ser conectado al sistema de interconexión 141 vía la interfase de entrada del usuario 180, u otro mecanismo apropiado. En un ambiente de trabajo en red, módulos de programa descritos relativos al computador 120, o porciones de él, pueden ser almacenados en un dispositivo de almacenamiento de memoria remota. Como un ejemplo, pero no como limitación, la Figura 5 ¡lustra programas de aplicación remota 195 como residente en un computador remoto 194. Será apreciado que las conexiones de trabajo en red mostradas son un ejemplo y otros medios para establecer un enlace de comunicaciones entre los computadores pueden ser usados. En la Figura 6 se ilustra la arquitectura 200 para la red basada en el reconocimiento y la devolución de datos, el cual es un ambiente de ejemplo para la invención presente. Generalmente, la información almacenada en el servidor de la red 202 puede ser accesada a través de un cliente 100 tal como un dispositivo móvil 30 o el computador 120 (el cual aquí representa otra forma de dispositivo computacional teniendo una pantalla, un micrófono, una cámara, un panel sensitivo al tacto, etc., como se requiere basado en la forma de la entrada), o a través de un teléfono 80 en donde la información es requerida audiblemente o a través de tonos generados por el teléfono 80 en respuesta a las teclas presionadas y en donde la información desde el servidor red 202 es provista únicamente en respuesta audible para el usuario. En esta modalidad, la arquitectura 200 está unificada en que si la información es obtenida a través de cliente 100 o el teléfono 80 usando el reconocimiento de discurso, un solo servidor de reconocimiento 204 puede soportar ambos modos de operación. Adicionalmente, la arquitectura 200 opera usando una extensión de los bien conocidos lenguajes de marcación (por ejemplo HTML, XHTML, cHTML, XML, WML, y similares). De esta manera, la información almacenada en el servidor de la red 202 puede también accederse usando los bien conocidos métodos GUI encontrados en estos lenguajes de marcación. Usando una extensión de los bien conocidos lenguajes de marcación, la autorización en el servidor de la red 202 es más fácil, y aplicaciones heredadas actualmente existentes pueden ser también fácilmente modificadas para incluir el reconocimiento de voz. Generalmente, el cliente 100 ejecuta páginas HTML, escritos, o similares, generalmente indicados en 206, provistos por el servidor de red 202 usando un navegador. Cuando el reconocimiento de voz es requerido, como un ejemplo, datos de un discurso, los cuales pueden ser señales de audio digitalizadas o características de discurso en donde las señales de audio han sido procesadas por el cliente 100 como se discutió antes, son provistas al servidor de reconocimiento 204 con una indicación de la gramática o el modelo de lenguaje 220 para usar durante el reconocimiento de discurso, el cual puede ser provisto por el cliente 100. Alternativamente, el servidor de discurso 204 puede incluir el modelo de lenguaje 220. La ¡mplementación del servidor de reconocimiento 204 puede tomar varias formas, una de las cuales está ilustrada, pero generalmente incluye un reconocedor 211. Los resultados de reconocimiento son provistos al cliente 100 para una devolución local si se desea o es apropiado. Si se desea, un modulo de texto para discurso 222 puede ser usado para proveer texto hablado al cliente 100. En la compilación de la información a través del reconocimiento y la interfase del usuario gráfica cualquiera si es usado, el cliente 100 envía la información al servidor de red 202 para procesamiento posterior y recibir escritos/páginas HTML posteriormente, si es necesario. Como se ilustra en la Figura 6, el cliente 100, el servidor de red 202 y el servidor de reconocimiento 204 están conectados comúnmente, y se pueden direccionar separadamente, a través de una red de trabajo 205, aquí un área amplia de red de trabajo tal como la Internet. Para eso no es necesario que cualquiera de estos dispositivos esté localizado físicamente adyacente cada uno al otro. En particular, no es necesario que el servidor de la red 202 incluya un servidor de reconocimiento 204. De esta manera, autorizando al servidor de la red 202 puede centrarse en la aplicación a la cual este está dispuesta sin que los autores necesiten conocer la complejidad del servidor de reconocimiento 204. Más bien, el servidor de reconocimiento 204 puede ser designado independientemente y conectado a la red de trabajo 205, y por consiguiente, ser actualizado y mejorado sin cambios posteriores requeridos en el servidor de la red 202. El servidor de la red 202 puede también incluir un mecanismo de autorización que puede generar dinámicamente marcas y escrituras al lado del cliente. En una incorporación posterior, el servidor de red 202, el servidor de reconocimiento 204 y el cliente 100 pueden ser combinados dependiendo de las capacidades de las máquinas implementadas. Por ejemplo, si el cliente 100 comprende un computador de propósito general, por ejemplo un computador personal, el cliente puede incluir el servidor de reconocimiento 204. Igualmente, si se desea, el servidor de red 202 y el servidor de reconocimiento 204 pueden ser incorporados en una máquina única. El acceso al servidor de red 202 a través de un teléfono 80 incluye una conexión de teléfono 80 a una red de trabajo de teléfono inalámbrica o alámbrica 208, que está en turno, conecta el teléfono 80 a una tercera parte de la entrada 210. La entrada 210 conecta el teléfono 80 a un navegador de voz telefónico 212. El navegador de voz telefónico 212 incluye un servidor de medio 214 que provee una interfase de telefonía y un navegador de voz 216. Como el cliente 100, el navegador de voz telefónico 212 recibe páginas/escritos HTML o similares del servidor de red 202. En una modalidad, las páginas/escritos HTML son de la forma similar a páginas/escritos HTML provistos al cliente 100. De esta manera, el servidor de red 202 no necesita soporte del cliente 100 y teléfono 80 separadamente, o tampoco soporte estándar de clientes GUI separadamente. Más bien, un lenguaje de maración común puede ser usado. Adlcionalmente, como el cliente 100, el reconocimiento de voz de las señales audibles transmitidas por el teléfono 80 son provistas del navegador de voz 216 al servidor de reconocimiento 204, juntos a través de la red de trabajo 205, o a través de una línea dedicada 207, por ejemplo, usando TCP/IP. El servidor de red 202, el servidor de reconocimiento 204 y el navegador de voz telefónico 212 pueden ser modalizados en cualquier ambiente computacional adecuado tal como un computador portátil de propósito general ilustrado en la Figura 5. Habiendo descrito varios ambientes y arquitecturas funcionando en el sistema 10, se proporciona una descripción más detallada de varios componentes y la función del sistema 10. La Figura 7 ilustra un diagrama de bloque de reconocimiento de discurso y un módulo de entendimiento 14. El discurso de entrada recibido del módulo interfase de discurso 12 es enviado al módulo de reconocimiento y comprensión de discurso 14. El módulo de reconocimiento y comprensión de discurso 14 incluye un motor de reconocimiento 306, el cual tiene un modelo de lenguaje asociado 310. El motor de reconocimiento 306 usa un modelo de lenguaje 310 para identificar estructuras de superficie semántica posibles para representar las entradas respectivas. El motor de reconocimiento 306 provee por lo menos un objeto de salida de superficie semántica basada en el discurso de entrada. En algunas modalidades, el motor de reconocimiento 306 es capaz de proveer más de un objeto de superficie semántica alternativa para cada estructura alternativa. Aunque ¡lustrado en la Figura 7, en donde la entrada de discurso es provista, la presente invención puede ser usada con reconocimiento de escritura manual, reconocimiento de signos o interfases gráficas de usuario (en donde el usuario interactúa con un teclado o con otro dispositivo). En estas otras modalidades, el reconocedor de discurso 306 es reemplazado con un motor de reconocimiento adecuado como es conocido en el arte. Para interfases gráficas de usuario, una gramática (teniendo un modelo de lenguaje) está asociada con la entrada del usuario tal como a través de una caja de entrada. De acuerdo a esto, la entrada del usuario es procesada en una manera consistente sin modificaciones significantes basada en la manera de la entrada. Para la entrada de usuario basada en lenguaje tal como discurso y escrito manual, el modelo de lenguaje 310 usado por el motor de reconocimiento 306 puede ser cualquiera de una colección de los conocidos modelos estocásticos. Por ejemplo, el modelo de lenguaje puede ser un modelo N-gram que modela la probabilidad de una palabra en un lenguaje dado un grupo de N palabras precedentes en la entrada. El modelo de lenguaje puede también ser una gramática de contexto libre que asocia la información semántica y/o sintáctica con palabras y frases particulares. En una modalidad posterior de la presente invención, un modelo de lenguaje unificado es usado el cual combina un modelo de lenguaje N-gram con una gramática libre de contexto. En este modelo unificado, los símbolos semánticos y/o sintácticos son tratados como valores por palabra y una probabilidad N-gram es calculada para la combinación hipotética de cada una de las palabras y símbolos. El modelo de lenguaje 310 es capaz de generar una estructura de superficie semántica jerarquizada basada en la información necesaria para el modulo de devolución de datos 16 para devolver la información importante como una función de los objetos provistos a eso. En una modalidad, el discurso de entrada es analizado para identificar varios símbolos semánticos u objetos entre el texto de entrada. Los objetos son identificados desde un conjunto de objetos encontrados en el modelo de lenguaje 310. Generalmente, los objetos representan información usada por el modulo de devolución de datos 16 para devolver la información. Como se describe más adelante, los objetos pueden incluir objetos de consulta, objetos de navegación y/o objetos de comando. Los objetos de consulta contienen información que corresponde a lá información almacenada en la base de datos 18. Los objetos de navegación contienen información usada para navegar a través de la información almacenada mientras los objetos de comando pueden realizar varios comandos basados en la información almacenada. El reconocimiento de discurso y el modulo de comprensión 14 pueden también usar un control de estilo 312 para reconocer frases alternativas para identificar objetos en el discurso de entrada. El control de estilo 312 está asociado con un modelo de lenguaje 310 para asistir en la provisión de objetos importantes al modulo de devolución de información 16. En el ambiente ilustrado en la Figura 6, la información correspondiente al control de estilo 312 puede ser implementada por una aplicación autorizada en el servidor de red 202 usando herramientas de autorización tales como ASP.NET por Microsoft Corporation of Redmond, Washington. Alternativamente, otras herramientas de autorización tales como JSP, J2EE, J2SE o J2ME, o similares pueden también ser usados. Por ejemplo, una frase, "¿cuál es la distancia hasta mi siguiente turno?" puede ser "estilizado" en una frase como "¿qué tan lejos es hasta mi siguiente turno?". Adicionalmente, "¿cuál es la orientación para mi siguiente turno?" puede ser vuelto a redactar con, "¿cuál camino es mi siguiente turno?" o "¿hacia. qué dirección es mi siguiente turno?". De esta manera, el control de estilo 312 puede ser usado para identificar datos importantes entre la base de datos 18 y también identificar respuestas apropiadas para proveer al usuario. En el evento que el usuario provea discurso que el modelo de lenguaje no lo reconozca, el sistema puede inducir al usuario a repetir la entrada. Sin embargo, si el sistema no tiene una información relacionada a la entrada basada en la información semántica en la entrada o le hace falta, el sistema puede ejecutar una rutina de ayuda adecuada introduciendo al usuario en opciones disponibles. La Figura 8 ¡lustra un diagrama de bloque detallado del modulo de devolución de datos 16. El modulo de devolución de datos 16 incluye un modulo operador de comando 602, un modulo analizador/normalizador de texto 604, un modulo de interfase de base de datos 606, un modulo generador de respuesta 607, un modulo de interfase de audio 608, un modulo de interfase visual 610 y un modulo de texto a discurso 612. El modulo de devolución de datos 16 recibe objetos del reconocimiento de discurso y el modulo de comprensión 14 y provee una salida (audio y/o visual) de información importante al usuario. Como se mencionó antes, las palabras clave o frases son identificadas por el modulo de reconocimiento y comprensión de discurso 14 y proveen un objeto como una función de ello. El modulo de devolución de datos 16 interpreta los objetos recibidos del modulo de comprensión y reconocimiento de discurso 14 para recuperar y/o extractar datos de la base de datos 18 usando la interfase de base de datos 606. La interfase de base de datos 606 incluye información relativa a la estructura o esquema de almacenamiento de datos en la base de datos 18. Es importante notar que la interfase de base de datos 606 puede ser un modulo de propósito general que puede acceder a datos desde diferentes fuentes, por ejemplo desde un computador local o un servidor de red localizado a través de un área ancha de la red de trabajo. Para extractar la información importante, el modulo de devolución de datos 16 asocia los objetos recibidos del modulo de comprensión y reconocimiento de discurso 14 con etiquetas o identificadores correspondientes a la información almacenada en la base de datos 18. En algunas instancias, los datos almacenados en la base de datos 18 ya tiene incluida varias etiquetas o identificadores que corresponden al tipo de información o la estructura de la información en la base de datos 18. En otras instancias, el analizador/normalizador de texto 604 puede ser usado para generar etiquetas o de otra manera identificar información importante entre los datos. Un procesamiento adicional de los datos puede ser hecho antes que información importante sea devuelta al usuario. Por ejemplo, el operador de comando 602 puede ser usado para procesar varias combinaciones de información obtenidas desde la base de datos 18 basada en los objetos recibidos. Una vez la información importante ha sido procesada de acuerdo con los requisitos por el usuario, los datos son enviados al generador de respuesta 607. El generador de respuesta 607 puede desarrollar una respuesta adecuada a la entrada provista por el usuario. El generador de respuesta 607 entonces envía los datos a la interfase de audio 608 y/o la interfase visual 610 para ser devuelta al usuario. Un modulo de texto a discurso 612 dentro de la interfase de audio 608 puede ser usada para devolver los datos audiblemente. La Figura 9 ilustra esquemáticamente una tabla 650 en la base de datos 18, la cual puede ser devuelta selectivamente al usuario a través de consulta. La tabla 650 muestra precios de inventario al cierre para varias compañías en el año 2002 al final de cada cuarto de año. La tabla 650 incluye el almacenamiento de nombres de compañía en las filas 652, columnas 654 para cada cuarto de año del año 2002 y precios de inventario 656 para las columnas y filas. Las etiquetas asociadas con la tabla 650 corresponden a las columnas y filas. Los objetos de consulta 660 y objetos de navegación 662 están definidos por el modelo de lenguaje 310 para devolver los datos en la tabla 650. En orden de devolver la información selectivamente en la tabla 650, un usuario provee una consulta que incluye objetos de consulta 660 y/o objetos de navegación 662. La consulta es interpretada por el modulo de reconocimiento y comprensión 14 para identificar la consulta importante y los objetos de navegación. Los objetos son entonces asociados con etiquetas correspondiendo a las columnas y las filas. Los objetos de consulta 660 pueden ser usados para devolver información desde una celda particular en la tabla 650. Por ejemplo, la consulta de voz puede ser, "¿cuál fue el precio de inventario al cierre de Microsoft en el segundo cuarto de año?". En este caso, el modulo de comprensión de discurso 14 debería proveer objetos de consulta "Microsoft" y "segundo cuarto de año" al modulo de devolución de datos 16. Usando estos objetos, el modulo de devolución de datos 16 asocia estos objetos con las etiquetas de base de datos 18 para determinar la celda apropiada (mostrado como una celda sombreada en la tabla 650) esto es para ser devuelta. En este caso, "Microsoft" es un objeto de consulta conteniendo información pertinente para el objeto <nombre de la compañía> y "segundo cuarto de año" es un objeto de consulta conteniendo información perteneciente al objeto <cuarto de año>.
"Microsoft" está asociado con la etiqueta correspondiente a la fila marcada "MSFT" y "segundo cuarto de año" está asociada con la etiqueta correspondiente a la columna marcada "Q2". Después de asociar los objetos con etiquetas apropiadas, el precio de inventario "54.12" es provisto al generador de respuesta 607. Una respuesta puede ser generada usando la información importante y devolviendo al usuario usando la interfase de audio 608 y/o inferíase visual 610. Por ejemplo, la respuesta devuelta puede ser, "el precio de inventario al cierre para Microsoft en el segundo cuarto del año fue cincuenta y cuatro dólares y doce centavos". En este ejemplo, el generador de respuesta 607 recibe el valor "54.12" y utiliza que el valor en combinación con el contexto almacenado para devolver los datos recuperados. En este ejemplo, el contexto almacenado es "el precio de inventario al cierre para <nombre de la compañía> en el <cuarto de año> fue <resultado>", donde <cuarto de año> y <resultado> también han sido normalizados. El contexto usado para devolver los datos recuperados puede ser asociado individualmente con las etiquetas o identificadores para ios datos según sea necesario, y/o como úna función de los objetos. Si las salidas visuales están provistas, el generador de respuesta 607 puede proveer indicaciones sobre cómo visualmente mostrar los datos recuperados. Además, lo objetos de consulta 660 pueden incluir objetos que podrán devolver una fila entera o una columna entera. Por ejemplo, un usuario puede preguntar, "¿cuáles son los precios de inventario al cierre para Microsoft en todos los cuartos de año del 2002?". En esta instancia, el modulo de devolución de datos 16 podrá devolver cada uno de los valores para los precios de inventario de Microsoft en el 2002 al usuario. Los objetos de navegación 662 pueden ser utilizados para que un usuario navegue a través de la tabla 650 relativa a una posición en la tabla. Por ejemplo, un usuario, después de consultar acerca del precio de inventario al cierre para Microsoft en el segundo cuarto de año, puede preguntar "¿cuál es el precio de inventario al cierre para Microsoft en el siguiente cuarto de año?". En este caso, el modulo de comprensión y reconocimiento de discurso 14 identificará los objetos "Microsoft" y "siguiente cuarto de año". Estos objetos serán asociados con la etiqueta para la fila "Microsoft" y la siguiente etiqueta de columna, por ejemplo la columna "Q3". Como un resultado, los datos para el siguiente cuarto en la fila Microsoft serán devueltos. Varias interfases para programas de aplicación de voz pueden ser usados para implementar la presente invención. Una de tales interfases es por ejemplo SAPI, desarrollada por Microsoft Corporation of Redmond, Washington. Adicionalmente, la presente invención puede ser modalizada usando una extensión del lenguaje de marcación tal como las etiquetas de lenguaje de aplicación de voz (SALT). SALT es un estándar desarrollado para permitir el acceso a la información, aplicaciones y servicios de red desde computadores personales, teléfonos, tablas PCs y dispositivos móviles inalámbricos, por ejemplo. SALT se extiende en los lenguajes de marcación existentes tales como HTML, XHTML y XML. La especificación SALT 1.0 puede encontrarse en línea en http://www.SALTforum.org. Debería notarse que SALT puede suministrar información semántica con base en la entrada de usuario, por ejemplo del servidor de voz 204, en donde tal información forma los objetos provistos para el modulo de conversión de datos 16. Como se discute más adelante, el uso de las extensiones SALT o extensiones similares suministran soporte para la interacción de usuario manejado por evento para devolver los datos selectivamente.
Las Figuras 10A-10C suministran código XML ilustrativo usando SALT para devolver los datos en la tabla 650 como se describió anteriormente. Como se ilustró en la Figura 10a, el código incluye una porción de cabecera 670, una porción de datos 672 y una porción de entrada 674. La porción de cabecera 670 incluye información variable para inicializar y establecer elementos en la página de red o aplicación. La porción de datos 672 representa los datos de la tabla 650 con varias etiquetas. Por ejemplo, la porción de datos 672 incluye la etiqueta 676 para <compañía>, que indica una fila, la etiqueta 677 para <nombre> y la etiqueta 678 para <Q2>, en donde <nombre> y <Q1><Q2>, etc. significa las columnas. Aunque se ha mostrado aquí en donde la porción de datos 672 incluye la información que va a ser cambiada, la porción de datos 672 puede incluir enlaces a otras localizaciones que tienen la información, por ejemplo usando un Localizador Uniforme de Recursos (URL). La porción de entrada 674 define varias entradas esperadas desde un usuario. La Figura 10B continua el código para suministrar datos en la tabla 650. En la Figura 10B, varias etiquetas de aplicaciones de voz están marcadas con la etiqueta "SALT". Por ejemplo, las etiquetas incluyen una etiqueta de"escuchar" 680, una etiqueta de "gramática" 682 y etiquetas de "incitar" 684 y 686. La etiqueta de escuchar 680 es usada para la entrada de voz. La etiqueta de escuchar configura un reconocedor de voz, ejecuta el reconocimiento y maneja los eventos de entrada de voz. La etiqueta de gramática 682 es usada para especificar la gramática usada en el reconocimiento. De esta manera, la gramática 682 identifica un modelo de lenguaje. En este ejemplo, la porción de regla 688 de la gramática ha sido definida para varios nombres de compañía en la tabla 650 y la porción de regla 690 ha sido definida para cada uno de los cuartos en la tabla 650. Las etiquetas de incitar 684 y 686 son usadas para especificar la salida del sistema, por ejemplo, el contexto como se describió anteriormente. Las etiquetas de incitar pueden ser texto siempre, marcaciones de salida de voz, valores variables, enlaces a archivos de audio, o combinaciones de ellos. Las funciones y/o los métodos de escritura pueden también ser usados para formatear los datos recuperados, como se discute más abajo. La etiqueta de incitar 684 genera una respuesta con base en una solicitud de usuario y actúa como un generador de respuesta 607 ilustrado en la Figura 8. La etiqueta de incitar 686 le pregunta al usuario que ingrese una pregunta. La Figura 10C continua el código de la Figura 10B e incluye un escrito 692 para suministrar información relevante con base en una pregunta por voz del usuario. El escrito 692 identifica la celda relevante que va a ser suministrada y llama a incitar 684 para suministrar con base en los objetos identificados y asociación entre los objetos y las etiquetas correspondientes a los datos en la porción de datos 672. Este ejemplo también ilustra un soporte de eventos y cubre un hospedaje de escrito, en donde luego de la activación del reconocimiento e identificación de los objetos, una función es llamada o ejecutada en la porción de escrito 692 para suministrar los datos selectivamente. El módulo de devolución de datos 16 es también útil particularmente en la creación de un diálogo entre un computador y un usuario. Un diálogo es útil particularmente en un escenario en donde el usuario desea recuperar porciones de la información almacenada en una base de datos luego de su solicitud. Un tal escenario es la devolución de direcciones de manejo. La Figura 11 ¡lustra una tabla 700 que incluye direcciones de manejo de muestra. La tabla 700 está dispuesta en una pluralidad de filas 702 y una pluralidad de columnas 704. Cada una de las filas 702 representa un turno en las direcciones de manejo, mientras que cada una de las columnas 704 representa información particular acerca de cada vuelta. La información adicional, indicada en 706 puede también estar asociada con la tabla 700. La información adicional 706 es mostrada como valores totales para un viaje, pero puede incluir otra información o enlaces para otra información. En una modalidad, se provee información relacionada con negocios cercanos tales como bancos y restaurantes. Una pluralidad de objetos de pregunta 708 y una pluralidad de objetos de navegación 710 también están asociadas con la tabla 700. Cuando se devuelven direcciones de manejo a un usuario, el modulo de devolución de datos 16 puede por omisión devolver la primera fila (turno) de información. El modulo de devolución de datos 16 puede estar programado para devolver todos o una parte de la primera vuelta al usuario. Por ejemplo, dada la información en la primera fila de direcciones, el generador de respuesta 607 puede devolver audiblemente al usuario, "tome vuelta a la izquierda en la Avenida Concord por una distancia de 0,5 millas". El usuario puede entonces preguntar información adicional acerca de dicho giro, tal como "¿cuál es el poste de signo que yo debo buscar?". Alternativamente, el usuario puede preguntar por una porción del giro o de la dirección para ser repetida. Por ejemplo, el usuario puede preguntar, "¿en qué dirección debo dar vuelta?". En este caso, el objeto dirección está asociado con una etiqueta para la dirección presente, particularmente "izquierda". El modulo de devolución de datos 16 recupera la información relevante de la tabla 700 y devuelve una respuesta adecuada, tal como, "tome una izquierda" en donde "izquierda" fue obtenido de la primera fila en la primera columna. Cuando el usuario desea oír sobre la siguiente vuelta, el usuario puede suministrar una pregunta, tal como, "¿cuál es la siguiente vuelta?". Usando objetos de navegación 710, el modulo de devolución de datos 16 puede devolver información relevante para los giros relativos a una posición actual. Por ejemplo, el usuario puede preguntar, "¿cuál es el nombre de la calle para la siguiente vuelta?". El objeto de navegación "siguiente" estará asociado con la etiqueta para la vuelta siguiente (es decir fila) dada su posición actual en la tabla 700 y el objeto de pregunta de nombre de calle estará asociado con la columna apropiada y la información relevante será devuelta. En cualquier momento, un usuario puede tener acceso a cualquier porción de la tabla 700 usando una pregunta apropiada, que suministra objetos correspondientes. Adicionalmente, un usuario puede tener acceso a la distancia total y el tiempo de viaje aproximado 706 luego de una pregunta apropiada que está asociada con el objeto <total>. Alternativamente, una pregunta puede solicitar un nuevo conjunto de direcciones de manejo con base en la localización actual y el ingreso del usuario. Por ejemplo, el usuario puede decir, "por favor lléveme al restaurante mexicano más cercano". Esta entrada sería interpretada para generar un nuevo conjunto de direcciones de manejo con base en la localización actual y los datos que suministran una dirección del restaurante mexicano más cercano. De acuerdo con lo anterior, el modelo de lenguaje asociado con las direcciones de manejo puede ser expandido para reconocer diversas preguntas, objetos de navegación o de comando con base en esta información y si es necesario ejecutar el código, por ejemplo, escritos que adquirirían nuevos datos contenidos en bases de datos remotas que serían usadas para tener acceso a la información lejana. El sistema también puede adquirir un nuevo modelo de lenguaje para devolver de manera selectiva los nuevos datos. En una modalidad, los datos anteriores que han sido devueltos (es decir la tabla 700) desde, por ejemplo, una página de marcación u otro código, pueden ser almacenadas con la posición actual anotada de modo que luego de completar la devolución de la nueva información, el sistema puede regresar de nuevo para devolver la información previa (es decir la tabla 700) desde su posición actual. El modulo de devolución de datos 16 puede también ser usado para llevar a cabo comandos específicos. La Figura 12 ilustra esquemáticamente los datos como las tablas 750 y 752, que incluyen datos de ventas para productos en los años 2001 y 2002, respectivamente. En adición a preguntar celdas individuales y navegar a través de la tabla como se describió anteriormente, un usuario puede solicitar información usando comandos que procesan los datos en las tablas 750 y 752 para poder devolver la información descrita. Objetos de pregunta 760, objetos de navegación 762 y objetos de comando 764 son todos usados cuando se devuelven datos de las tablas 750 y 752. Usando objetos de comando 764, un usuario puede devolver de manera selectiva información relevante con base en la información en las tablas 750 y 752 y ejecutar un comando con base en esta información. Por ejemplo, cuando se usa el objeto <comparar>, un usuario puede solicitar, "por favor déme los datos de venta para las partes 1001 en el primer cuarto del año 2001 y el primer cuarto del año 2002". Luego de esta solicitud, el modulo de suministro de datos 16 suministrará selectivamente los valores "$3048,26" y "$4125,06" con o sin contexto adicional. En una modalidad, los valores pueden ser mostrados en una relación lado a lado para una fácil comparación por el usuario como también se puede devolver de manera audible.
El operador de comando 602, usando objetos de comando 764, puede también calcular datos con base en una solicitud de un usuario. Por ejemplo, un usuario puede preguntar, "por favor agregue las ventas para la parte 1001 en el primer cuarto del año 2002 y el segundo cuarto del año 2002". Este comando utiliza el objeto <sumar>, que también fue identificado desde la entrada del usuario. En este caso, la interfase de la base de datos 606 extractará los valores de la información para la parte 1001 en los cuartos relevantes del año 2002 y enviará los datos relevantes al operador de comando 602. El operador de comando 602 entonces suma cada uno de los valores y envía los resultados al generador de respuesta 607, el cual devuelve datos usando una interfase de audio 608 lo una interfase visual 610. El operador de comando 602 puede también agregar más de dos valores, por ejemplo una fila completa de información. Otros comandos también pueden ser usados dependiendo de la aplicación particular. Por ejemplo, <substraer> y <por ciento> pueden suministrar valores con base en dos o más valores de datos. El modulo de devolución de datos 16 puede también devolver de manera selectiva datos no estructurados, por ejemplo un parágrafo de un texto, el cual en la base de datos 18 podría haber sido originado como un archivo audible, un ingreso de manuscrito con conversión adecuada. La Figura 13 ilustra un parágrafo 800 de texto que se relaciona con un resumen de mercado de valores. Los objetos de pregunta 802 y los objetos de navegación 804 están definidos para devolver de manera selectiva el parágrafo 800 con base en entrada de voz de un usuario. Para devolver de manera selectiva el parágrafo 800, varias etiquetas deben corresponder a la información relevante dentro del parágrafo 800. En una modalidad, el normalizador/analizador de texto 604 es usado para identificar las porciones relevantes del parágrafo 800 y generar varias etiquetas con base en las porciones relevantes. Por ejemplo, el normalizador/analizador 604 puede identificar frases (análogas a filas en la tabla explicada anteriormente), números, nombres de compañía, etc. El procesamiento puede incluir información semántica precisa para porciones de datos. Una vez el parágrafo 800 ha sido pre-procesado para identificar las etiquetas relevantes, el parágrafo 800 puede ser devuelto. Inicialmente, el modulo de devolución de datos 16 inicia con devolver la primera frase del texto. Luego de un silencio por parte del usuario o del reconocimiento de un objeto de navegación "siguiente", el modulo de devolución de datos empezará a devolver la siguiente frase. Un usuario puede también solicitar tener ciertas porciones del parágrafo 800 devueltas. Por ejemplo, el usuario puede solicitar que el último índice del mercado sea repetido, usando una pregunta tal como, "¿cuál fue el último índice del mercado?". Cuando un objeto <índice de mercado> es identificado por el reconocimiento de voz y el modulo de entendimiento 14, el modulo de devolución de datos 16 asociará este objeto con la etiqueta del parágrafo 800. Por ejemplo, después que la primera frase del parágrafo 800 ha sido devuelta, el modulo de devolución de datos 16 asociará el objeto índice de marcado con una etiqueta correspondiente para "índice de mercado de quinientos estándar y pobre". Así, luego de devolver un segmento de información (es decir una frase) una porción del segmento puede ser devuelta con base en una entrada de voz del usuario. Debería entenderse que cualquier porción del parágrafo puede ser recuperada usando una pregunta adecuada que suministra objetos correspondientes para acceder la información deseada. Esta técnica de procesamiento de datos no estructurados y por lo tanto de permitirle a un usuario hacer preguntas, navegar y dar instrucciones puede ser fácilmente extendida para devolver un periódico completo, una revista u otras fuentes de información. Tal técnica puede ser suplementada con una estructura jerárquica definida (por ejemplo, secciones de deportes, sección de negocios, sección del metro, etc., de un periódico) para devolver la información. Sin embargo, la técnica incluye objetos de determinación suministrados por el usuario y usando estos objetos para devolver selectivamente la información . Las Figuras 14A-14D ilustran el código XML ilustrativo con SALT para devolver el parágrafo 800. Haciendo referencia a la Figura 14A, una porción de encabezado 810 y una porción de datos 812 se ilustran. La porción de encabezado 810 incluye datos para inicializar el documento. La porción de datos 812 ilustra el parágrafo 800 después de que el parágrafo ha sido analizado y normalizado por el normalizador/analizador de texto 604. Como se ¡lustró, varias etiquetas tales como <oración>, <nombre de entidad = "índice de mercado"> y <nombre de entidad = "número"> han sido asociadas con porciones del parágrafo 800. El código continua en la Figura 14B en donde varias etiquetas de lenguaje de aplicación de voz se han ilustrado. Por ejemplo, el código incluye una etiqueta de escuchar 814, una etiqueta de gramática 816 y una etiqueta de incitar 818 y 820. La etiqueta de escuchar 814 inicializa el reconocedor de voz y comienza a identificar objetos dentro de la entrada de voz del usuario. La etiqueta de gramática 816 inicializa el modelo de lenguaje, que en este caso define las reglas de navegación 820 y las reglas de preguntas 822. La Figura 14C ilustra la continuación del código de la Figura 14B. Una etiqueta de escrito 826 identifica el inicio de una porción de escrito del código. La porción de escrito incluye varias funciones para operar el modulo de devolución de datos 16. Un función de comando ejecutar 828 reconoce los comandos de navegación o de preguntas y llama a las funciones necesarias con base en los objetos reconocidos. Una función inicializar 830 comienza a interpretar el parágrafo 800 desde el comienzo. Una función de mueva hacia atrás 832 y una función de mueva siguiente 834 se han suministrado para mover hacia atrás una frase o mover hacia la siguiente frase, respectivamente. La Figura 14D, la función de extraiga elemento 836 extrae la información relevante del parágrafo 800 con base en la entrada de voz del usuario. La pantalla 836 muestra el parágrafo 800 sobre la pantalla, por ejemplo. Como se indicó anteriormente, el modulo de devolución de datos 16 puede también ser usado para devolver otras formas de texto no estructurado. Por ejemplo, la Figura 15 ilustra un mensaje de correo de voz 840. Los objetos 842 son usados para devolver porciones del mensaje. Para poder devolver porciones del mensaje de correo de voz 840, la interfase de base de datos 606 (Figura 8) incluye un reconocedor de voz para convertir el mensaje de correo de voz 840 en texto. Después que el mensaje ha sido convertido a texto, el normalizador/analizador de texto 604 es usado para identificar las porciones relevantes del mensaje de correo de voz. Por ejemplo, el normalizador/analizador de texto 604 puede identificar una persona, un sujeto del mensaje y/o números tales como números telefónicos. Las etiquetas son generadas con base en esta identificación similar a lo que se describió anteriormente para el párrafo 800. Después de que el mensaje de correo de voz o una porción del mensaje de correo de voz ha sido devuelto, un usuario puede solicitar porciones relevantes que sean repetidas. Por ejemplo, en el mensaje de correo de voz de la Figura 15, un usuario puede solicitar que el número telefónico o el sujeto del mensaje sea repetido. Usando objetos 842, el modulo de devolución de datos 16 asocia los objetos con las etiquetas correspondientes a los datos en el mensaje de correo de voz 840. Los datos requeridos son entonces devueltos. En una modalidad adicional, una pluralidad de mensajes de correo de voz puede ser procesada para suministrar acceso selectivo a cada uno de los mensajes usando objetos de navegación. Los objetos de comando podrían ser usados para indicar llamadas que deben regresarse, etc., usando información en el mensaje (es decir números telefónicos) o por medio de acceder otra información tal como una lista de personas que tienen números telefónicos. Como otro ejemplo, con respecto a las direcciones de manejo del ejemplo de la Figura 11, la información que pertenece a negocios cercanos puede también ser accesada desde almacenes de información remotos y/o aplicaciones remotas. Aunque la presente invención ha sido descrita con referencia a modalidades particulares, aquellos versados en la técnica reconocerán que se pueden hacer cambios en la forma y detalle sin salirse del espíritu y alcance de la invención.

Claims (35)

REIVINDICACIONES
1. Un método para devolver información a un usuario en base a una pregunta, que incluye: identificar un primer objeto y un segundo objeto de la pregunta; asociar el primor objeto y el segundo objeto con etiquetas correspondientes a una porción de información almacenada para devolver; y devolver selectivamente la porción de la información almacenada.
2. El método de acuerdo con la reivindicación 1, en donde al menos un objeto entre el primer y el segundo objeto es un objeto de pregunta que contiene información relativa a una etiqueta que corresponde a información almacenada.
3. El método de acuerdo con la reivindicación 1, en donde al menos un objeto entre el primer y el segundo objeto es un objeto de navegación ni contiene información para navegar dentro de la información almacenada.
4. El método de acuerdo con la reivindicación 1, en donde al menos un objeto entre el primer y el segundo objeto es un objeto de comando que contiene información para ejecutar un comandó seleccionado en la información almacenada.
5. El método de acuerdo con ia reivindicación 1, en donde la identificación incluye el uso de un modelo de lenguaje para identificar el primer objeto y el segundo objeto.
6. El método de acuerdo con la reivindicación 5, en donde la identificación incluye también el uso de un control de estilo para reconocer frases alternativas del primer objeto y el segundo objeto.
7. El método de acuerdo con la reivindicación 1, en donde la información almacenada se dispone en una estructura multidimensional y en donde al menos uno de los objetos entre el primer objeto y el segundo objeto corresponde a al menos una dimensión en la estructura multidimensional,
8. El método de acuerdo con la reivindicación 7, en donde ia estructura multidimensional es una tabla que incluye una serie de filas y una serie de columnas y en que el primer objeto incluye información relativa a una fila en particular y el segundo objeto incluye información relativa a una columna en particular.
9. El método de acuerdo con la reivindicación 1, en que la devolución selectiva de la porción de información almacenada se basa en al menos uno de los objetos entre el primer objeto y el segundo objeto.
10. El método de acuerdo con la reivindicación 9, en donde la devolución selectiva de la porción de información almacenada incluye devolver la porción de información almacenada en combinación con un contexto guardado en base al primer objeto y al segundo objeto.
11. El método de acuerdo con la reivindicación 1, en donde la pregunta es una expresión de lenguaje.
12. El método de acuerdo con la reivindicación 1, en donde la pregunta incluye una entrada escrita a mano.
13. El método de acuerdo con la reivindicación 1, en donde la devolución selectiva de la porción de información almacenada incluye la ejecución de un escrito para devolver la porción.
14. Un método para devolver información a un usuario en base a una pregunta de voz, que incluye: devolver un segmento de información a un usuario, segmento que incluye etiquetas que corresponden a porciones del segmento; identificar al menos un objeto de la pregunta; asociar al menos un objeto con una etiqueta correspondiente a porciones del segmento; y devolver la porción del segmento correspondiente a la etiqueta.
15. El método de acuerdo con la reivindicación 14, que incluye además analizar el segmento para identificar etiquetas de información pertinente dentro del segmento.
16. El método de acuerdo la reivindicación 15, en donde el segmento de información son datos de lenguaje.
17. El método de acuerdo con la reivindicación 14, en donde el segmento de información es una oración y las etiquetas corresponden a datos dentro de la oración.
18. El método de acuerdo con la reivindicación 14, en donde el segmento de información es una fila y las etiquetas corresponden a columnas dentro de la fila.
19. El método de acuerdo con la reivindicación 14, en donde al menos una etiqueta corresponde a un nombre propio.
20. El método de acuerdo con la reivindicación 14, en donde al menos una etiqueta corresponde a un número.
21. El método de acuerdo con la reivindicación 20, en donde al menos una etiqueta corresponde a un número de teléfono.
22. El método de acuerdo con la reivindicación 14, en donde al menos una etiqueta corresponde a un una porción de indicaciones de ruta.
23. El método de acuerdo con la reivindicación 14, en donde la devolución selectiva de la porción de información almacenada se basa en al menos uno de los objetos entre el primer objeto y el segundo objeto.
24. El método de acuerdo con la reivindicación 14, en donde la devolución selectiva de la porción de información almacenada incluye devolver la porción de información almacenada en combinación con un contexto almacenado en base al primer objeto y al segundo objeto.
25. El método de acuerdo con la reivindicación 14, en donde la pregunta es una expresión de lenguaje.
26. El método de acuerdo con la reivindicación 14, en donde la pregunta incluye una entrada escrita a mano.
27. El método de acuerdo con la reivindicación 14, en donde la devolución selectiva de la porción incluye la ejecución de un escrito.
28. Un método para proporcionar información a un usuario, que incluye; procesar texto para proporcionar identificadores que correspondan a porciones de información dentro del texto; identificar un objeto dentro de la entrada de un usuario, el objeto que corresponde a un identificador de información; y devolver selectivamente una porción de la información dentro del texto, en base al objeto y al identificador.
29. Un método para proporcionar información a un usuario, que incluye: identificar un primer objeto, un segundo objeto y un objeto de comando a partir de la entrada de un usuario; asociar el primer objeto y 11 segundo objeto con etiquetas correspondientes a una primera porción, de información almacenada y una segunda porción de información almacenada; y realizar una operación con la primera porción y la segunda porción en base al objeto de comando para devolver información.
30. Un medio legible por computadora, que incluye instrucciones legibles para un dispositivo computacional que, cuando se implementan, hagan que el dispositiva computacional maneje la información realizando pasos que incluyen: establecer un modelo de lenguaje para identificar un primer objeto y un segundo objeto a partir de la entrada de un usuario; procesar etiquetas para asociar el primer objeto y el segundo objeto con una porción de información almacenada; y devolver selectivamente la porción de la información almacenada.
31. El medio legible por computadora de acuerdo con la reivindicación 30, en donde los pasos son incluidos como lenguaje de marcación.
32. El medio legible por computadora de acuerdo con la reivindicación 30, que incluye también una estructura de datos con las etiquetas y la información almacenada.
33. Un medio legible por computadora, que incluye instrucciones legibles para un dispositivo computacional que, cuando se implementan, hagan que el dispositivo computacional maneje la información realizando pasos que incluyen: procesar texto para proporcionar identificadores de porción de la información dentro del texto; establecer un modelo de lenguaje para identificar objetos que correspondan a las porciones; procesar etiquetas para asociar los objetos con las porciones; y devolver selectivamente las porciones de la información almacenada.
34. El medio legible por computadora de acuerdo con la reivindicación 33, en donde los pasos son modalizados como lenguaje de marcación.
35. El medio legible por computadora de acuerdo con la reivindicación 33, que incluye también una estructura de datos conteniendo etiquetas y la información almacenada.
MXPA04002158A 2003-03-05 2004-03-05 Presentacion de datos a base de una entrada de usuario. MXPA04002158A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/382,121 US7548858B2 (en) 2003-03-05 2003-03-05 System and method for selective audible rendering of data to a user based on user input

Publications (1)

Publication Number Publication Date
MXPA04002158A true MXPA04002158A (es) 2005-09-08

Family

ID=32824778

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04002158A MXPA04002158A (es) 2003-03-05 2004-03-05 Presentacion de datos a base de una entrada de usuario.

Country Status (25)

Country Link
US (1) US7548858B2 (es)
EP (1) EP1455268A3 (es)
JP (1) JP2004310748A (es)
KR (1) KR101004501B1 (es)
CN (2) CN101482805B (es)
AR (1) AR043723A1 (es)
AU (1) AU2004200684A1 (es)
BR (1) BRPI0400702A (es)
CA (1) CA2459030A1 (es)
CO (1) CO5560094A1 (es)
EC (1) ECSP045007A (es)
GT (1) GT200400036A (es)
HR (1) HRP20040168A2 (es)
IL (1) IL160462A0 (es)
MX (1) MXPA04002158A (es)
NI (1) NI200400007A (es)
NO (1) NO20040923L (es)
NZ (1) NZ531247A (es)
PA (1) PA8597001A1 (es)
PE (1) PE20041075A1 (es)
RU (1) RU2360281C2 (es)
SG (1) SG135951A1 (es)
TW (1) TW200424951A (es)
UY (1) UY28220A1 (es)
ZA (1) ZA200401490B (es)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516190B2 (en) * 2000-02-04 2009-04-07 Parus Holdings, Inc. Personal voice-based information retrieval system
US7412038B2 (en) * 2004-04-28 2008-08-12 International Business Machines Corporation Telecommunications voice server leveraging application web-server capabilities
US20060095296A1 (en) * 2004-11-02 2006-05-04 Lawrence Erdman System and method for improved data retrieval in a clinical reporting environment
US7958131B2 (en) 2005-08-19 2011-06-07 International Business Machines Corporation Method for data management and data rendering for disparate data types
US8977636B2 (en) 2005-08-19 2015-03-10 International Business Machines Corporation Synthesizing aggregate data of disparate data types into data of a uniform data type
US8095866B2 (en) 2005-09-09 2012-01-10 Microsoft Corporation Filtering user interface for a data summary table
US8601383B2 (en) 2005-09-09 2013-12-03 Microsoft Corporation User interface for creating a spreadsheet data summary table
US8266220B2 (en) 2005-09-14 2012-09-11 International Business Machines Corporation Email management and rendering
US7624099B2 (en) * 2005-10-13 2009-11-24 Microsoft Corporation Client-server word-breaking framework
US8694319B2 (en) * 2005-11-03 2014-04-08 International Business Machines Corporation Dynamic prosody adjustment for voice-rendering synthesized data
CN100388181C (zh) * 2005-11-30 2008-05-14 宏碁股份有限公司 手持装置的单手操作系统及其方法
US7996228B2 (en) * 2005-12-22 2011-08-09 Microsoft Corporation Voice initiated network operations
US8271107B2 (en) 2006-01-13 2012-09-18 International Business Machines Corporation Controlling audio operation for data management and data rendering
DE102006006305A1 (de) * 2006-02-10 2007-08-16 Siemens Ag Verfahren zur Aufbereitung von Informationen für ein Sprachdialogsystem
US9135339B2 (en) 2006-02-13 2015-09-15 International Business Machines Corporation Invoking an audio hyperlink
US7770100B2 (en) 2006-02-27 2010-08-03 Microsoft Corporation Dynamic thresholds for conditional formats
US8526580B2 (en) * 2006-08-31 2013-09-03 Broadcom Corporation System and method for voicemail organization
US9196241B2 (en) 2006-09-29 2015-11-24 International Business Machines Corporation Asynchronous communications using messages recorded on handheld devices
US8000969B2 (en) * 2006-12-19 2011-08-16 Nuance Communications, Inc. Inferring switching conditions for switching between modalities in a speech application environment extended for interactive text exchanges
US9318100B2 (en) 2007-01-03 2016-04-19 International Business Machines Corporation Supplementing audio recorded in a media file
CA2720642A1 (en) 2008-04-04 2009-10-08 Colgate-Palmolive Company Analysis of substrates having agents deposited thereon
US20100070863A1 (en) * 2008-09-16 2010-03-18 International Business Machines Corporation method for reading a screen
US8229971B2 (en) 2008-09-29 2012-07-24 Efrem Meretab System and method for dynamically configuring content-driven relationships among data elements
CN101587492B (zh) * 2009-05-11 2011-05-11 金蝶软件(中国)有限公司 定位处理对象的方法和系统
US9626339B2 (en) * 2009-07-20 2017-04-18 Mcap Research Llc User interface with navigation controls for the display or concealment of adjacent content
US20110150191A1 (en) * 2009-12-18 2011-06-23 Mitel Networks Corporation Method and apparatus for call handling
US9564120B2 (en) * 2010-05-14 2017-02-07 General Motors Llc Speech adaptation in speech synthesis
KR101762611B1 (ko) * 2010-12-10 2017-07-28 삼성전자 주식회사 터치스크린을 구비한 휴대 단말기의 화면 표시 방법 및 장치
US10984337B2 (en) 2012-02-29 2021-04-20 Microsoft Technology Licensing, Llc Context-based search query formation
KR20140004515A (ko) * 2012-07-03 2014-01-13 삼성전자주식회사 디스플레이 장치, 대화형 시스템 및 응답 정보 제공 방법
KR101743514B1 (ko) * 2012-07-12 2017-06-07 삼성전자주식회사 외부 입력 제어 방법 및 이를 적용한 방송 수신 장치
US9288421B2 (en) 2012-07-12 2016-03-15 Samsung Electronics Co., Ltd. Method for controlling external input and broadcast receiving apparatus
US9195649B2 (en) * 2012-12-21 2015-11-24 The Nielsen Company (Us), Llc Audio processing techniques for semantic audio recognition and report generation
US10579682B1 (en) * 2013-09-17 2020-03-03 Google Llc Machine-learned disambiguation of user action data
US10083002B2 (en) * 2014-12-18 2018-09-25 International Business Machines Corporation Using voice-based web navigation to conserve cellular data
US10019485B2 (en) 2015-02-23 2018-07-10 Google Llc Search query based form populator
DE112016004863T5 (de) * 2015-10-21 2018-07-19 Google Llc Parametersammlung und automatische Dialogerzeugung in Dialogsystemen
WO2018120192A1 (en) 2016-12-30 2018-07-05 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for intelligent information management
US11264025B2 (en) * 2019-07-23 2022-03-01 Cdw Llc Automated graphical user interface control methods and systems using voice commands
CN113470649A (zh) * 2021-08-18 2021-10-01 三星电子(中国)研发中心 语音交互方法及装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2846374B2 (ja) 1989-11-28 1999-01-13 日本電信電話株式会社 情報案内・提供方法
US5020107A (en) * 1989-12-04 1991-05-28 Motorola, Inc. Limited vocabulary speech recognition system
EP0645757B1 (en) 1993-09-23 2000-04-05 Xerox Corporation Semantic co-occurrence filtering for speech recognition and signal transcription applications
US5748841A (en) * 1994-02-25 1998-05-05 Morin; Philippe Supervised contextual language acquisition system
US5666438A (en) * 1994-07-29 1997-09-09 Apple Computer, Inc. Method and apparatus for recognizing handwriting of different users of a pen-based computer system
US6604103B1 (en) * 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US5715445A (en) * 1994-09-02 1998-02-03 Wolfe; Mark A. Document retrieval system employing a preloading procedure
US5715450A (en) * 1995-09-27 1998-02-03 Siebel Systems, Inc. Method of selecting and presenting data from a database using a query language to a user of a computer system
EP0817002A3 (en) 1996-07-01 2001-02-14 International Business Machines Corporation Speech supported navigation of a pointer in a graphical user interface
JPH1049381A (ja) * 1996-07-04 1998-02-20 Internatl Business Mach Corp <Ibm> 複数のデータ処理要求の処理方法及び処理システム、プログラムの実行方法及びシステム
US5864863A (en) * 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
US6018710A (en) * 1996-12-13 2000-01-25 Siemens Corporate Research, Inc. Web-based interactive radio environment: WIRE
US5978799A (en) * 1997-01-30 1999-11-02 Hirsch; G. Scott Search engine including query database, user profile database, information templates and email facility
US6108629A (en) * 1997-04-25 2000-08-22 At&T Corp. Method and apparatus for voice interaction over a network using an information flow controller
CA2216224A1 (en) 1997-09-19 1999-03-19 Peter R. Stubley Block algorithm for pattern recognition
AU746138B2 (en) * 1997-10-21 2002-04-18 British Telecommunications Public Limited Company Information management system
US5991756A (en) 1997-11-03 1999-11-23 Yahoo, Inc. Information retrieval from hierarchical compound documents
US6934687B1 (en) * 1997-11-20 2005-08-23 Ncr Corporation Computer architecture and method for supporting and analyzing electronic commerce over the world wide web for commerce service providers and/or internet service providers
US6366651B1 (en) * 1998-01-21 2002-04-02 Avaya Technology Corp. Communication device having capability to convert between voice and text message
US6505159B1 (en) 1998-03-03 2003-01-07 Microsoft Corporation Apparatus and method for providing speech input to a speech recognition system
US6483899B2 (en) * 1998-06-19 2002-11-19 At&T Corp Voice messaging system
US6292833B1 (en) * 1998-07-17 2001-09-18 Openwave Systems Inc. Method and apparatus for providing access control to local services of mobile devices
US6519562B1 (en) * 1999-02-25 2003-02-11 Speechworks International, Inc. Dynamic semantic control of a speech recognition system
US6175830B1 (en) 1999-05-20 2001-01-16 Evresearch, Ltd. Information management, retrieval and display system and associated method
US6615172B1 (en) * 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
US6886005B2 (en) 2000-02-17 2005-04-26 E-Numerate Solutions, Inc. RDL search engine
US6865528B1 (en) 2000-06-01 2005-03-08 Microsoft Corporation Use of a unified language model
US6876969B2 (en) * 2000-08-25 2005-04-05 Fujitsu Limited Document read-out apparatus and method and storage medium
US6999932B1 (en) * 2000-10-10 2006-02-14 Intel Corporation Language independent voice-based search system
AUPR082400A0 (en) 2000-10-17 2000-11-09 Telstra R & D Management Pty Ltd An information retrieval system
NZ508695A (en) 2000-12-07 2003-04-29 Compudigm Int Ltd Method and system of searching a database of records
US20020165707A1 (en) * 2001-02-26 2002-11-07 Call Charles G. Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers
US6850934B2 (en) * 2001-03-26 2005-02-01 International Business Machines Corporation Adaptive search engine query
JP4225703B2 (ja) * 2001-04-27 2009-02-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報アクセス方法、情報アクセスシステムおよびプログラム
CN1266625C (zh) 2001-05-04 2006-07-26 微软公司 用于web启用的识别的服务器
US7010518B1 (en) * 2001-06-20 2006-03-07 Microstrategy, Inc. System and method for user defined data object hierarchy

Also Published As

Publication number Publication date
NZ531247A (en) 2005-08-26
KR20040078888A (ko) 2004-09-13
KR101004501B1 (ko) 2010-12-31
BRPI0400702A (pt) 2004-10-19
SG135951A1 (en) 2007-10-29
IL160462A0 (en) 2004-07-25
NI200400007A (es) 2008-02-28
AU2004200684A1 (en) 2004-09-23
ZA200401490B (en) 2004-08-30
GT200400036A (es) 2006-04-17
PA8597001A1 (es) 2005-02-04
JP2004310748A (ja) 2004-11-04
PE20041075A1 (es) 2005-01-15
US7548858B2 (en) 2009-06-16
RU2004106570A (ru) 2005-08-10
CN101482805A (zh) 2009-07-15
NO20040923L (no) 2004-09-06
CA2459030A1 (en) 2004-09-05
CN1702612A (zh) 2005-11-30
CO5560094A1 (es) 2005-09-30
EP1455268A3 (en) 2006-05-17
EP1455268A2 (en) 2004-09-08
AR043723A1 (es) 2005-08-10
US20040176954A1 (en) 2004-09-09
RU2360281C2 (ru) 2009-06-27
CN101482805B (zh) 2011-06-08
TW200424951A (en) 2004-11-16
ECSP045007A (es) 2004-10-26
HRP20040168A2 (en) 2005-04-30
UY28220A1 (es) 2004-04-30

Similar Documents

Publication Publication Date Title
MXPA04002158A (es) Presentacion de datos a base de una entrada de usuario.
US8249879B2 (en) System and method of providing a spoken dialog interface to a website
US6735632B1 (en) Intelligent assistant for use with a local computer and with the internet
EP1701247B1 (en) XML based architecture for controlling user interfaces with contextual voice commands
CN100409173C (zh) 启动声控用户界面的方法、声音扩展模块和系统
CN101203849B (zh) 用户输入的预测转换
US8886521B2 (en) System and method of dictation for a speech recognition command system
CN1670733B (zh) 用自然语言命令呈递表格
CN100578474C (zh) 多模态同步结构中的用户接口和动态语法
Leporini et al. Designing search engine user interfaces for the visually impaired
WO2004114207A2 (en) Artificial intelligence dialogue processor
EP1122636A2 (en) System and method for analysis, description and voice-driven interactive input to html forms
Poon et al. Browsing the Web from a Speech-Based Interface.
EP1729284A1 (en) Method and systems for a accessing data by spelling discrimination letters of link names
CN116129904A (zh) 语音识别方法、装置、电子设备和存储介质
Saigal SEES: An adaptive multimodal user interface for the visually impaired
Curran et al. Catering for the disabled surfer: a case study in web site navigation for disabled students

Legal Events

Date Code Title Description
FA Abandonment or withdrawal