Procedimiento, sistema y programa informático para recoger múltiples fragmentos de información durante un diálogo de usuario.

Un procedimiento implementado en ordenador para construir y procesar un diálogo multifranja con un usuario

, que comprende las etapas de:

activación de todas las franjas no llenas en un segmento de franjas en el que una franja es un elemento de datos cuyo valor puede obtenerse de una entrada de usuario, y en el que una señalización activada se fija como valor verdadero para indicar que una franja puede ser aceptada en un turno de usuario inminente;

emisión de un mensaje guía de encabezamiento primario para producir valores para una o más franjas activadas;

recepción de una cualquiera de una respuesta de usuario primaria basada en texto o basada en el habla en el mensaje guía de encabezamiento primario que produce valores para las franjas activadas;

procesamiento de la respuesta de usuario primaria para determinar al menos un posible valor de reconocimiento para cada franja contenida en la respuesta de usuario primaria;

llenado de cada franja contenida en la respuesta de usuario primaria con un valor de correspondencia seleccionado entre al menos un posible valor de reconocimiento correspondiente; y

repetición de la activación, la emisión, la recepción, el procesamiento y el llenado para todas las franjas no llenas en el segmento hasta que se llenen todas las franjas en el segmento de franjas.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US2005/023844.

Solicitante: 24/7 Customer, Inc.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: 910 E. Hamilton Avenue Suite 240 Campbell, CA 95008 ESTADOS UNIDOS DE AMERICA.

Inventor/es: NGUYEN,PATRICK T. M, LOPEZ-AMARO,JESUS, DESAI,AMIT V, SHANA\'A,ADEEB W. M.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > INSTRUMENTOS DE MUSICA; ACUSTICA > ANALISIS O SINTESIS DE LA VOZ; RECONOCIMIENTO DE... > Reconocimiento de la voz (G10L 17/00 tiene prioridad) > G10L15/18 (utilizando una modelización del lenguaje natural)

PDF original: ES-2526698_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Procedimiento, sistema y programa informático para recoger múltiples fragmentos de información durante un diálogo de usuario 5

ANTECEDENTES DE LA INVENCIÓN Campo de la invención

[1] La presente invención se refiere en general a sistemas de reconocimiento del habla. Más

específicamente, se desvelan sistemas y procedimientos para construir una serie de interacciones con un usuario para recoger múltiples fragmentos de información relacionada con el fin de alcanzar una meta o materia específica (un diálogo multifranja) usando un enfoque basado en los componentes.

Descripción de la técnica relacionada

[2] Los sistemas de reconocimiento del habla constituyen un procedimiento prometedor para automatizar funciones de servicio sin requerir cambios extensos en el comportamiento del usuario. Muchas empresas buscan ampliar o mejorar sus funciones de servicio al cliente usando tecnología de reconocimiento del habla para

automatizar tareas que han sido manejadas tradicionalmente por agentes humanos. Para conseguirlo, los sistemas de reconocimiento del habla deben permitir al usuario preguntar y proporcionar información usando entradas habladas naturales en forma de conversación. Los recientes avances en ciertos ámbitos de la tecnología de reconocimiento del habla han ayudado a reducir algunos de los obstáculos tradicionales de los sistemas de reconocimiento del habla utilizables. Por ejemplo, los avances tecnológicos han permitido decodificar entradas 25 habladas improvisadas según una amplia variedad de condiciones operativas realistas, como ruido de fondo y calidad imperfecta de la línea telefónica. Además, los avances recientes han permitido que las aplicaciones de voz reconozcan entradas de voz de una población de usuarios más amplia con diferentes acentos y estilos de habla.

[3] Los sistemas de voz bien diseñados consiguen una alta aceptación del cliente. Por desgracia, la 3 construcción de sistemas de voz eficaces usando enfoques del pasado ha sido difícil.

[4] Los primeros enfoques requerían programación en las interfaces de programas de aplicación (API, apptication program interfaces) del motor de reconocimiento del habla. Estos enfoques cargaban a los desarrolladores con detalles específicos del motor de reconocimiento de bajo nivel tales como la manipulación de

