ES2621808T3 - Sistema y método de diálogo de múltiples intervalos - Google Patents

Sistema y método de diálogo de múltiples intervalos Download PDF

Info

Publication number
ES2621808T3
ES2621808T3 ES10190283.1T ES10190283T ES2621808T3 ES 2621808 T3 ES2621808 T3 ES 2621808T3 ES 10190283 T ES10190283 T ES 10190283T ES 2621808 T3 ES2621808 T3 ES 2621808T3
Authority
ES
Spain
Prior art keywords
interval
user
intervals
group
segment
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES10190283.1T
Other languages
English (en)
Inventor
Patrick T. M. Nguyen
Jesus Lopez-Amaro
Amit V. Desai
Adeeb W. M. Shana'a
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
24/7 Customer Inc
Original Assignee
24/7 Customer Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=35542461&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2621808(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 24/7 Customer Inc filed Critical 24/7 Customer Inc
Application granted granted Critical
Publication of ES2621808T3 publication Critical patent/ES2621808T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H04M3/4936Speech interaction details
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Machine Translation (AREA)
  • Circuits Of Receivers In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Un sistema para construir y procesar un diálogo de múltiples intervalos con un usuario, que comprende: un procesador; e instrucciones de software que cuando se ejecutan mediante el procesador provocan que el procesador proporcione una pluralidad de objetos de intervalo representando cada uno un intervalo en un segmento, cada intervalo que puede asignarse a un valor basándose en el diálogo de múltiples intervalos, en el que el valor representa un elemento de información a proporcionarse por el usuario; al menos un objeto de segmento de intervalo, conteniendo cada objeto de segmento de intervalo un conjunto correspondiente de objetos de intervalo; estando el sistema caracterizado porque: las instrucciones de software cuando se ejecutan mediante el procesador provocan que el procesador proporcione al menos un conjunto de objetos de grupo de intervalo para cada objeto de segmento de intervalo, definiendo cada objeto de grupo de intervalo parámetros que incluyen solicitudes o propiedades de reconocimiento asociadas con una combinación particular de intervalos en el objeto de segmento de intervalo, en el que un objeto de grupo de intervalo comprende cualquiera de, o cualquier combinación de, todos los intervalos en el segmento de intervalo; y objetos de diálogo que definen un flujo del diálogo de múltiples intervalos, estando configuradas adicionalmente las instrucciones de software para provocar que el procesador ejecute: cuando se requiere un parámetro en un punto en el diálogo de múltiples intervalos, identificar un objeto de grupo de intervalo de mejor coincidencia de dicho al menos de un conjunto de objetos de grupo de intervalo seleccionando el objeto de grupo de intervalo cuya combinación de intervalo es la más cercana a la combinación de intervalo actualmente activada, y configurada para determinar los intervalos que deberían activarse en un segmento de intervalo incluyendo los intervalos que no están rellenados aún.

Description

5
10
15
20
25
30
35
40
45
50
55
60
Sistema y metodo de dialogo de multiples intervalos DESCRIPCION
Antecedentes de la invencion Campo de la invencion
La presente invencion se refiere en general a sistemas de reconocimiento del habla. Mas espedficamente, se desvelan sistemas y metodos para construir una serie de interacciones con un usuario para recopilar multiples piezas de informacion relacionada para el fin de conseguir un objetivo o asunto espedfico (un dialogo de multiples intervalos) usando un enfoque basado en componentes.
Descripcion de la tecnica relacionada
Los sistemas de reconocimiento del habla son un metodo prometedor para automatizar funciones de servicio sin requerir cambios extensivos en el comportamiento del usuario. Muchas comparuas han buscado expandir o mejorar sus funciones de servicio de cliente usando tecnologfa de reconocimiento del habla para automatizar tareas que se han manejado tradicionalmente por agentes humanos. Para conseguir esto, los sistemas de reconocimiento del habla debenan permitir a un usuario consultar y proporcionar informacion usando entrada hablada conversacional natural. Los recientes avances en ciertas areas de tecnologfa de reconocimiento del habla han ayudado a aliviar algunos de los obstaculos tradicionales para sistemas de reconocimiento del habla usables. Por ejemplo, los avances de la tecnologfa han posibilitado que se decodifique entrada hablada no ensayadas bajo una gama mas amplia de condiciones de operacion realistas, tales como ruido de fondo y calidad de lmea de telefono imperfecta. Adicionalmente, los avances recientes han permitido que las aplicaciones de voz reconozcan entradas de voz de una poblacion de usuarios mas amplia con diferentes acentos y estilos de habla.
Los sistemas de voz bien disenados consiguen alta aceptacion del cliente. Desafortunadamente, crear sistemas de voz eficaces usando enfoques anteriores ha sido diffcil.
Los enfoques mas recientes requieren programacion en las interfaces de programa de aplicacion (API) del motor de reconocimiento del habla. Estos enfoques sobrecargan a los desarrolladores con detalles espedficos del motor de reconocimiento de bajo nivel tales como manejo de excepciones y gestion de recursos. Ademas, puesto que estas API eran espedficas para un motor de reconocimiento particular, las aplicaciones resultantes podnan no portarse facilmente a otras plataformas.
La llegada de los lenguajes de voz intermedios tales como VoiceXML como normas abiertas simplificaron algo el proceso de desarrollo. Estos lenguajes de voz intermedios trajeron con sigo una distribucion de responsabilidades en un sistema de voz entre un explorador - que interpreta el lenguaje de voz y maneja la telefoma, reconocimiento de voz e infraestructura de texto a voz - y una aplicacion de cliente - que proporciona al usuario codigo de interaccion (expresado en el lenguaje de voz). Como resultado, los desarrolladores de aplicaciones ya no necesitan preocuparse acerca de las API de bajo nivel, sino en su lugar son responsables de generar documentos que pudieran ejecutarse por el explorador de voz.
Sin embargo, incluso con estos avances desarrollar aplicaciones de voz sigue siendo complejo por un numero de razones. Por ejemplo, las aplicaciones de voz presentan un nuevo modelo de interaccion de usuario que es suficientemente distinto de la (bien conocida) interfaz grafica de usuario que requiere diseno especializado y experiencia de implementacion. Los conceptos de interfaz del habla, tales como gestion de dialogo, optimizacion de gramatica e interfaces de multiples intervalos, se implementan manualmente en cada sistema de voz personalizado. Dada la relativa novedad del paradigma del habla, esto sobrecarga adicionalmente a los desarrolladores. Ademas, las demandas de aplicaciones para manejar funciones de presentacion, de logica de negocios y acceso de datos dan como resultado arquitecturas fragmentadas que combinan documentos generados estatica y dinamicamente, programas servlet de extremo trasero, gramaticas y otros componentes disjuntos.
Esta disponible un numero de productos para simplificar el desarrollo de aplicaciones de voz empresariales. Un elemento central de muchos de estos productos es una librena de componentes de voz predefinidos y personalizables cuyo uso reduce la cantidad de codigo que necesita desarrollarse por un programador. Estos componentes normalmente encapsulan el codigo de lenguaje de voz, gramaticas, flujos de llamada internos, solicitudes y rutinas de recuperacion de errores requeridos para obtener una pieza de informacion desde el llamante, tal como un dato, una fecha, una cantidad en dolares, una secuencia de dfgitos, o un elemento de un conjunto o lista de elementos permitidos (tal como un conjunto de aeropuertos).
Una limitacion principal de estas estructuras de componente es que los componentes no son combinables para permitir que el usuario proporcione multiples piezas de informacion en cada expresion. Por ejemplo, una aplicacion
5
10
15
20
25
30
35
40
45
50
55
60
de reserva de vuelos podna usar cuatro componentes: un aeropuerto de salida, un aeropuerto de destino, una fecha de salida y una hora de salida. Las estructuras existentes permitinan que un usuario proporcionara las cuatro piezas de informacion en cuatro expresiones separadas. Sin embargo, si la aplicacion permitiera al usuario decir el aeropuerto de salida, aeropuerto de destino y fecha de salida en una expresion (por ejemplo “Vuelo de Boston a San Francisco el lunes”), los componentes del aeropuerto de salida, aeropuerto de destino y fecha de salida no podnan combinarse de manera sencilla. En su lugar, necesitana desarrollarse un nuevo componente con nuevas gramaticas, flujos de llamadas, solicitudes, etc., para reconocer los dos aeropuertos y la fecha. Para llevar a cabo el ejemplo ademas, si la aplicacion permitiera al llamante mantener algunas piezas de informacion mientras cambia otras piezas de informacion (por ejemplo “No, realmente vuelo a Oakland el martes”), tendna que desarrollarse un componente incluso mas complejo.
Debido a estas limitaciones, las aplicaciones de voz que se basan en estructuras de componente existentes implementan dialogos altamente dirigidos en los que el flujo de llamada esta enormemente predeterminado y cada etapa acepta unicamente un unico elemento de informacion, tal como en un intercambio ilustrado en la Figura 1a. Tales sistemas de voz son ngidos y a menudo penalizan a un llamante que proporciona demasiada informacion, tal como en un intercambio ilustrado en la Figura 1b. Como resultado, estos sistemas no son ni intuitivos ni eficaces puesto que no pueden capturar informacion rapidamente o adaptarse a las preferencias del usuario para proporcionar informacion.
Lo que es necesario es una aplicacion de voz que utilice un enfoque mas intuitivo, rapido y natural para obtener informacion de un usuario tal como un llamante.
El documento WO 02/069320 describe una interfaz de idioma hablado que comprende un sistema de reconocimiento del habla automatico, y un sistema de texto a voz controlado por un controlador de voz. El ASR y TTS estan conectados a un sistema de telefoma que recibe el habla del usuario mediante un enlace de comunicaciones. Un gestor de dialogo esta conectado al controlador de voz y proporciona control de dialogo generado en respuesta un habla del usuario. El gestor de dialogo esta conectado a gestores de aplicacion que cada uno de ellos proporciona una interfaz a una aplicacion con la que el usuario puede conversar. El dialogo y las gramaticas se almacenan en una base de datos como datos y se recuperan bajo el control del gestor de dialogo y un modulo de aprendizaje de personalizacion y adaptivo. Un gestor de sesion y notificacion registra detalles de sesion y posibilita la reconexion de una conversacion interrumpida en el punto en el que se interrumpio la conversacion.
El documento US2002/038213A1 desvela una implementacion de un dialogo usando una pluralidad de intervalos. Durante el dialogo, se lee una tabla de respuestas de acuerdo con el estado de los intervalos que se estan rellenando. El procesador de dialogo a continuacion emite la informacion de cadena de caracteres para la respuesta seleccionada a un procesador de smtesis de voz.
Sumario de la invencion
La presente invencion se expone en las reivindicaciones adjuntas.
Se desvelan sistemas y metodos para construir una serie de interacciones con un usuario para recopilar multiples piezas de informacion relacionada para el fin de conseguir un objetivo o asunto espedfico (un dialogo de multiples intervalos) usando un enfoque basado en componentes. Debena apreciarse que la presente invencion puede implementarse de numerosas maneras, que incluyen como un proceso, un aparato, un sistema, un dispositivo, un metodo, o un medio legible por ordenador tal como un medio de almacenamiento legible por ordenador o una red informatica en la que las instrucciones de software se envfan a traves de lmeas de comunicacion opticas o electronicas. Diversas realizaciones inventivas de la presente invencion se describen a continuacion.
Estas y otras caractensticas y ventajas de la presente invencion se presentaran en mas detalle en la siguiente descripcion detallada y las figuras adjuntas que ilustran a modo de ejemplo los principios de la invencion.
Breve descripcion de los dibujos
La presente invencion se entendera facilmente mediante la siguiente descripcion detallada en conjunto con los dibujos adjuntos, en los que numeros de referencia similares designan elementos estructurales similares.
La Figura 1a y la Figura 1b ilustran ejemplos de dialogos altamente dirigidos usando aplicaciones de voz convencionales.
Las Figuras 2a-2c ilustran diversos ejemplos de dialogos de multiples intervalos.
La Figura 3 es un diagrama de bloques de un sistema de aplicacion de voz de multiples intervalos ilustrativo.
La Figura 4 ilustra una realizacion de una estructura para gestionar una conversacion basada en reconocimiento del habla de multiples intervalos.
La Figura 5 ilustra ejemplos de segmentos para un dialogo de reconfirmacion de vuelo de multiples intervalos.
La Figura 6 ilustra los contenidos de uno de los segmentos ejemplares, en concreto, el itinerario de vuelo, en el
5
10
15
20
25
30
35
40
45
50
55
60
dialogo de reconfirmacion de vuelo de multiples intervalos de la Figura 5.
La Figura 7 ilustra ejemplos de intercambios implicados en un dialogo de itinerario de vuelo.
La Figura 8 es un diagrama de flujo que ilustra diversas etapas de un dialogo de multiples intervalos ejemplar.
La Figura 9 es un diagrama de flujo un intercambio ejemplar que usa confirmacion activa.
La Figura 10 es un diagrama de flujo un intercambio ejemplar que usa confirmacion pasiva.
La Figura 11 es un diagrama de flujo que ilustra un ejemplo de una conversacion que utiliza una funcionalidad de regreso de un sistema de dialogo de multiples intervalos.
La Figura 12 es un diagrama de flujo que ilustra un ejemplo de una conversacion que utiliza una funcionalidad de cambio del sistema de dialogo de multiples intervalos.
La Figura 13 es un diagrama de flujo que ilustra un ejemplo de una conversacion que utiliza una funcionalidad de revision del sistema de dialogo de multiples intervalos.
Las Figuras 14 y 15 ilustran algunos de los posibles objetos de grupo de intervalos para las clases de grupo de intervalo de pre-reconocimiento y post-reconocimiento para un segmento de itinerario de vuelo, respectivamente. La Figura 16 es un diagrama de bloques que ilustra una estructura de flujo de dialogo ejemplar.
Las Figuras 17 y 18 son diagramas de flujo que ilustran procesamiento ejemplar de la entrada del usuario en modos de confirmacion normal y pasiva, respectivamente.
La Figura 19 ilustra una posible gramatica para un intercambio con tres intervalos.
La Figura 20 ilustra una posible gramatica para un intercambio de confirmacion que incluye gramaticas de aceptacion y cancelacion asf como gramaticas para los tres intervalos que se confirman.
Descripcion de realizaciones especificas
Se desvelan sistemas y metodos para construir una serie de interacciones con un usuario para recopilar multiples piezas de informacion relacionada para el fin de conseguir un objetivo o asunto espedfico (un dialogo de multiples intervalos) usando un enfoque basado en componentes. Los sistemas y metodos de dialogo de multiples intervalos obtienen informacion de un usuario realizando una serie de interacciones basadas en reconocimiento del habla. Los sistemas y metodos incluyen determinar las solicitudes emitidas al usuario asf como las reglas de gramaticas y semantica utilizadas para reconocer entradas de usuario tales como expresiones en cada punto en la conversacion o intercambio. La siguiente descripcion se presenta para posibilitar que cualquier experto en la materia fabrique y use la invencion. Las descripciones de realizaciones especificas y aplicaciones se proporcionan unicamente como ejemplos y seran facilmente evidentes diversas modificaciones para los expertos en la materia. Los principios generales definidos en el presente documento pueden aplicarse a otras realizaciones y aplicaciones sin alejarse del espmtu y alcance de la invencion. Por lo tanto, la presente invencion esta de acuerdo con el alcance mas amplio que abarca numerosas alternativas, modificaciones y equivalentes coherentes con los principios y caractensticas desvelados en el presente documento. Por fines de claridad, los detalles relacionados con el material tecnico que es conocido en los campos tecnicos relacionados con la invencion no han sido descritos en detalle para no oscurecer innecesariamente la presente invencion.
Las Figuras 2a-2c ilustran diversos ejemplos de dialogos de multiples intervalos. Un dialogo de multiples intervalos tiene el objetivo de recopilar multiples piezas de informacion relacionada (“intervalos”) para el fin de conseguir un objetivo o asunto espedfico, tal como localizar una reserva de lmea aerea. Para conseguir una interaccion de usuario satisfactoria con la conveniencia y facilidad esperada por los seres humanos, una aplicacion de dialogo de multiples intervalos maneja preferentemente cierto comportamiento e interacciones tfpicas de interacciones humanas en un medio hablado, que incluye: (i) un llamante puede proporcionar los intervalos en un orden arbitrario, (ii) un llamante puede proporcionar multiples intervalos en una unica entrada tal como una expresion hablada, (iii) un llamante puede proporcionar unicamente un subconjunto de intervalos solicitados por la aplicacion en una unica expresion, (iv) un llamante puede aclarar o corregir la interpretacion de la aplicacion de intervalos que ha proporcionado el llamante, (v) un llamante puede modificar intervalos anteriores en expresiones posteriores.
Para satisfacer estos requisitos de interaccion humana, una aplicacion de dialogo puede realizar una ruta de llamada larga y sofisticada de considerable complejidad. Sin embargo, las aplicaciones de voz convencionales no son adecuadas para implementar dialogos de multiples intervalos. En particular, el orden dinamico y combinaciones en las que puede proporcionarse la informacion no puede manejarse facilmente por estructuras de componente existentes y metodologfas de desarrollo de aplicaciones de voz convencionales que especifican flujos de llamada predeterminados ngidos.
En lugar del enfoque manual, los sistemas y metodos de dialogo de multiples intervalos como se describen en el presente documento pueden utilizarse para construir aplicaciones de dialogo de multiples intervalos que usan un enfoque basado en componentes. Tal enfoque basado en componentes automatiza el proceso de multiples intervalos con componentes para los elementos de comportamiento de un intercambio de multiples intervalos entre humano y maquina, incluyendo las estrategias de generacion de secuencias, agrupamiento, solicitud, confirmacion y/o modificacion.
La Figura 3 es un diagrama de bloques de un sistema de aplicacion de voz 300 ilustrativo que incluye en general un
5
10
15
20
25
30
35
40
45
50
55
60
telefono 301 en comunicacion con un explorador de voz 303 mediante una red de telefoma 302 que esta a su vez en comunicacion con una aplicacion de voz 309 mediante una red de datos 308. El explorador de voz 303 incluye el hardware y software para realizar comunicaciones de audio bidireccionales con un llamante mediante la red de telefoma 302 y el telefono 301. El explorador de voz 303 puede ejecutar un programa expresado en un lenguaje de voz transmitido en forma de documentos a traves de la red de datos 308 (tal como internet o una intranet) desde la aplicacion de voz 309. El explorador de voz 303 y la aplicacion de voz 309 pueden residir en cualquiera de diversos sistemas informaticos adecuados.
El lenguaje de voz puede ser un lenguaje de marcas tal como VoiceXML o Etiquetas de Lenguaje de Aplicacion del Habla (SALT). El explorador de voz 303 puede incluir diversos componentes tales como un motor de reconocimiento del habla 304, un sintetizador de texto a voz 305, un reproductor de reproduccion de audio 306 para representar de manera audible ficheros grabados usando formatos de audio generalmente disponibles, y un componente para manejar llamadas a traves de la red de telefoma 307. Pueden emplearse componentes disponibles comercialmente y/o propietarios para crear aplicaciones de voz al implementar cualquiera o todos los diversos componentes del explorador de voz 303.
El explorador de voz 303 puede ser responsable de detectar una llamada entrante, responder a la llamada entrante, solicitar un documento de voz inicial de la aplicacion de voz 309, e interpretar el documento de voz y ejecutar instrucciones contenidas en el documento de voz de acuerdo con las reglas del lenguaje de voz aplicable. Las instrucciones pueden incluir la emision de solicitudes audibles para el usuario y el procesamiento de respuestas de voz desde el usuario usando gramaticas especificadas. Al emitir las solicitudes para el usuario, el explorador de voz 303 puede utilizar el reproductor de reproduccion de audio 306 para representar de manera audible mensajes pregrabados o puede utilizar el sintetizador de texto a voz 305 para representar de manera audible mensajes de texto. El explorador de voz 303 puede a continuacion generar acciones en respuesta a eventos de usuario (tal como entrada hablada o desconexion de llamada) o eventos de sistema (tal como excepciones de subsistema), y/o acciones que pueden definirse en el documento actual o en otro documento a capturarse desde la aplicacion de voz 309.
Habiendose descrito la arquitectura global del sistema de aplicacion de voz 300, se presentara ahora una estructura de multiples intervalos implementada mediante el sistema de aplicacion de voz 300, tal como mediante una combinacion del explorador de voz 303 y aplicacion de voz 309. Un sistema que implementa el modo de conversacion de multiples intervalos solicita en general al usuario una o mas preguntas abiertas mientras que un sistema que implementa un modo de conversacion de dialogo dirigido convencional solicita al usuario solicitudes mas espedficas y acepta un conjunto de respuestas mas limitado. La Figura 4 ilustra una realizacion de una estructura de multiples intervalos 401 para gestionar una conversacion basada en reconocimiento del habla de multiples intervalos. En particular, la estructura de multiples intervalos 401 implementa un modo de multiples intervalos para obtener informacion de un usuario. La estructura 401 puede incluir una aplicacion de multiples intervalos 402 que gestiona la logica de negocio y responsabilidades de acceso de datos para un conjunto de intervalos 403. Un intervalo se denomina en el presente documento como un elemento de datos cuyo valor puede obtenerse de una entrada de usuario tal como entrada de texto o una expresion hablada. Por ejemplo, una aplicacion de reserva de vuelo puede gestionar un intervalo de aeropuerto de salida cuyos valores validos se encuentran en una base de datos de planificacion de vuelo, y cuyo valor, una vez expresado o introducido de otra manera por el usuario, debena almacenarse en un registro de reserva. Una plataforma de multiples intervalos 404 construye una o mas interacciones de voz para obtener los intervalos deseados del usuario.
La Figura 5 ilustra ejemplos de segmentos para un dialogo de reconfirmacion de vuelo de multiples intervalos y la Figura 6 ilustra los contenidos de uno de los segmentos ejemplares, en concreto, el itinerario de vuelo, en el dialogo de reconfirmacion de vuelo de multiples intervalos. En particular, un dialogo de multiples intervalos puede descomponerse en sub-unidades a diversos niveles. En el nivel mas pequeno, un turno es un flujo ininterrumpido de entrada (por ejemplo, habla) de un participante, es decir, el sistema o el usuario. Por lo tanto un turno de sistema es uno en el que el sistema solicita al usuario con un mensaje y un turno de usuario es uno en el que el usuario realiza una expresion que el sistema intenta interpretar. Un intercambio es una serie de turnos que captura los valores para uno o mas intervalos del usuario. Por lo tanto un intercambio puede incluir uno o mas turnos de confirmacion, correccion o desambiguacion hasta que se acepte un unico conjunto final de valores de intervalos por el sistema. Un segmento es una serie de intercambios que captura un conjunto de intervalos relacionados. El segmento es la unidad mas grande de un dialogo que permite que se proporcionen todos sus intervalos asociados en un turno de usuario. En el ejemplo mostrado en la Figura 6, los cinco intervalos, en concreto, un aeropuerto de salida, un aeropuerto de destino, una fecha, una hora y un indicador de AM/PM, forman el segmento de itinerario de vuelo de manera que pueden introducirse hasta cinco intervalos del segmento de itinerario de vuelo en un turno de usuario tal como mediante la expresion del usuario “de San Francisco a Boston manana a las 9 AM.”.
Los dialogos de multiples intervalos pueden variar en complejidad de dialogos de unico segmento a dialogos de multiples segmentos complejos en los que cada segmento incluye uno o mas intervalos. Un ejemplo de un dialogo de unico segmento es una aplicacion asistente de telefono que pide un nombre de empleado del llamante. En
5
10
15
20
25
30
35
40
45
50
55
60
contraste, un ejemplo de un dialogo de multiples segmentos es un dialogo de reconfirmacion de vuelo tal como el mostrado en la Figura 5. Por ejemplo, el dialogo de reconfirmacion de vuelo puede pedir un itinerario de vuelo del llamante (que puede incluir intervalos para el aeropuerto de salida y destino asf como la fecha, hora e indicador de AM/PM de la salida como se muestra en la Figura 6), y puede verificar la identidad del llamante solicitando un localizador de registro y solicitando detalles personales, tal como un apellido.
La Figura 7 ilustra ejemplos de intercambios implicados en un dialogo de itinerario de vuelo. El segmento de itinerario de vuelo 701 contiene 5 intervalos que representan un itinerario de vuelo. En el primer intercambio 702, el sistema puede solicitar al usuario con “^Cual es su itinerario de vuelo?” para permitir que el usuario introduzca informacion o valores para hasta 5 intervalos. El usuario puede responder con “Vuelo desde Boston” y despues de cualquier turno de confirmacion/aclaracion aplicable, la aplicacion acepta Boston como el valor para el intervalo de aeropuerto de salida. De acuerdo con logica predefinida, la aplicacion determina, por ejemplo, que unicamente debena solicitarse el aeropuerto de destino en el siguiente intercambio 703, y emite una solicitud “^Y cual es su destino?”. Despues se procesa la respuesta del usuario, el valor San Francisco se almacena en el intervalo de aeropuerto de destino. La aplicacion puede a continuacion solicitar los tres intervalos restantes no rellenados en el siguiente intercambio 704 tal como emitiendo una solicitud “^Y cuando vuela usted?”. La respuesta del usuario de “el proximo viernes a la nueve treinta AM” rellena todos los tres intervalos restantes y el dialogo esta completo.
La Figura 8 es un diagrama de flujo que ilustra una conversacion de multiples intervalos 800 ejemplar. En el inicio de un intercambio en el bloque 802, el sistema de aplicacion de voz emite una solicitud de cabecera principal para obtener valores para un conjunto de intervalos del usuario. La solicitud del sistema tipicamente es redactada de tal manera que el usuario puede proporcionar potencialmente valores para un numero de intervalos deseados en un turno. En el bloque 804, el usuario responde con un turno de usuario principal en respuesta a la solicitud de salida. El turno de usuario puede proporcionar uno o mas valores de intervalo. Si el turno del usuario se reconoce por el sistema, puede seguir un numero de turnos de confirmacion/aclaracion en el bloque 806 en los que el sistema puede opcionalmente aceptar de manera silenciosa la mejor coincidencia, confirmar de manera pasiva la mejor coincidencia, demandar confirmacion activa de la mejor coincidencia, desambiguar entre las mejores coincidencias o notificar al usuario de un no reconocimiento, por ejemplo, como se describira en mas detalle a continuacion. Cuando los valores de intervalo desde el turno se confirman explfcita o implfcitamente, los intervalos se rellenan con sus respectivos valores en el bloque 808.
Los bloques 802-808 representan un intercambio. Cuando el intercambio actual esta completo, el sistema determina si hay algun intervalo restante no rellenado en el segmento actual en el bloque de decision 810. Si se rellenan todos los intervalos en el segmento actual, entonces el sistema determina si hay algun segmento o segmentos adicionales de intervalos en el bloque de decision 812. Si se rellenan todos los intervalos en todos los segmentos, entonces el dialogo de multiples intervalos 800 esta completo. Como alternativa, si hay intervalos no rellenados restantes en el segmento actual y/o si hay segmento o segmentos adicionales de intervalos, el dialogo 800 vuelve al bloque 802 para iniciar el siguiente intercambio. Por ejemplo, el siguiente intercambio puede seguir el intercambio anterior solicitando cualquier intervalo restante que no se haya rellenado (por ejemplo, “£... y aproximadamente a que hora?”) o continuar en el siguiente segmento de intervalos solicitando un nuevo conjunto de intervalos (por ejemplo, “^Que tipo de coche desea alquilar?”).
Como se ha indicado anteriormente, si se reconoce el turno del usuario, puede seguir un numero de turnos de confirmacion y/o aclaracion en los que el sistema puede pedir opcionalmente confirmacion activa de la mejor coincidencia, confirmar de manera pasiva la mejor coincidencia, desambiguar entre las mejores coincidencias, aceptar de manera silenciosa la mejor coincidencia o notificar al usuario de un no reconocimiento, por ejemplo. Los detalles de los turnos de confirmacion/aclaracion se describiran ahora en mas detalle con referencia a las Figuras 9 y 10.
En particular, la Figura 9 es un diagrama de flujo un intercambio ejemplar que usa confirmacion activa. En una confirmacion activa, se emite una solicitud de confirmacion al usuario (por ejemplo, “Creo que usted dijo de Austin a San Francisco. ^Es correcto?”). La solicitud de confirmacion puede cambiar de escala durante un intercambio si hay varios ciclos de confirmacion. El sistema puede requerir que el usuario acepte explfcitamente el valor o los valores para los intervalos asociados antes de rellenar los intervalos. El usuario puede cancelar los valores previamente reconocidos diciendo una frase de cancelacion tal como “No” o “No, es incorrecto.”. Ademas, para facilitar una interaccion mas eficaz, el sistema puede opcionalmente aceptar una expresion por el usuario que incluya una frase de cancelacion seguida por una correccion tal como “No, dije de Boston a San Francisco.”. Si el usuario cancela los valores previamente reconocidos, el sistema puede liberar todos los valores de intervalo reconocidos en el turno del usuario y reproducir un mensaje tal como “Intentelo de nuevo. ^Cual es su itinerario de vuelo?” como se muestra en la Figura 9 y empezar el intercambio de nuevo. Como alternativa, el sistema puede tratar la respuesta del usuario expresada en el turno del usuario como una correccion y repetir el turno de confirmacion/aclaracion, por ejemplo, solicitando “OK. De Boston a San Diego. ^Es correcto?”. Si la correccion omite alguno de los intervalos que se estan confirmando, el sistema puede mantener los valores previamente expresados de tales intervalos.
5
10
15
20
25
30
35
40
45
50
55
60
La Figura 10 es un diagrama de flujo un intercambio ejemplar que usa confirmacion pasiva. En una confirmacion pasiva, el sistema de dialogo de multiples intervalos emite una solicitud que es una combinacion de una solicitud de confirmacion pasiva y una solicitud de cabecera para el siguiente intercambio. Como un ejemplo, la solicitud de salida combinada puede ser, por ejemplo, “Ok. De Austin a San Francisco. Y ^Cuando vuela usted?”. Ya que el usuario no necesita explfcitamente expresar una confirmacion si los valores son correctos, la tecnica de confirmacion pasiva facilita la aceleracion del dialogo y por lo tanto es adecuada para confirmar resultados de reconocimiento cuando el sistema tiene un alto nivel de confianza. Cuando se utiliza confirmacion pasiva, los intervalos se rellenan con sus respectivos valores y estos valores rellenados pueden eliminarse o deshacerse cuando el usuario expresa una frase de cancelacion tal como “No” o “No, eso es incorrecto”, o una frase de cancelacion seguida por una frase de correccion tal como “Eso es incorrecto. Dije de Boston a San Francisco.”. Si el usuario emite una cancelacion mediante una frase de cancelacion, el sistema puede liberar los valores de intervalo aceptados en el intercambio anterior, emitir una solicitud tal como “Lo siento, intentelo de nuevo”, y repetir el intercambio anterior. Como alternativa, el sistema puede tratar la respuesta del usuario expresada en el turno del usuario como una correccion y repetir el turno de confirmacion/aclaracion, por ejemplo, solicitando “OK. De Boston a San Francisco. ^Es correcto?” Si el usuario a continuacion expresa una frase de aceptacion tal como “Sr en respuesta, la solicitud de cabecera para el nuevo intercambio se repite. Como es evidente, una confirmacion activa puede utilizarse despues de que el usuario emita una frase de cancelacion en respuesta a una confirmacion pasiva. Sin embargo, otros tipos de confirmacion pueden utilizarse de manera similar despues de que el usuario emite una frase de cancelacion en respuesta a una confirmacion pasiva. Si el siguiente intercambio contiene una solicitud para una respuesta “Sf/No”, la funcionalidad para deshacer una confirmacion pasiva anterior de la confirmacion pasiva puede desactivarse.
En una desambiguacion, el sistema emite una solicitud que contiene una lista de mejores coincidencias y solicita al usuario que seleccione una de las mejores coincidencias, por ejemplo, mediante su numero correspondiente. Cada coincidencia puede incluir un unico valor de intervalo o un conjunto de valores de intervalos y puede presentarse mediante una solicitud similar a una solicitud de confirmacion que contiene todos los valores de intervalo reconocidos. Cuando se selecciona una coincidencia, el valor o valores correspondientes se tratan como si se hubieran expresado en el turno del usuario principal y el sistema repite el proceso de confirmacion/aclaracion.
El sistema puede notificar tambien al usuario de un no reconocimiento. En particular, cuando un turno de usuario no se reconoce por el sistema, el sistema puede emitir una solicitud de excepcion tal como “No lo consegrn” y repetir el turno del sistema anterior o una version modificada del mismo.
El sistema puede configurarse con diversas caractensticas y funcionalidades para facilitar adicionalmente el intercambio como se describira a continuacion en mas detalle con referencia a las Figuras 11-13. Por ejemplo, el sistema puede configurarse para mantener una lista de salto en un intercambio dado en el que la entrada de lista de salto que corresponde al conjunto de valores de intervalo presentados en una confirmacion se anade cada vez que un usuario cancela la confirmacion durante ese intercambio. La lista de salto ayuda a asegurar que, en el mismo intercambio, el sistema no utiliza y por lo tanto no presentara de nuevo un conjunto de valores que coincida con una entrada en una lista de salto. En su lugar, el sistema puede utilizar la siguiente mejor coincidencia cuando este disponible.
La Figura 11 es un diagrama de flujo que ilustra un ejemplo de una conversacion que incluye otra funcionalidad mas del sistema, en concreto, una funcionalidad de regreso. Espedficamente, el usuario puede expresar un comando de regreso, por ejemplo, “regreso”, en cualquier momento para retornar al inicio del turno anterior, el inicio del intercambio actual, o el inicio del segmento actual, dependiendo de la aplicacion. Si el sistema regresa a una etapa que tema rellenado algunos intervalos, estos intervalos pueden limpiarse.
El sistema de dialogo de multiples intervalos puede configurarse para presentar de manera adaptiva una solicitud mas dirigida despues de que haya tenido lugar un numero umbral de excepciones, correcciones o regresos durante un intercambio. Por ejemplo, el sistema puede presentar una nueva solicitud de cabecera dirigida “^En que fecha tomara usted el coche? Por ejemplo, es decir manana, proximo martes o 24 de julio ”. Si las excepciones, correcciones o regresos continuan teniendo lugar, el sistema puede transferir al usuario a un operador en directo para asistencia adicional.
La Figura 12 es un diagrama de flujo que ilustra un ejemplo de una conversacion que incluye otra funcionalidad opcional mas del sistema, en concreto, una funcionalidad de cambio. La funcionalidad de cambio permite al usuario cambiar a un valor de intervalo previamente rellenado expresando, por ejemplo, “Me gustana cambiar el aeropuerto.”. Si la expresion del usuario que solicita un cambio no rellena todos los intervalos requeridos para una solicitud de cambio, el sistema inicia una continuacion de intercambio tal como “^Aeropuerto de salida o destino?”. El comando de cambio puede confirmarse opcionalmente usando cualquiera de los mecanismos de confirmacion anteriormente descritos. Por ejemplo, el sistema puede confirmar de manera activa el comando de cambio solicitando “Le escuche que desea cambiar el aeropuerto de llegada. ^Es correcto?”.
El comando de cambio cancela el intercambio en el que esta el usuario actualmente y libera al menos alguno de los
5
10
15
20
25
30
35
40
45
50
55
60
valores de intervalo previamente rellenados. Un nuevo intercambio empieza a continuacion que solicita al usuario los intervalos liberados que pueden rellenarse en uno o mas intercambios. Una vez que se han rellenado los intervalos liberados, el sistema continua procesando y evitara intercambios previos si los intervalos asociados con estos intercambios aun estan rellenados.
La Figura 13 es un diagrama de flujo que ilustra un ejemplo de una conversacion que incluye otra funcionalidad opcional del sistema, en concreto, una funcionalidad de revision. En particular, el usuario puede solicitar revisar un valor de intervalo previamente rellenado expresando una frase de peticion tal como “^Puedo comprobar mi fecha de salida?” En respuesta al comando de revision, el sistema reproduce el valor de intervalo rellenado tal como “Usted vuela el viernes, 9 de agosto de 2002” y retorna al intercambio actual. Si el usuario no proporciona los valores para todos los intervalos requeridos para una peticion de revision, el sistema inicia una continuacion de intercambio tal como “^Fecha de salida o retorno?”
Implementacion de dialogo de multiples intervalos
Se describira ahora un sistema o plataforma ejemplar para implementar dialogos de multiples intervalos. Simplemente a modo de ejemplo, la plataforma para implementar dialogos de multiples intervalos se describe en el presente documento como que esta implementada utilizando Java. Sin embargo, se ha de entender que el sistema puede implementarse usando cualquier lenguaje de programacion adecuado, preferentemente un lenguaje de programacion orientada a objetos tal como Java o C++. El sistema incluye en general objetos de intervalos, objetos de grupo de intervalos, objetos de segmentos y objetos de dialogos. Cada uno de estos objetos se describe a continuacion.
Un objeto de intervalo representa un intervalo que, como se ha indicado anteriormente, es un elemento de informacion a obtenerse del usuario. Un objeto de intervalo contiene la gramatica que reconoce los posibles valores que pueden proporcionarse por el usuario para el correspondiente intervalo, las reglas que mapean los resultados de reconocimiento de gramatica a valores de semantica para el intervalo, y las variables que indican el estado activado y rellenado (entre otras variables de estado) para el intervalo. Los objetos de intervalo pueden basarse en una interfaz de Java que proporciona funcionalidad por defecto basica y/o funcionalidad comun para todos los objetos de intervalo.
La gramatica que reconoce los posibles valores que pueden proporcionarse por el usuario para el correspondiente intervalo es una especificacion formal de las expresiones que acepta el sistema para expresar los posibles valores para el intervalo. La gramatica puede incluir el vocabulario de palabras que pueden usarse y estructuras validas para generar secuencias de estas palabras. Por ejemplo, la gramatica para un intervalo de fecha debena permitir que se reconocieran diversos formatos de fecha, que vanan de especificaciones absolutas tales como “el doce de enero de dos mil cuatro” a formas relativas tales como “este proximo viernes” y terminos familiares tales como “hoy” y “ayer”. La gramatica puede incluir tambien rellenos que pueden preceder y/o seguir al valor de intervalo en una expresion del usuario pero que no especifican o distinguen un valor de intervalo de otro. Por ejemplo, un intervalo de aeropuerto puede tener la frase de relleno precedente “Yo vuelo desde”. Algunas gramaticas pueden ser altamente espedficas de la aplicacion tal como la gramatica para los aeropuertos permitidos en una aplicacion de reserva de vuelos. Otras gramaticas pueden reusarse a traves de las aplicaciones, tal como la gramatica para una fecha, una hora o una cantidad en dolares. La porcion comun de estas gramaticas puede predefinirse en un objeto de gramatica y personalizarse para un intervalo particular.
Ademas de las reglas de la gramatica, cada objeto de intervalo contiene tambien reglas que mapean los resultados de reconocimiento de gramatica a valores de semantica para el correspondiente intervalo que son significativos para la aplicacion espedfica. Por ejemplo, un objeto de intervalo de aeropuerto de destino puede mapear las expresiones “San Francisco”, “Aeropuerto de San Francisco”, “Aeropuerto Internacional de San Francisco”, y “SFO” a un unico identificador de aeropuerto tal como “SFO.” Como otro ejemplo, un objeto de intervalo de fecha puede mapear la expresion “manana” a un valor de fecha que se calcula como la siguiente fecha que sigue a la fecha actual.
Cada objeto de intervalo mantiene tambien un numero de variables de estado o banderas usadas durante la ejecucion de un dialogo de multiples intervalos para indicar el estado activado y rellenado (entre otras variables de estado) para el correspondiente intervalo. Ejemplos de banderas incluyen activado, opcional, rellenado y banderas pendientes. En particular, una bandera activada se establece a verdadero para indicar que un intervalo puede aceptarse en el turno de usuario proximo. Una bandera opcional se establece a verdadero si un intervalo activado no necesita proporcionarse explfcitamente por el usuario. Una bandera rellenada se establece a verdadero cuando un valor de intervalo se ha aceptado despues de cualquier confirmacion/aclaracion aplicable. Una bandera pendiente se establece a verdadero si un valor para el intervalo se ha reconocido desde el usuario pero no se ha aceptado aun, por ejemplo, confirmacion pendiente.
El sistema mantiene objetos de grupo de intervalo para cada segmento de intervalo, ejemplos de los cuales se muestran en las Figuras 14 y 15 para un segmento de itinerario de vuelo. Cada objeto de grupo de intervalo define parametros o propiedades asociadas con un grupo particular o combinacion de intervalos en el segmento de
5
10
15
20
25
30
35
40
45
50
55
60
intervalo. Ejemplos de propiedades de grupo de intervalo incluyen solicitudes tales como solicitudes de cabeceras o principales, solicitudes de ayuda, solicitudes de error, solicitudes de confirmacion y/o solicitudes de desambiguacion, as^ como propiedades de reconocimiento, es decir, variables que afectan el comportamiento de reconocimiento tales como lfmites de tiempo, umbrales de reconocimiento, parametros de reconocimiento, poltticas de almacenamiento en cache y asf sucesivamente. Diferentes clases de grupo de intervalo, por ejemplo, clases de grupo de intervalo de pre-reconocimiento y post-reconocimiento como se muestra en las Figuras 14 y 15, respectivamente, pueden definirse para mantener conjuntos separados de propiedades.
Espedficamente, la Figura 14 ilustra algunos de los posibles objetos de grupo de intervalo para la clase de grupo de intervalo de pre-reconocimiento para el segmento de itinerario de vuelo. La clase de grupo de intervalo de pre- reconocimiento puede contener las solicitudes y propiedades de reconocimiento usadas antes de que se reconozcan los valores de intervalo, tales como las solicitudes de cabecera o principales, las solicitudes de ayuda, solicitudes sin coincidencia, solicitudes sin entrada, lfmites de tiempo, umbrales de confianza y asf sucesivamente. Cuando se usa la clase de grupo de intervalo de pre-reconocimiento, la combinacion de intervalo se comparana tfpicamente al conjunto de intervalos actualmente activado.
La Figura 15 ilustra algunos de los posibles objetos de grupo de intervalo para la clase de grupo de intervalo de post-reconocimiento para el segmento del itinerario de vuelo. La clase de grupo de intervalo de post-reconocimiento puede contener las solicitudes y propiedades de reconocimiento usados despues de que se reconozcan los valores de intervalo, tal como las solicitudes de confirmacion activa, solicitudes de desambiguacion, solicitudes de confirmacion pasiva y asf sucesivamente. Cuando se usa la clase de grupo de intervalo de post-reconocimiento, la combinacion de intervalo se comparana tfpicamente al conjunto de intervalos actualmente pendiente, es decir, los intervalos reconocidos del usuario pero aun no confirmados.
Cuando se requiere un parametro tal como una solicitud o una propiedad de reconocimiento en un punto en un dialogo de multiples intervalos, el sistema identifica un objeto de grupo de intervalo de mejor coincidencia de una clase de grupo de intervalo que contiene el parametro y busca el valor del parametro deseado en el objeto de grupo de intervalo de mejor coincidencia identificado. Por ejemplo, cuando se requiere una solicitud de cabecera en un punto en un dialogo de multiples intervalos para que el sistema obtenga del usuario los valores para los intervalos en la combinacion de intervalo actualmente activada, por ejemplo, fecha, hora y AM-PM, el sistema identifica un objeto de grupo de intervalo de mejor coincidencia de la clase de grupo de intervalo de pre-reconocimiento en la Figura 14. El sistema selecciona el objeto de grupo de intervalo cuya combinacion de intervalo es la mas cercana a la combinacion de intervalo actualmente activada. La combinacion de intervalo mas cercana puede determinarse utilizando diversos metodos adecuados tales como el mayor numero de intervalos solapantes, el menor numero de intervalos no solapantes en el objeto de grupo de intervalo, o el menor numero de intervalos no solapantes en el grupo activado. En el ejemplo actual, el sistema identifica y utiliza el objeto de grupo de intervalo en la clase de grupo de intervalo de pre-reconocimiento mostrada en la Figura 14 que tiene una combinacion de intervalo de coincidencia exacta que la combinacion de intervalo actualmente activada, es decir, fecha, hora y AM-PM. Sin embargo, si no se encuentra un objeto de grupo de intervalo de coincidencia exacta, otro objeto de grupo considerado como el mas cercano puede identificarse y utilizarse, por ejemplo, un objeto de grupo con una combinacion de dos intervalos tal como los intervalos de hora y AM-PM. El sistema puede definir un objeto de grupo de intervalo separado para cada intervalo del segmento de intervalo para asegurar que un grupo de intervalo puede siempre encontrarse para cualquier combinacion de grupo activada.
El sistema incluye tambien objetos de segmento. Un objeto de segmento mantiene un conjunto de intervalos en un segmento de intervalo que determina una serie de uno o mas intercambios de multiples intervalos sucesivos. Los valores para los intervalos en un segmento de intervalo dado pueden obtenerse potencialmente del usuario en un unico intercambio. Como alternativa, si el usuario no proporciona los valores para todos los intervalos en ese segmento en un intercambio, se inician intercambios de continuacion hasta que se rellenen todos los intervalos requeridos, es decir, no opcionales. Cuando un segmento se rellena por completo, el siguiente segmento, si lo hubiera, se invoca a continuacion.
El sistema incluye adicionalmente objetos de dialogo que definen el flujo de dialogo. Aunque cada dialogo de multiples intervalos puede realizar una funcion diferente, el flujo de dialogo para cada dialogo en general tiene una estructura comun. La Figura 16 es un diagrama de bloques que ilustra una estructura de flujo de dialogo ejemplar. Despues de que el sistema inicia un dialogo en el bloque 1601, el sistema obtiene el primer segmento en el dialogo en el bloque 1602. El sistema determina que los intervalos en este segmento debenan activarse en el bloque 1603 tal como incluyendo los intervalos que no se han rellenado aun. El grupo de intervalo de pre-reconocimiento mas cercano se selecciona para recuperar la solicitud de cabecera y otros parametros de pre-reconocimiento en el bloque 1604 (tal como la solicitud de ayuda y cualquier solicitud de excepcion). La solicitud de cabecera es normalmente redactada de tal manera que el usuario puede proporcionar potencialmente un numero de intervalos deseados en una expresion. Por ejemplo, si el intervalo incluye un intervalo de fecha, un intervalo de hora y un intervalo de meridiano (AM/PM), la solicitud podna ser “^Cuando tomara usted el coche?”. La respuesta del usuario a continuacion se recibe y procesa mediante el sistema en el bloque 1605 tal como obteniendo la mejor hipotesis de
5
10
15
20
25
30
35
40
45
50
55
60
la secuencia de palabra pretendida del usuario a partir del motor de reconocimiento del habla y realizando cualquier confirmacion deseada, aclaracion o desambiguacion basandose en los ajustes personalizados de la aplicacion hasta que se acepte un unico conjunto de valores de intervalo por el sistema.
El sistema a continuacion determina si el segmento de intervalo contiene algun intervalo mas para rellenarse en el bloque de decision 1606 que normalmente incluye intervalos cuyos valores no se han rellenado aun. Se observa que el sistema, al determinar si el segmento de intervalo contiene mas intervalos a rellenarse en el bloque de decision 1606, puede aplicar logica espedfica de aplicacion que especifica que algunos valores de intervalo pueden o debenan rellenarse automaticamente a partir de otros valores de intervalo, que algunos intervalos son opcionales o que ciertos intervalos adicionales necesitan rellenarse como resultado de los valores de otros intervalos aceptados. Si queda algun intervalo para que se rellene segun se determina en el bloque de decision 1606, el sistema vuelve al bloque 1603 para posibilitar el siguiente conjunto de intervalos. De otra manera, el sistema continua al bloque de decision 1607 para determinar si hay algun segmento de intervalo mas. Si queda al menos un segmento de intervalo mas, el sistema obtiene el siguiente segmento en el bloque 1608 y vuelve al bloque 1603. Como alternativa, si no queda ningun otro segmento de intervalo, el dialogo finaliza en el bloque 1610.
Cuando se procesa la entrada del usuario, el sistema puede estar en un modo normal o modo de confirmacion pasiva. El modo de confirmacion pasiva se activa cuando el sistema determina que la respuesta del usuario debena confirmarse de manera pasiva basandose en algun criterio predefinido. Un conjunto de este tipo de criterios podna ser que el nivel de confianza devuelto por el motor del habla esta por debajo del umbral para aceptacion silenciosa pero por encima del umbral que requiere confirmacion activa. Si no esta activado el modo de confirmacion pasiva, el sistema puede estar en modo normal por defecto. La Figura 17 es un diagrama de flujo que ilustra un procesamiento ejemplar de la entrada del usuario en modo normal mientras la Figura 18 es un diagrama de flujo que ilustra un procesamiento ejemplar de la entrada del usuario en modo de confirmacion pasiva. La determinacion en cuanto a modo normal frente a pasivo puede basarse en, por ejemplo, un nivel de confianza ponderado o medio para el conjunto de intervalos a los que corresponde la respuesta del usuario. Cuando se trata con una respuesta del usuario con valores para multiples intervalos, la determinacion puede realizarse con una unica determinacion para todos los intervalos en la respuesta del usuario o una determinacion separada para cada intervalo en la respuesta del usuario y los resultados separados promediarse o ponderarse, por ejemplo.
En modo normal como se ilustra en la Figura 17, el motor del habla reconoce la entrada del usuario y devuelve una o mas hipotesis en el bloque 1701. Si se devuelven varias posibles coincidencias por el motor del habla segun se determina en el bloque de decision 1702, las posibles coincidencias pueden desambiguarse en el bloque 1708. Por ejemplo, puede presentarse al usuario con una lista de las mejores coincidencias y pedirle que seleccione una. Cada coincidencia puede presentarse mediante una solicitud de desambiguacion similar a una solicitud de confirmacion. Cuando se recibe y procesa una coincidencia seleccionada por el usuario en el bloque 1709, el sistema continua al siguiente intercambio en el bloque 1710.
Como alternativa, si unicamente se devuelve una hipotesis, es decir, la mejor coincidencia, mediante el motor del habla segun se determina en el bloque de decision 1702, el sistema determina si el nivel de confianza para la hipotesis esta en o por encima de un umbral de alta confianza predefinido en el bloque de decision 1703. Si el alto nivel de confianza esta en o por encima del umbral de alta confianza, el sistema acepta los valores de intervalo y entra en el modo de confirmacion pasiva en el bloque 1707. Como alternativa, si el nivel de alta confianza esta por debajo del umbral de alta confianza, el sistema confirma de manera activa la mejor coincidencia emitiendo una solicitud de confirmacion en el bloque 1704. Por ejemplo, el sistema puede construir la solicitud de confirmacion identificando el grupo de intervalo en la clase de grupo de intervalo de post-reconocimiento que esta mas cercana al grupo de intervalos en la mejor coincidencia y recuperar la correspondiente solicitud de confirmacion activa. La respuesta del usuario a la solicitud de confirmacion se recibe y procesa en el bloque 1705. Si el usuario cancela la confirmacion, por ejemplo, expresando una frase de cancelacion tal como “no” o “eso es incorrecto” y proporciona una correccion, los valores corregidos pueden volver al bloque 1704 para confirmacion. Si el usuario cancela la confirmacion sin correccion, el intercambio actual se repite en el bloque 1706. En otras palabras, cualquier valor de intervalo pendiente se descarta o libera y el sistema repite la solicitud de cabecera que estaba reproduciendo originalmente. Si el usuario acepta la confirmacion, por ejemplo, expresando una frase tal como “sr o “eso es correcto”, el sistema acepta los valores de intervalo y continua al siguiente intercambio en el bloque 1710.
En modo de confirmacion pasiva como se ilustra en la Figura 18, la solicitud de confirmacion de un intercambio se combina con la solicitud de cabecera para el siguiente intercambio. Por ejemplo, la solicitud combinada puede ser “Ok. Boston. Y ^en que fecha volara usted?”. La respuesta del usuario se reconoce a continuacion mediante el motor del habla en el bloque 1801. Si la respuesta del usuario no comienza con una frase de aceptacion o cancelacion, es decir, un sf o no conduce, segun se determina en el bloque de decision 1802, a que la respuesta del usuario se procese como en el caso del modo normal anteriormente descrito. Como alternativa, si la respuesta del usuario comienza con una frase de aceptacion o cancelacion segun se determina en el bloque de decision 1802, los valores de intervalo anteriores pueden verse afectados. Si la respuesta del usuario es una respuesta de usuario afirmativa, la solicitud de cabecera para el nuevo intervalo puede simplemente repetirse, por ejemplo “^Y en que
5
10
15
20
25
30
35
40
45
50
55
60
fecha volara usted?” en el bloque 1803. Si la respuesta del usuario es una respuesta de usuario negativa sin una correccion, el sistema puede liberar los valores de intervalo aceptados en el intercambio anterior, reproducir un mensaje tal como “Lo siento, intentelo de nuevo”, y repetir el intercambio anterior en el bloque 1804. Para una respuesta de usuario negativa con una correccion, los valores corregidos se confirman explfcitamente en el bloque 1805 hasta que se aceptan o cancelan explfcitamente los intervalos del intercambio anterior.
Durante un turno de usuario principal, el sistema permite que el usuario proporcione valores para uno o mas intervalos activados. La gramatica para el turno debena por lo tanto configurarse de manera flexible para reconocer diversas combinaciones flexibles de intervalos. Por ejemplo, la Figura 19 ilustra una posible gramatica para un intercambio con tres intervalos. Cada rama del diagrama representa una regla de gramatica que podna coincidir con la expresion del usuario. Las gramaticas para los intervalos 1, 2 y 3 se representan mediante los numeros de referencia 1901, 1902, 1903, respectivamente. El operador de postfijo “?” aplicado a cada una de las gramaticas 1902, 1903 que corresponde a los intervalos 2 y 3 en la primera rama indica que los intervalos 2 y 3 son opcionales de manera que en esta primera rama la expresion del usuario contiene un valor para el intervalo 1, opcionalmente un valor para el intervalo 2, y, si lo hubiera un valor para el intervalo 2, opcionalmente un valor para el intervalo 3. Observese que una aplicacion puede restringir la combinacion permitida de intervalos (tal como un intervalo que tiene que venir despues de otro) dependiendo de las normas del lenguaje usado y el contexto de un intercambio particular.
Durante un turno de confirmacion, el sistema permite al usuario no solamente aceptar o cancelar la confirmacion, sino tambien proporcionar valores corregidos. La gramatica para un turno de confirmacion debena por lo tanto construirse para incluir las gramaticas de aceptacion y cancelacion asf como las gramaticas para los intervalos que se estan confirmando, un ejemplo de lo cual se muestra en la Figura 20. La gramatica de aceptacion 2001 contiene un conjunto de frases que expresan una respuesta afirmativa, tal como “sr, “es correcto” y “correcto”. La gramatica de cancelacion 2002 contiene un conjunto de frases que expresan una respuesta negativa, tal como “no”, “eso es incorrecto” e “incorrecto”. Si la gramatica de cancelacion esta presente, se incluye una gramatica de correccion opcional 2003 que reconoce nuevos valores para los intervalos que se estan cancelando.
Aunque se han descrito e ilustrado las realizaciones ejemplares de la presente invencion en el presente documento, se apreciara que son meramente ilustrativas y que pueden realizarse modificaciones a estas realizaciones dentro del alcance definido por las reivindicaciones. Por ejemplo, aunque los sistemas y metodos de multiples intervalos descritos en el presente documento son muy adecuados para interacciones de voz usando sistemas de reconocimiento del habla, los sistemas y metodos de multiples intervalos pueden adaptarse tambien para uso con interacciones de multiples intervalos basadas en texto tales como un dialogo de multiples intervalos basado en internet interactivo.
LA DIVULGACION DE ESTA SOLICITUD INCLUYE TAMBIEN LOS SIGUIENTES ARTfcULOS NUMERADOS:
1. Un metodo para construir y procesar un dialogo de multiples intervalos con un usuario, que comprende: emitir una solicitud de cabecera principal para obtener valores para intervalos en un segmento del usuario; recibir una respuesta de usuario principal, conteniendo la respuesta de usuario principal un valor para cada intervalo en al menos un subconjunto de los intervalos en el segmento; procesar la respuesta de usuario principal para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la respuesta de usuario principal; rellenar cada intervalo contenido en la respuesta de usuario principal con un valor coincidido seleccionado desde el correspondiente al menos un posible valor de reconocimiento; y repetir la emision, recepcion, procesamiento y rellenado para cualquier intervalo no rellenado en el segmento hasta que se rellenen todos los intervalos en el segmento de intervalos.
2. El metodo del artfculo 1, que comprende adicionalmente: realizar turnos para al menos uno de confirmar y aclarar los valores de intervalo coincididos para intervalos contenidos en la respuesta de usuario principal.
3. El metodo del artfculo 2, en el que el al menos uno de confirmar y aclarar se selecciona del grupo que consiste en aceptar de manera silenciosa una mejor coincidencia, confirmar de manera pasiva la mejor coincidencia, confirmar de manera activa la mejor coincidencia, desambiguar entre las mejores coincidencias y notificar al usuario de un no reconocimiento.
4. El metodo del artfculo 3, en el que el al menos uno de confirmar y aclarar se selecciona basandose en el numero de posibles valores de reconocimiento para los intervalos en la respuesta de usuario principal y un nivel de confianza correspondiente para cada uno de los posibles valores de reconocimiento.
5. El metodo del artfculo 3, en el que cuando el al menos uno de confirmar y aclarar es una confirmacion activa, los turnos de realizacion incluyen reconocer una respuesta de confirmacion de usuario como uno de una confirmacion, una cancelacion y una cancelacion y correccion, y en el que cuando la respuesta de confirmacion de usuario es una cancelacion y correccion, la correccion se procesa procesando la correccion para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la correccion.
5
10
15
20
25
30
35
40
45
50
55
60
6. El metodo del artfculo 3, en el que cuando el al menos uno de confirmar y aclarar es una confirmacion pasiva, los turnos de realizacion incluyen reconocer una respuesta de confirmacion pasiva de usuario como una de una respuesta a una siguiente solicitud de cabecera principal, una confirmacion, una cancelacion y una cancelacion y correccion, y en el que cuando la respuesta de confirmacion pasiva del usuario es una cancelacion y correccion, la correccion se procesa procesando la correccion para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la correccion.
7. El metodo del artfculo 1, que comprende adicionalmente: activar cualquier intervalo no rellenado en el segmento de intervalos, en el que la solicitud de cabecera principal obtiene valores para intervalos activados en el segmento.
8. El metodo del artfculo 1, en el que el procesamiento de la respuesta de usuario principal incluye aplicar reglas de gramatica para facilitar el reconocimiento de posibles valores para un intervalo correspondiente.
9. El metodo del artfculo 1, en el que la emision de la solicitud de cabecera principal depende del conjunto de segmentos no rellenados.
10. El metodo del artfculo 1, en el que la emision y la recepcion es una de basada en texto y basada en el habla.
11. Un sistema para construir y procesar un dialogo de multiples intervalos con un usuario, que comprende: una pluralidad de objetos de intervalo representando cada uno un intervalo en un segmento, cada intervalo capaz de asignarse a un valor basandose en el dialogo de multiples intervalos; al menos un objeto de segmento de intervalo, conteniendo cada objeto de segmento de intervalo un conjunto correspondiente de objetos de intervalo; al menos un conjunto de objetos de grupo de intervalo para cada objeto de segmento de intervalo, definiendo cada objeto de grupo de intervalo parametros asociados con una combinacion particular de intervalos en el objeto de segmento de intervalo; y objetos de dialogo que definen un flujo del dialogo de multiples intervalos.
12. El sistema del artfculo 11, en el que el sistema se implementa en un lenguaje de programacion orientada a objetos.
13. El sistema del artfculo 11, en el que cada parametro para al menos un conjunto de objetos de grupo de intervalo se clasifica en una de al menos dos clases de grupo de intervalo definidas para facilitar el mantenimiento de conjuntos separados de los parametros.
14. El sistema del artfculo 13, en el que las clases de grupo de intervalo incluyen una clase de grupo de intervalo de pre-reconocimiento y una clase de grupo de intervalo de post-reconocimiento.
15. El sistema del artfculo 11, en el que cada objeto de intervalo contiene gramatica para facilitar reconocer un posible valor proporcionado por el usuario para el correspondiente intervalo, reglas que facilitan el mapeo de resultados de reconocimiento de gramatica a valores de semantica para el correspondiente intervalo, y variables que indican un estado para el correspondiente intervalo.
16. El sistema del artfculo 11, en el que los parametros definidos por cada objeto de grupo de intervalo se seleccionan del grupo que consiste en solicitudes de cabecera, solicitudes de ayuda, solicitudes de error, solicitudes de confirmacion, solicitudes de desambiguacion y propiedades de reconocimiento.
17. El sistema del artfculo 11, en el que el sistema es uno de basado en texto y basado en habla.
18. Un metodo para construir un dialogo de multiples intervalos con un usuario para obtener multiples elementos de informacion a traves de un numero de turnos, que comprende: proporcionar al menos un objeto de segmento de intervalo, conteniendo cada objeto de segmento de intervalo un conjunto correspondiente de objetos de intervalo, representando cada uno un intervalo en un segmento, representando cada intervalo un elemento de informacion a proporcionarse por el usuario; proporcionar al menos un conjunto de objetos de grupo de intervalo para cada objeto de segmento de intervalo, definiendo cada objeto de grupo de intervalo parametros asociados con una combinacion particular de intervalos en el objeto de segmento de intervalo; y ejecutar un flujo de dialogo de multiples intervalos definido por objetos de dialogo.
19. El metodo del artfculo 18, en el que cada objeto de intervalo contiene gramatica para facilitar reconocer un posible valor proporcionado por el usuario para el correspondiente intervalo, reglas que mapean resultados de reconocimiento de gramatica a valores de semantica para el correspondiente intervalo, y variables que indican un estado para el correspondiente intervalo.
20. El metodo del artfculo 18, en el que cada parametro para al menos un conjunto de objetos de grupo de
5
10
15
20
25
30
35
40
45
50
55
60
intervalo se clasifica en una de al menos dos clases de grupo de intervalo definidas para facilitar el mantenimiento de conjuntos separados de los parametros.
21. El metodo del artfculo 20, en el que las clases de grupo de intervalo incluyen una clase de grupo de intervalo de pre-reconocimiento y una clase de grupo de intervalo de post-reconocimiento.
22. El metodo del artfculo 18, en el que los parametros definidos por cada objeto de grupo de intervalo se seleccionan del grupo que consiste en solicitudes de cabecera, solicitudes de ayuda, solicitudes de error, solicitudes de confirmacion, solicitudes de desambiguacion y propiedades de reconocimiento.
23. El metodo del artfculo 18, en el que el sistema es uno de basado en texto y basado en habla.
24. El metodo del artfculo 18, en el que ejecutar incluye realizar una accion en respuesta a una entrada de usuario, estando la accion seleccionada del grupo que consiste en aceptar de manera silenciosa una mejor coincidencia, confirmar de manera pasiva la mejor coincidencia, confirmar de manera activa la mejor coincidencia, desambiguar entre las mejores coincidencias y notificar al usuario de un no reconocimiento.
25. El metodo del artfculo 24, en el que cuando la accion es una confirmacion activa, la ejecucion incluye adicionalmente reconocer una respuesta de confirmacion de usuario como uno de una confirmacion, una cancelacion y una cancelacion y correccion, y cuando la respuesta de confirmacion de usuario es una cancelacion y correccion, la correccion se procesa procesando la correccion para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la correccion.
26. El metodo del artfculo 24, en el que cuando la accion es una confirmacion pasiva, la ejecucion incluye adicionalmente reconocer una respuesta de confirmacion pasiva de usuario como una de una respuesta a una siguiente solicitud de cabecera principal, una confirmacion, una cancelacion y una cancelacion y correccion, y cuando la respuesta de confirmacion pasiva del usuario es una cancelacion y correccion, la correccion se procesa procesando la correccion para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la correccion.
27. El metodo del artfculo 24, en el que la accion se selecciona basandose en un numero de posibles valores para los intervalos y un nivel de confianza correspondiente para cada posible valor.
28. El metodo del artfculo 18, en el que los objetos de dialogo definen turnos para al menos uno de confirmar y aclarar valores de intervalo.
29. Un producto de programa informatico incorporado en un medio legible por ordenador, incluyendo el producto de programa informatico instrucciones que, cuando se ejecutan por un procesador, provocan al procesador: emitir una solicitud de cabecera principal para obtener valores para intervalos en un segmento del usuario; recibir una respuesta de usuario principal, conteniendo la respuesta de usuario principal un valor para cada intervalo en al menos un subconjunto de los intervalos en el segmento; procesar la respuesta de usuario principal para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la respuesta de usuario principal; rellenar cada intervalo contenido en la respuesta de usuario principal con un valor coincidido seleccionado desde el correspondiente al menos un posible valor de reconocimiento; y repetir la emision, recepcion, procesamiento y rellenado para cualquier intervalo no rellenado en el segmento hasta que se rellenen todos los intervalos en el segmento de intervalos.
30. El producto de programa informatico del artfculo 29, que incluye adicionalmente instrucciones que, cuando se ejecutan mediante el procesador, provocan que el procesador: realice turnos para al menos uno de confirmar y aclarar los valores de intervalo coincididos para intervalos contenidos en la respuesta de usuario principal.
31. El producto de programa informatico del artfculo 30, en el que el al menos uno de confirmar y aclarar se selecciona del grupo que consiste en aceptar de manera silenciosa una mejor coincidencia, confirmar de manera pasiva la mejor coincidencia, confirmar de manera activa la mejor coincidencia, desambiguar entre las mejores coincidencias y notificar al usuario de un no reconocimiento.
32. El producto de programa informatico del artfculo 31, en el que el al menos uno de confirmar y aclarar se selecciona basandose en el numero de posibles valores de reconocimiento para los intervalos en la respuesta de usuario principal y un nivel de confianza correspondiente para cada uno de los posibles valores de reconocimiento.
33. El producto de programa informatico del artfculo 31, en el que cuando el al menos uno de confirmar y aclarar es una confirmacion activa, los turnos de realizacion incluyen reconocer una respuesta de confirmacion de usuario como uno de una confirmacion, una cancelacion y una cancelacion y correccion, y en el que cuando la respuesta de confirmacion de usuario es una cancelacion y correccion, la correccion se procesa procesando la
5
10
15
20
25
correccion para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la correccion.
34. El producto de programa informatico del artfculo 31, en el que cuando el al menos uno de confirmar y aclarar es una confirmacion pasiva, los turnos de realizacion incluyen reconocer una respuesta de confirmacion pasiva de usuario como una de una respuesta a una siguiente solicitud de cabecera principal, una confirmacion, una cancelacion y una cancelacion y correccion, y en el que cuando la respuesta de confirmacion pasiva del usuario es una cancelacion y correccion, la correccion se procesa procesando la correccion para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la correccion.
35. El producto de programa informatico del artfculo 29, que incluye adicionalmente instrucciones que, cuando se ejecutan mediante el procesador, provocan que el procesador: active cualquier intervalo no rellenado en el segmento de intervalos, en el que la solicitud de cabecera principal determina valores para intervalos activados en el segmento.
36. El producto de programa informatico del artfculo 29, en el que el procesamiento de la respuesta de usuario principal incluye aplicar reglas de gramatica para facilitar el reconocimiento de posibles valores para un intervalo correspondiente.
37. El producto de programa informatico del artfculo 29, en el que la emision de la solicitud de cabecera principal depende del conjunto de segmentos no rellenados.
38. El producto de programa informatico del artfculo 29, en el que la emision y la recepcion es una de basada en texto y basada en habla.

Claims (20)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Un sistema para construir y procesar un dialogo de multiples intervalos con un usuario, que comprende:
    un procesador; e
    instrucciones de software que cuando se ejecutan mediante el procesador provocan que el procesador proporcione una pluralidad de objetos de intervalo representando cada uno un intervalo en un segmento, cada intervalo que puede asignarse a un valor basandose en el dialogo de multiples intervalos, en el que el valor representa un elemento de informacion a proporcionarse por el usuario;
    al menos un objeto de segmento de intervalo, conteniendo cada objeto de segmento de intervalo un conjunto correspondiente de objetos de intervalo;
    estando el sistema caracterizado porque: las instrucciones de software cuando se ejecutan mediante el procesador provocan que el procesador proporcione al menos un conjunto de objetos de grupo de intervalo para cada objeto de segmento de intervalo, definiendo cada objeto de grupo de intervalo parametros que incluyen solicitudes o propiedades de reconocimiento asociadas con una combinacion particular de intervalos en el objeto de segmento de intervalo, en el que un objeto de grupo de intervalo comprende cualquiera de, o cualquier combinacion de, todos los intervalos en el segmento de intervalo; y
    objetos de dialogo que definen un flujo del dialogo de multiples intervalos, estando configuradas adicionalmente las instrucciones de software para provocar que el procesador ejecute: cuando se requiere un parametro en un punto en el dialogo de multiples intervalos, identificar un objeto de grupo de intervalo de mejor coincidencia de dicho al menos de un conjunto de objetos de grupo de intervalo seleccionando el objeto de grupo de intervalo cuya combinacion de intervalo es la mas cercana a la combinacion de intervalo actualmente activada, y configurada para determinar los intervalos que debenan activarse en un segmento de intervalo incluyendo los intervalos que no estan rellenados aun.
  2. 2. El sistema de la reivindicacion 1, en el que las instrucciones de software se implementan en un lenguaje de programacion orientada a objetos.
  3. 3. El sistema de la reivindicacion 1, en el que cada objeto de intervalo contiene gramatica para facilitar reconocer un posible valor proporcionado por el usuario para el correspondiente intervalo, reglas que facilitan el mapeo de resultados de reconocimiento de gramatica a valores de semantica para el correspondiente intervalo, y variables que indican un estado para el correspondiente intervalo.
  4. 4. El sistema de la reivindicacion 1, en el que los parametros definidos por cada objeto de grupo de intervalo se seleccionan del grupo que consiste en solicitudes de cabecera, solicitudes de ayuda, solicitudes de error, solicitudes de confirmacion, solicitudes de desambiguacion y propiedades de reconocimiento.
  5. 5. El sistema de la reivindicacion 1, en el que cada parametro para al menos un conjunto de objetos de grupo de intervalo se clasifica en una de al menos dos clases de grupo de intervalo definidas para facilitar el mantenimiento de conjuntos separados de los parametros.
  6. 6. El sistema de la reivindicacion 5, en el que las clases de grupo de intervalo incluyen una clase de grupo de intervalo de pre-reconocimiento y una clase de grupo de intervalo de post-reconocimiento.
  7. 7. El sistema de la reivindicacion 1, en el que el sistema es uno de basado en texto y basado en habla.
  8. 8. Un metodo implementado por ordenador para construir un dialogo de multiples intervalos con un usuario para obtener multiples elementos de informacion a traves de un numero de turnos, que comprende:
    proporcionar al menos un objeto de segmento de intervalo, conteniendo cada objeto de segmento de intervalo un conjunto correspondiente de objetos de intervalo, representando cada uno un intervalo en un segmento, representando cada intervalo un elemento de informacion a proporcionarse por el usuario; proporcionar al menos un conjunto de objetos de grupo de intervalo para cada objeto de segmento de intervalo, definiendo cada objeto de grupo de intervalo parametros que incluyen solicitudes o propiedades de reconocimiento asociadas con una combinacion particular de intervalos en el objeto de segmento de intervalo, en el que un objeto de grupo de intervalo comprende cualquiera de, o cualquier combinacion de, todos los intervalos en el segmento de intervalo; y
    ejecutar un flujo de dialogo de multiples intervalos definido por objetos de dialogo;
    mediante el cual el metodo esta caracterizado por identificar, cuando se requiere un parametro en un punto en el dialogo de multiples intervalos, un objeto de grupo de intervalo de mejor coincidencia desde dicho al menos uno del conjunto de objetos de grupo de intervalo seleccionando el objeto de grupo de intervalo cuya combinacion de intervalo es la mas cercana a la combinacion de intervalo actualmente activada, y determinar los intervalos que debenan activarse en un segmento de intervalo incluyendo los intervalos que no se han rellenado aun.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
  9. 9. El metodo de la reivindicacion 8, en el que cada objeto de intervalo contiene gramatica para facilitar reconocer un posible valor proporcionado por el usuario para el correspondiente intervalo, reglas que mapean resultados de reconocimiento de gramatica a valores de semantica para el correspondiente intervalo, y variables que indican un estado para el correspondiente intervalo.
  10. 10. El metodo de la reivindicacion 8, en el que los parametros definidos por cada objeto de grupo de intervalo se seleccionan del grupo que consiste en solicitudes de cabecera, solicitudes de ayuda, solicitudes de error, solicitudes de confirmacion, solicitudes de desambiguacion y propiedades de reconocimiento.
  11. 11. El metodo de la reivindicacion 8, en el que ejecutar incluye realizar una accion en respuesta a una entrada de usuario, estando la accion seleccionada del grupo que consiste en aceptar de manera silenciosa una mejor coincidencia, confirmar de manera pasiva la mejor coincidencia, confirmar de manera activa la mejor coincidencia, desambiguar entre las mejores coincidencias, y notificar al usuario de un no reconocimiento.
  12. 12. El metodo de la reivindicacion 11, en el que cuando la accion es una confirmacion activa, la ejecucion incluye adicionalmente reconocer una respuesta de confirmacion de usuario como una de una confirmacion, una cancelacion y una cancelacion y correccion, y cuando la respuesta de confirmacion de usuario es una cancelacion y correccion, la correccion se procesa procesando la correccion para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la correccion.
  13. 13. El metodo de la reivindicacion 11, en el que cuando la accion es una confirmacion pasiva, la ejecucion incluye adicionalmente reconocer una respuesta de confirmacion pasiva de usuario como una de una respuesta a una siguiente solicitud de cabecera principal, una confirmacion, una cancelacion y una cancelacion y correccion, y cuando la respuesta de confirmacion pasiva del usuario es una cancelacion y correccion, la correccion se procesa procesando la correccion para determinar al menos un posible valor de reconocimiento para cada intervalo contenido en la correccion.
  14. 14. El metodo de la reivindicacion 11, en el que la accion se selecciona basandose en un numero de posibles valores para los intervalos y un nivel de confianza correspondiente para cada posible valor.
  15. 15. El metodo de la reivindicacion 8, en el que los objetos de dialogo definen turnos para al menos uno de confirmar y aclarar valores de intervalo.
  16. 16. El metodo de la reivindicacion 8, en el que cada parametro para al menos un conjunto de objetos de grupo de intervalo se clasifica en una de al menos dos clases de grupo de intervalo definidas para facilitar el mantenimiento de conjuntos separados de los parametros.
  17. 17. El metodo de la reivindicacion 8, en el que las clases de grupo de intervalo incluyen una clase de grupo de intervalo de pre-reconocimiento y una clase de grupo de intervalo de post-reconocimiento.
  18. 18. El metodo de la reivindicacion 8, en el que el dialogo es uno de basado en texto y basado en habla.
  19. 19. El sistema de la reivindicacion 1, en el que un objeto de grupo de intervalo que coincide con una combinacion de intervalo dada es el objeto de grupo de intervalo que es la combinacion mas cercana, en el que ser lo mas cercano a una combinacion de intervalo se determina mediante cualquiera de un mayor numero de intervalos solapantes, un menor numero de intervalos no solapantes en el objeto de grupo de intervalo, o un menor numero de intervalos no solapantes en una combinacion de intervalo dada.
  20. 20. El metodo de la reivindicacion 8, en el que un objeto de grupo de intervalo que coincide con una combinacion de intervalo dada es el objeto de grupo de intervalo que es la combinacion mas cercana, en el que ser lo mas cercano a una combinacion de intervalo se determina mediante cualquiera de un mayor numero de intervalos solapantes, un menor numero de intervalos no solapantes en el objeto de grupo de intervalo, o un menor numero de intervalos no solapantes en una combinacion de intervalo dada.
ES10190283.1T 2004-07-06 2005-07-06 Sistema y método de diálogo de múltiples intervalos Expired - Lifetime ES2621808T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US885934 2004-07-06
US10/885,934 US7228278B2 (en) 2004-07-06 2004-07-06 Multi-slot dialog systems and methods

Publications (1)

Publication Number Publication Date
ES2621808T3 true ES2621808T3 (es) 2017-07-05

Family

ID=35542461

Family Applications (2)

Application Number Title Priority Date Filing Date
ES05768313.8T Expired - Lifetime ES2526698T3 (es) 2004-07-06 2005-07-06 Procedimiento, sistema y programa informático para recoger múltiples fragmentos de información durante un diálogo de usuario
ES10190283.1T Expired - Lifetime ES2621808T3 (es) 2004-07-06 2005-07-06 Sistema y método de diálogo de múltiples intervalos

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES05768313.8T Expired - Lifetime ES2526698T3 (es) 2004-07-06 2005-07-06 Procedimiento, sistema y programa informático para recoger múltiples fragmentos de información durante un diálogo de usuario

Country Status (5)

Country Link
US (2) US7228278B2 (es)
EP (2) EP1779376B1 (es)
JP (1) JP2008506156A (es)
ES (2) ES2526698T3 (es)
WO (1) WO2006014432A2 (es)

Families Citing this family (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US20060015335A1 (en) * 2004-07-13 2006-01-19 Ravigopal Vennelakanti Framework to enable multimodal access to applications
GB0426347D0 (en) 2004-12-01 2005-01-05 Ibm Methods, apparatus and computer programs for automatic speech recognition
US7706780B2 (en) * 2004-12-27 2010-04-27 Nokia Corporation Mobile communications terminal and method therefore
US20060140357A1 (en) * 2004-12-27 2006-06-29 International Business Machines Corporation Graphical tool for creating a call routing application
US8185399B2 (en) 2005-01-05 2012-05-22 At&T Intellectual Property Ii, L.P. System and method of providing an automated data-collection in spoken dialog systems
US8478589B2 (en) 2005-01-05 2013-07-02 At&T Intellectual Property Ii, L.P. Library of existing spoken dialog data for use in generating new natural language spoken dialog systems
US20060149553A1 (en) * 2005-01-05 2006-07-06 At&T Corp. System and method for using a library to interactively design natural language spoken dialog systems
TWI269268B (en) * 2005-01-24 2006-12-21 Delta Electronics Inc Speech recognizing method and system
US20060217978A1 (en) * 2005-03-28 2006-09-28 David Mitby System and method for handling information in a voice recognition automated conversation
US20060215824A1 (en) * 2005-03-28 2006-09-28 David Mitby System and method for handling a voice prompted conversation
US7684990B2 (en) * 2005-04-29 2010-03-23 Nuance Communications, Inc. Method and apparatus for multiple value confirmation and correction in spoken dialog systems
US7720684B2 (en) * 2005-04-29 2010-05-18 Nuance Communications, Inc. Method, apparatus, and computer program product for one-step correction of voice interaction
JP4680691B2 (ja) * 2005-06-15 2011-05-11 富士通株式会社 対話システム
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7778632B2 (en) * 2005-10-28 2010-08-17 Microsoft Corporation Multi-modal device capable of automated actions
US7752152B2 (en) * 2006-03-17 2010-07-06 Microsoft Corporation Using predictive user models for language modeling on a personal device with user behavior models based on statistical modeling
US8032375B2 (en) * 2006-03-17 2011-10-04 Microsoft Corporation Using generic predictive models for slot values in language modeling
US7689420B2 (en) * 2006-04-06 2010-03-30 Microsoft Corporation Personalizing a context-free grammar using a dictation language model
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP2008065789A (ja) * 2006-09-11 2008-03-21 Canon Inc 入力操作支援装置およびその制御方法
JP4322907B2 (ja) * 2006-09-29 2009-09-02 株式会社東芝 対話装置、対話方法及びコンピュータプログラム
US20080091426A1 (en) * 2006-10-12 2008-04-17 Rod Rempel Adaptive context for automatic speech recognition systems
US8767718B2 (en) * 2006-11-14 2014-07-01 Microsoft Corporation Conversation data accuracy confirmation
CN101622660A (zh) * 2007-02-28 2010-01-06 日本电气株式会社 语音识别装置、语音识别方法及语音识别程序
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US20090055163A1 (en) * 2007-08-20 2009-02-26 Sandeep Jindal Dynamic Mixed-Initiative Dialog Generation in Speech Recognition
US8812323B2 (en) * 2007-10-11 2014-08-19 Agency For Science, Technology And Research Dialogue system and a method for executing a fully mixed initiative dialogue (FMID) interaction between a human and a machine
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US9177551B2 (en) * 2008-01-22 2015-11-03 At&T Intellectual Property I, L.P. System and method of providing speech processing in user interface
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8296144B2 (en) * 2008-06-04 2012-10-23 Robert Bosch Gmbh System and method for automated testing of complicated dialog systems
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8874443B2 (en) * 2008-08-27 2014-10-28 Robert Bosch Gmbh System and method for generating natural language phrases from user utterances in dialog systems
US20100070360A1 (en) * 2008-09-13 2010-03-18 At&T Intellectual Property I, L.P. System and method for creating a speech search platform for coupons
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US20100217603A1 (en) * 2009-02-26 2010-08-26 Hammond Daniel D Method, System, and Apparatus for Enabling Adaptive Natural Language Processing
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8914289B2 (en) * 2009-12-16 2014-12-16 Symbol Technologies, Inc. Analyzing and processing a verbal expression containing multiple goals
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US20120089392A1 (en) * 2010-10-07 2012-04-12 Microsoft Corporation Speech recognition user interface
KR101522837B1 (ko) * 2010-12-16 2015-05-26 한국전자통신연구원 대화 방법 및 이를 위한 시스템
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9298287B2 (en) 2011-03-31 2016-03-29 Microsoft Technology Licensing, Llc Combined activation for natural user interface systems
US10642934B2 (en) 2011-03-31 2020-05-05 Microsoft Technology Licensing, Llc Augmented conversational understanding architecture
US9760566B2 (en) 2011-03-31 2017-09-12 Microsoft Technology Licensing, Llc Augmented conversational understanding agent to identify conversation context between two humans and taking an agent action thereof
US9858343B2 (en) 2011-03-31 2018-01-02 Microsoft Technology Licensing Llc Personalization of queries, conversations, and searches
US9842168B2 (en) 2011-03-31 2017-12-12 Microsoft Technology Licensing, Llc Task driven user intents
US9244984B2 (en) 2011-03-31 2016-01-26 Microsoft Technology Licensing, Llc Location based conversational understanding
US9064006B2 (en) 2012-08-23 2015-06-23 Microsoft Technology Licensing, Llc Translating natural language utterances to keyword search queries
US9454962B2 (en) 2011-05-12 2016-09-27 Microsoft Technology Licensing, Llc Sentence simplification for spoken language understanding
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10672399B2 (en) 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US10026394B1 (en) * 2012-08-31 2018-07-17 Amazon Technologies, Inc. Managing dialogs on a speech recognition platform
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
US10235358B2 (en) * 2013-02-21 2019-03-19 Microsoft Technology Licensing, Llc Exploiting structured content for unsupervised natural language semantic parsing
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014144949A2 (en) 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101959188B1 (ko) 2013-06-09 2019-07-02 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
KR101809808B1 (ko) 2013-06-13 2017-12-15 애플 인크. 음성 명령에 의해 개시되는 긴급 전화를 걸기 위한 시스템 및 방법
US20140379334A1 (en) * 2013-06-20 2014-12-25 Qnx Software Systems Limited Natural language understanding automatic speech recognition post processing
US9298811B2 (en) * 2013-07-15 2016-03-29 International Business Machines Corporation Automated confirmation and disambiguation modules in voice applications
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
US9721570B1 (en) 2013-12-17 2017-08-01 Amazon Technologies, Inc. Outcome-oriented dialogs on a speech recognition platform
US10073840B2 (en) 2013-12-20 2018-09-11 Microsoft Technology Licensing, Llc Unsupervised relation detection model training
US9870356B2 (en) 2014-02-13 2018-01-16 Microsoft Technology Licensing, Llc Techniques for inferring the unknown intents of linguistic items
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10726831B2 (en) * 2014-05-20 2020-07-28 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
CN104360897B (zh) * 2014-10-29 2017-09-22 百度在线网络技术(北京)有限公司 对话处理方法和对话管理系统
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
JP2018063272A (ja) * 2015-02-27 2018-04-19 パナソニックIpマネジメント株式会社 音声対話装置、音声対話システム、および、音声対話装置の制御方法
JP2018063271A (ja) * 2015-02-27 2018-04-19 パナソニックIpマネジメント株式会社 音声対話装置、音声対話システム、および、音声対話装置の制御方法
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US20170147286A1 (en) * 2015-11-20 2017-05-25 GM Global Technology Operations LLC Methods and systems for interfacing a speech dialog with new applications
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10417346B2 (en) 2016-01-23 2019-09-17 Microsoft Technology Licensing, Llc Tool for facilitating the development of new language understanding scenarios
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
JP6719747B2 (ja) * 2016-05-20 2020-07-08 日本電信電話株式会社 対話方法、対話システム、対話装置、およびプログラム
JP6719740B2 (ja) * 2016-05-20 2020-07-08 日本電信電話株式会社 対話方法、対話システム、対話装置、およびプログラム
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
WO2018034169A1 (ja) * 2016-08-17 2018-02-22 ソニー株式会社 対話制御装置および方法
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10431202B2 (en) * 2016-10-21 2019-10-01 Microsoft Technology Licensing, Llc Simultaneous dialogue state management using frame tracking
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10235990B2 (en) 2017-01-04 2019-03-19 International Business Machines Corporation System and method for cognitive intervention on human interactions
US10373515B2 (en) 2017-01-04 2019-08-06 International Business Machines Corporation System and method for cognitive intervention on human interactions
US10318639B2 (en) 2017-02-03 2019-06-11 International Business Machines Corporation Intelligent action recommendation
US10120862B2 (en) 2017-04-06 2018-11-06 International Business Machines Corporation Dynamic management of relative time references in documents
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10490185B2 (en) 2017-09-27 2019-11-26 Wipro Limited Method and system for providing dynamic conversation between application and user
JP7000096B2 (ja) * 2017-09-28 2022-01-19 株式会社東芝 対話処理装置および対話処理システム
US10431219B2 (en) * 2017-10-03 2019-10-01 Google Llc User-programmable automated assistant
US10991369B1 (en) * 2018-01-31 2021-04-27 Progress Software Corporation Cognitive flow
US10783879B2 (en) * 2018-02-22 2020-09-22 Oath Inc. System and method for rule based modifications to variable slots based on context
US11030400B2 (en) * 2018-02-22 2021-06-08 Verizon Media Inc. System and method for identifying and replacing slots with variable slots
CN108922531B (zh) * 2018-07-26 2020-10-27 腾讯科技(北京)有限公司 槽位识别方法、装置、电子设备及存储介质
EP3855338A4 (en) * 2018-10-10 2021-10-06 Huawei Technologies Co., Ltd. HUMAN-COMPUTER INTERACTION PROCESS AND ELECTRONIC DEVICE
CN118379989A (zh) 2019-05-31 2024-07-23 华为技术有限公司 语音识别的方法、装置、设备及计算机可读存储介质
US11275902B2 (en) 2019-10-21 2022-03-15 International Business Machines Corporation Intelligent dialog re-elicitation of information
US11587568B2 (en) * 2020-12-08 2023-02-21 Google Llc Streaming action fulfillment based on partial hypotheses
WO2022134110A1 (zh) * 2020-12-26 2022-06-30 华为技术有限公司 一种语音理解方法及装置
US11711469B2 (en) * 2021-05-10 2023-07-25 International Business Machines Corporation Contextualized speech to text conversion
CN113342956B (zh) * 2021-06-29 2022-04-01 神思电子技术股份有限公司 一种用于多轮对话中相同槽值填充的方法
US11379446B1 (en) 2021-07-23 2022-07-05 Fmr Llc Session-based data storage for chat-based communication sessions
US11463387B1 (en) 2021-07-23 2022-10-04 Fmr Llc Capturing and utilizing context data in virtual assistant communication sessions
US11734089B2 (en) 2021-10-11 2023-08-22 Fmr Llc Dynamic option reselection in virtual assistant communication sessions
US11763097B1 (en) 2022-08-02 2023-09-19 Fmr Llc Intelligent dialogue recovery for virtual assistant communication sessions
US12563008B2 (en) 2022-12-08 2026-02-24 Fmr Llc Capturing and utilizing context data in cross-channel conversation service application communication sessions
KR102666928B1 (ko) * 2023-09-20 2024-05-20 (주)뮤자인 챗봇을 이용한 컨텐츠 관리 시스템
KR102762639B1 (ko) * 2024-02-20 2025-02-07 (주)뮤자인 기업 컨텐츠 관리 시스템
US12340181B1 (en) 2024-10-31 2025-06-24 Fmr Llc Conversation dialogue orchestration in virtual assistant communication sessions
US12321709B1 (en) 2025-01-23 2025-06-03 Fmr Llc Efficient caching and retrieval of responses in conversation service application communication sessions

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914590A (en) * 1988-05-18 1990-04-03 Emhart Industries, Inc. Natural language understanding system
CA2292959A1 (en) 1997-05-06 1998-11-12 Speechworks International, Inc. System and method for developing interactive speech applications
US6219643B1 (en) 1998-06-26 2001-04-17 Nuance Communications, Inc. Method of analyzing dialogs in a natural language speech recognition system
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
US6385584B1 (en) 1999-04-30 2002-05-07 Verizon Services Corp. Providing automated voice responses with variable user prompting
AU5451800A (en) * 1999-05-28 2000-12-18 Sehda, Inc. Phrase-based dialogue modeling with particular application to creating recognition grammars for voice-controlled user interfaces
US6598018B1 (en) * 1999-12-15 2003-07-22 Matsushita Electric Industrial Co., Ltd. Method for natural dialog interface to car devices
JP2002023783A (ja) 2000-07-13 2002-01-25 Fujitsu Ltd 対話処理システム
US7143040B2 (en) * 2000-07-20 2006-11-28 British Telecommunications Public Limited Company Interactive dialogues
US20040085162A1 (en) * 2000-11-29 2004-05-06 Rajeev Agarwal Method and apparatus for providing a mixed-initiative dialog between a user and a machine
GB2372864B (en) * 2001-02-28 2005-09-07 Vox Generation Ltd Spoken language interface
EP1255190A1 (en) * 2001-05-04 2002-11-06 Microsoft Corporation Interface control
US6887690B2 (en) 2001-06-22 2005-05-03 Pe Corporation Dye-labeled ribonucleotide triphosphates
US7246062B2 (en) * 2002-04-08 2007-07-17 Sbc Technology Resources, Inc. Method and system for voice recognition menu navigation with error prevention and recovery
AU2002950336A0 (en) * 2002-07-24 2002-09-12 Telstra New Wave Pty Ltd System and process for developing a voice application

Also Published As

Publication number Publication date
WO2006014432A3 (en) 2007-01-04
US20060009973A1 (en) 2006-01-12
EP2282308B1 (en) 2017-02-22
EP1779376B1 (en) 2014-09-17
US7228278B2 (en) 2007-06-05
EP1779376A2 (en) 2007-05-02
US7747438B2 (en) 2010-06-29
JP2008506156A (ja) 2008-02-28
EP1779376A4 (en) 2008-09-03
EP2282308A1 (en) 2011-02-09
WO2006014432A2 (en) 2006-02-09
US20070255566A1 (en) 2007-11-01
ES2526698T3 (es) 2015-01-14

Similar Documents

Publication Publication Date Title
ES2621808T3 (es) Sistema y método de diálogo de múltiples intervalos
CA2497866C (en) A development system for a dialog system
US7712031B2 (en) System and process for developing a voice application
US8862477B2 (en) Menu hierarchy skipping dialog for directed dialog speech recognition
US9088652B2 (en) System and method for speech-enabled call routing
JP2020003772A (ja) 顧客要求サービスのための音声対話方法及び装置
JP7392017B2 (ja) コンテキストアウェアオーディオエンハンスメントのためのシステムおよび方法
US7461344B2 (en) Mixed initiative interface control
EP3502921A1 (en) Generating dialogue through simulation
US12573398B2 (en) Conversational artificial intelligence platform
WO2008008328A2 (en) Authoring and running speech related applications
KR20220028128A (ko) 화자 종속 음성 모델(들)을 사용한 화자 인식
EP2879062A2 (en) A system and a method for providing a dialog with a user
KR20200024511A (ko) 대화 에이전트의 동작 방법 및 그 장치
US20080167874A1 (en) Methods and Apparatus for Masking Latency in Text-to-Speech Systems
US12387616B2 (en) Method for conversation simulation
CN108905207A (zh) 一种声音提示方法及装置
Thymé-Gobbel et al. Conveying Reassurance with Confidence and Confirmation
CN118626589A (zh) 对话处理方法、装置、电子设备及可读存储介质
de Oliveira Sismeiro Bot Federation Skill Delegation Feature for Wit Bot Engine
Dillard Voice Toolkit
AU2003257266A1 (en) A development system for a dialog system