Hola, mi nombre es Mikhail Burtsev, y soy fundador y líder del proyecto Pavlov en el Instituto de Física y Tecnología de Moscú. Y hoy les hablaré sobre el Agente Pavlov, que es un marco de código abierto para IA conversacional multi-habilidad. Así que comencemos con una pregunta, ¿por qué es tan importante la multi-habilidad? Es importante porque la experiencia del cliente abarca múltiples dominios, como encuestas, promociones, campañas, servicio al cliente, soporte técnico y muchos otros. Y generalmente, para abordar cada dominio, se necesita una habilidad específica. Por eso necesitamos construir un asistente digital multi-habilidades, y necesitamos tener múltiples habilidades conversacionales en nuestro sistema. Y si observamos los asistentes de comercio electrónico, como los sistemas de diálogo complejos modernos. Por ejemplo, aquí tenemos el caso de Alimia Assist, que es un asistente en AliExpress. Entonces puedes ver aquí que es un sistema híbrido con muchas habilidades diferentes. Por ejemplo, tenemos este servicio de asistente con un motor de llenado de espacios, y tenemos servicio al cliente con un motor de gráficos de conocimiento, y tenemos servicio de chat con un motor de chat. Así que ves que es una combinación de algunas reglas comerciales, de escenarios escritos y con habilidades específicas que abordan diferentes necesidades del cliente.
Entonces, ¿cuál es la forma tradicional de construir sistemas de conversación en la actualidad? El enfoque más dominante es el llamado sistema de diálogo modular. ¿Cómo funciona? Tenemos al usuario, el usuario tiene alguna indicación para el sistema, y esta indicación se convierte a forma textual y se alimenta al módulo de comprensión del lenguaje natural, que realiza básicamente tres funciones. Detección de dominio, detección de intención y detección de entidades en la entrada del usuario. Y luego, después de este preprocesamiento, tenemos una descripción formal de la entrada del usuario, que también se llama marco semántico, donde tenemos la intención, aquí es solicitar una película, y tenemos las entidades. En esta solicitud, es comedia general y fin de semana. Y luego, toda esta información va al Gestor de Diálogos. Y la tarea del Gestor de Diálogos es primero actualizar el estado de diálogo actual, para que esté actualizado, para integrar esta nueva información en el historial previo del diálogo, y luego, con este estado de diálogo actualizado, realizar la acción necesaria en el lado del sistema.
Entonces, consta del estado de diálogo y de la política, o guion, que decide qué acción se debe seleccionar, dada la situación actual del diálogo. Y aquí en nuestro ejemplo tenemos la acción que es solicitar ubicación. Pero esta acción está en alguna representación interna del sistema. Y necesitamos convertir esta acción en la indicación de lenguaje natural. Y aquí tenemos el último módulo de nuestro sistema, que es la generación de lenguaje natural. Que crea la forma superficial de nuestra solicitud para los usuarios. Así que, con la acción de solicitar ubicación, tenemos como resultado en lenguaje natural `¿Dónde estás?`. Así es básicamente cómo se construyen los sistemas actuales. Y principalmente en esta parte de la entrevista, tenemos muchas redes neuronales, modelos de aprendizaje profundo, que se utilizan aquí, y en la parte del Gestor de Diálogos, tenemos algunas redes neuronales y muchas reglas y diálogos escritos. Y también para la generación de lenguaje natural, principalmente tenemos modelos de recuperación con algún llenado de espacios o plantillas.
Bien, entonces, ¿cuál es el ciclo de vida del asistente de IA? ¿Cómo construimos nuestro asistente digital, nuestros sistemas de diálogo, con esta tecnología modular? Por lo general, comenzamos con un Producto Mínimo Viable (MVP). Para NLU, tenemos algunas características y algunos modelos pre-entrenados para este dominio, y en el lado del Gestor de Diálogos, tenemos algunos scripts y es muy agradable y claro architecture, y entendemos cómo funciona.
Comments