excepciones y la gestión de recursos. Por otra parte, como estas API eran específicas de un motor de reconocimiento en particular, las aplicaciones resultantes no podían ser transportadas fácilmente a otras plataformas.

[5] La aparición de lenguajes de voz intermedios como VoiceXML como estándares abiertos simplificaron 4 en cierta medida el proceso de desarrollo. Estos lenguajes de voz intermedios se acompañaron de una distribución

de responsabilidades en un sistema de voz entre un navegador -que interpreta el lenguaje de voz y maneja la telefonía, el reconocimiento de voz y la infraestructura texto-habla- y una aplicación cliente -que proporciona el código de interacción de usuario (expresado en el lenguaje de voz). Como consecuencia, los desarrolladores de aplicaciones ya no tenían que preocuparse sobre las API de bajo nivel, aunque en su lugar eran responsables de 45 generar documentos que serían ejecutados por el navegador de voz.

[6] Aun con estos avances, sin embargo, el desarrollo de aplicaciones de voz seguía siendo complejo por diversos motivos. Por ejemplo, las aplicaciones de voz presentan un nuevo modelo de interacción con el usuario que es suficientemente distinto de la (bien conocida) interfaz gráfica de usuario como para necesitar experiencia de

diseño e implementación especializada. Los conceptos de interfaz del habla, como la gestión de los diálogos, la optimización de la gramática y las interfaces multifranja, se implementan manualmente en todos los sistemas de voz preparados a medida. Dada la relativa novedad del paradigma del habla, esto impone cargas adicionales en los desarrolladores. Además, las demandas de aplicaciones para manejar la presentación, la lógica comercial y las funciones de acceso a los datos dieron como resultado arquitecturas fragmentadas que combinaban documentos 55 generados de forma estática y dinámica, aplicaciones de servidor de segundo plano, gramáticas y otros componentes separados.

[7] Se dispone de una serie de productos para simplificar el desarrollo de aplicaciones de voz para empresas. Un elemento central de muchos de estos productos es una biblioteca de componentes de voz

predefinidos y adaptables a medida cuyo uso reduce la cantidad de código que es preciso que desarrolle un programador. Estos componentes encapsulan habitualmente el código de lenguaje de voz, las gramáticas, los flujos de llamadas internas, los mensajes guía y las rutinas de recuperación de errores requeridos para obtener un fragmento de información del llamante, tal como la fecha, la hora, la cantidad de dólares, una secuencia de cifras o 5 un elemento de un conjunto o una lista de elementos permitidos (por ejemplo, un conjunto de aeropuertos).

[8] Una limitación importante de estos marcos de componentes es que los componentes no pueden combinarse para permitir que el usuario proporcione múltiples fragmentos de información en cada declaración. Por ejemplo, una aplicación de reservas de vuelos podría usar cuatro componentes: un aeropuerto de salida, un

aeropuerto de destino, una fecha de salida y una hora de salida. Los marcos existentes permitirían a un usuario proporcionar los cuatro fragmentos de información en cuatro declaraciones separadas. Sin embargo, si la aplicación permitiera al usuario decir el aeropuerto de salida, el aeropuerto de destino y la fecha de salida en una declaración (por ejemplo "Mi vuelo es de Boston a San Francisco el lunes"), los componentes de aeropuerto de salida, aeropuerto de destino y fecha de salida no podrían combinarse de forma sencilla. En su lugar, se necesitaría

desarrollar un nuevo componente con nuevas gramáticas, flujos de llamadas, mensajes guía, etc., para reconocer los dos aeropuertos y la fecha. Para llevar aún más lejos el ejemplo, si la aplicación permitiera al llamante conservar algunos fragmentos de información mientras cambia otros fragmentos de información (por ejemplo "No, en realidad vuelo a Oakland el martes"), habría que desarrollar un componente todavía más complejo.

[9] Debido a estas limitaciones, las aplicaciones de voz que se basan en marcos de componentes existentes implementan diálogos altamente dirigidos en los que el flujo de llamadas está predeterminado en gran medida y cada etapa acepta sólo un único elemento de información, como en el intercambio ilustrado en la FIG. 1a. Dichos sistemas de voz son rígidos y a menudo penalizan al llamante que proporciona demasiada información, como en el intercambio ilustrado en la FIG. 1b. Como consecuencia, estos sistemas no son intuitivos ni eficaces, ya

que no pueden capturar información rápidamente o adaptarse a las preferencias del usuario para proporcionar información.

[1] Lo que se necesita es una aplicación de voz que use un enfoque más intuitivo, rápido y natural para obtener información de un usuario como, por ejemplo, un llamante.

[11] El documento US-22/.38.213 describe un sistema y un procedimiento de procesamiento de un diálogo que comprende: una pluralidad de franjas, siendo cada franja una zona de almacenamiento que almacena un elemento de información predeterminado (por ejemplo, fecha de embarque, punto de salida, nombre de destino o vuelo) necesario para conseguir el propósito del diálogo con el usuario, por ejemplo, una reserva de billete aéreo; un

analizador para extraer información correspondiente a los elementos de información de la información introducida... [Seguir leyendo]

 


Reivindicaciones:

1. Un procedimiento implementado en ordenador para construir y procesar un diálogo multifranja con un usuario, que comprende las etapas de:

activación de todas las franjas no llenas en un segmento de franjas en el que una franja es un elemento de datos cuyo valor puede obtenerse de una entrada de usuario, y en el que una señalización activada se fija como valor verdadero para indicar que una franja puede ser aceptada en un turno de usuario inminente;

emisión de un mensaje guía de encabezamiento primario para producir valores para una o más franjas activadas;

recepción de una cualquiera de una respuesta de usuario primaria basada en texto o basada en el habla en el mensaje guía de encabezamiento primario que produce valores para las franjas activadas;

procesamiento de la respuesta de usuario primaria para determinar al menos un posible valor de reconocimiento para cada franja contenida en la respuesta de usuario primaria;

llenado de cada franja contenida en la respuesta de usuario primaria con un valor de correspondencia seleccionado entre al menos un posible valor de reconocimiento correspondiente; y

repetición de la activación, la emisión, la recepción, el procesamiento y el llenado para todas las franjas no llenas en el segmento hasta que se llenen todas las franjas en el segmento de franjas.

2. El procedimiento según la reivindicación 1, que comprende además:

la realización de turnos en al menos uno entre confirmar y aclarar los valores de franjas de correspondencia para las franjas contenidas en la respuesta de usuario primaria.

3. El procedimiento según la reivindicación 2, en el que el al menos uno entre confirmar y aclarar se

selecciona entre el grupo que consiste en aceptar en silencio una mejor correspondencia, confirmar pasivamente la

mejor correspondencia, confirmar activamente la mejor correspondencia, desambiguar entre las mejores correspondencias y notificar al usuario un no reconocimiento.

4. El procedimiento según la reivindicación 3, en el que el al menos uno entre confirmar y aclarar se 35 selecciona basándose en el número de posibles valores de reconocimiento para las franjas en la respuesta de

usuario primaria y un nivel de confianza correspondiente para cada uno de los posibles valores de reconocimiento.

5. El procedimiento según la reivindicación 3, en el que cuando el al menos uno entre confirmar y aclarar

es una confirmación activa, la realización de turnos incluye el reconocimiento de una respuesta de confirmación del

usuario como una entre una confirmación, una cancelación y una cancelación y corrección, y en el que cuando la respuesta de confirmación del usuario es una cancelación y corrección, la corrección se procesa procesando la corrección para determinar al menos un posible valor de reconocimiento para cada franja contenida en la corrección.

6. El procedimiento según la reivindicación 3, en el que cuando el al menos uno entre confirmar y aclarar 45 es una confirmación pasiva, la realización de turnos incluye el reconocimiento de una respuesta pasiva de

confirmación del usuario como una entre una respuesta a un mensaje guía de encabezamiento primario siguiente, una confirmación, una cancelación y una cancelación y corrección, y en el que cuando la respuesta pasiva de confirmación del usuario es una cancelación y corrección, la corrección se procesa procesando la corrección para determinar al menos un posible valor de reconocimiento para cada franja contenida en la corrección.

7. El procedimiento según la reivindicación 1, en el que el procesamiento de la respuesta de usuario primaria incluye la aplicación de reglas de gramática para facilitar el reconocimiento de posibles valores para una franja correspondiente.

8. El procedimiento según la reivindicación 1, en el que la emisión del mensaje guía de encabezamiento

primario depende del conjunto de segmentos no llenados.

9. El procedimiento según la reivindicación 1, en el que la emisión es una entre emisión basada en texto

y emisión basada en el habla.

1. Un sistema informático para construir y procesar un diálogo multifranja con un usuario, proporcionando el sistema informático un sistema de aplicación de voz que comprende:

una pluralidad de objetos de franja cada uno de los cuales representa una franja en un segmento en el que una franja es un elemento de datos cuyo valor puede obtenerse de una entrada de usuario, siendo posible asignar a cada franja un valor basándose en el diálogo multifranja;

al menos un objeto de segmento de franjas, conteniendo cada objeto de segmento de franjas un conjunto 1 correspondiente de objetos de franja;

al menos un conjunto de objetos de grupos de franjas para cada objeto de segmento de franjas, definiendo cada objeto de grupos de franjas parámetros asociados con una combinación de franjas particular en el objeto de segmento de franjas; y 15

objetos de diálogo que definen un flujo del diálogo multifranja para hacer que el sistema: i) obtenga un primer segmento en el diálogo;

ii) determine las franjas en este segmento que deberían activarse incluyendo las franjas que todavía no están llenas, en el que una señalización activada se fija como valor verdadero para indicar que la franja puede ser aceptada en un turno de usuario inminente;

iii) active las franjas no llenas determinadas;

iv) emita un mensaje guía de encabezamiento primario para solicitar que el usuario proporcione valores para una o más franjas activadas;

v) reciba una respuesta de usuario primarla al mensaje guía de encabezamiento primario solicitando al usuario que 3 proporcione valores para la una o más franjas activadas;

vi) procese la respuesta de usuario primaria obteniendo las mejores hipótesis de la secuencia de palabras prevista por el usuario a partir de un motor de reconocimiento del habla para obtener un solo conjunto de valores de franjas;

vii) determine si el segmento de franjas contiene o no más franjas que deban llenarse; y

viii) si las franjas no están llenas, repita de ¡i) a vii) hasta que todas las franjas del segmento de franjas estén llenas.

11. El sistema según la reivindicación 1, en el que el sistema se implementa en un lenguaje de 4 programación orientado a objetos.

12. El sistema según la reivindicación 1, en el que cada parámetro para al menos un conjunto de objetos de grupos de franjas se clasifica en una de al menos dos clases de grupos de franjas definidas para facilitar el mantenimiento de conjuntos separados de los parámetros.

13. El sistema según la reivindicación 12, en el que las clases de grupos de franjas Incluyen una clase de grupos de franjas de reconocimiento anterior y una clase de grupos de franjas de reconocimiento posterior.

14. El sistema según la reivindicación 1, en el que cada objeto de franja contiene una gramática para 5 facilitar el reconocimiento de un posible valor proporcionado por el usuario para la franja correspondiente, reglas que

facilitan la búsqueda de correspondencias para los resultados de reconocimiento de gramática de valores semánticos para la franja correspondiente, y variables que indican un estado para la franja correspondiente.

15. El sistema según la reivindicación 1, en el que los parámetros definidos por cada objeto de grupos de 55 franjas se seleccionan entre el grupo que consiste en mensajes guía de encabezamiento, mensajes guía de ayuda,

mensajes guía de error, mensajes guía de confirmación, mensajes guía de desambiguación y propiedades de reconocimiento.

16. El sistema según la reivindicación 1, en el que el sistema es uno entre basado en texto y basado en

el habla.

17. El procedimiento según la reivindicación 1, en el que el diálogo multifranja se define mediante objetos

que comprenden:

un objeto de segmento de franjas que contiene un conjunto correspondiente de objetos de franja que representan cada uno una franja en el segmento;

al menos un conjunto de objetos de grupos de franjas para cada objeto de segmento de franjas, definiendo cada 1 objeto de grupos de franjas parámetros asociados con una combinación particular de franjas en el objeto de segmento de franjas; y

objetos de diálogo que definen las etapas del diálogo multifranja.

18. El procedimiento según la reivindicación 17, en el que cada objeto de franja contiene una gramática

para facilitar el reconocimiento de un posible valor proporcionado por el usuario para la franja correspondiente, reglas que buscan correspondencias para los resultados de reconocimiento de gramática para valores semánticos para la franja correspondiente, y variables que indican un estado para la franja correspondiente.

19 El procedimiento según la reivindicación 17, en el que cada parámetro para al menos un conjunto de

objetos de grupos de franjas se clasifica en una de al menos dos clases de grupos de franjas definidas para facilitar el mantenimiento de conjuntos separados de los parámetros.

2. El procedimiento según la reivindicación 19, en el que las clases de grupos de franjas incluyen una

clase de grupos de franjas de reconocimiento anterior y una clase de grupos de franjas de reconocimiento posterior.

21. El procedimiento según la reivindicación 17, en el que los parámetros definidos por cada objeto de

grupos de franjas se selecciona entre el grupo que consiste en mensajes guía de encabezamiento, mensajes guía de ayuda, mensajes guía de error, mensajes guía de confirmación, mensajes guía de desambiguación y propiedades

de reconocimiento.

22. El procedimiento según la reivindicación 17, en el que el sistema es uno entre basado en texto y basado en el habla.

23. El procedimiento según la reivindicación 17, en el que la ejecución incluye la realización de una acción

en respuesta a una entrada de usuario, seleccionándose la acción entre el grupo que consiste en aceptar en silencio una mejor correspondencia, confirmar pasivamente la mejor correspondencia, confirmar activamente la mejor correspondencia, desambiguar entre las mejores correspondencias y notificar al usuario un no reconocimiento.

24. El procedimiento según la reivindicación 23, en el que cuando la acción es una confirmación activa, la

ejecución incluye además el reconocimiento de una respuesta de confirmación del usuario como una entre una confirmación, una cancelación y una cancelación y corrección, y cuando la respuesta de confirmación del usuario es una cancelación y corrección, la corrección se procesa procesando la corrección para determinar al menos un posible valor de reconocimiento para cada franja contenida en la corrección.

25. El procedimiento según la reivindicación 23, en el que cuando la acción es una confirmación pasiva, la ejecución incluye además el reconocimiento de una respuesta pasiva de confirmación del usuario como una entre una respuesta a un mensaje guía de encabezamiento primario siguiente, una confirmación, una cancelación y una cancelación y corrección, y cuando la respuesta pasiva de confirmación del usuario es una cancelación y corrección,

la corrección se procesa procesando la corrección para determinar al menos un posible valor de reconocimiento para cada franja contenida en la corrección.

26. El procedimiento según la reivindicación 23, en el que la acción se selecciona basándose en una serie de posibles valores para las franjas y un nivel de confianza correspondiente para cada posible valor.

27. El procedimiento según la reivindicación 17, en el que los objetos de diálogo definen turnos entre al menos uno entre confirmar y aclarar los valores de franjas.

28. Un producto de programa informático materializado en un medio legible por ordenador, incluyendo el

producto de programa informático instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador lleve a cabo el procedimiento de cualquiera de las reivindicaciones 1 a 9 ó 17 a 27.