4. Sobre la arquitectura de un asistente de aprendizaje y su cerebro

Modelo propuesto

A continuación se muestra el modelo propuesto para un asistente de aprendizaje, que obedece los principios de comunicación de chatbots avanzados con características de asistentes virtuales e inteligentes. De manera general, este modelo incluye las siguientes etapas:

  1. Etapas de pre-procesamiento
  2. Lógica del agente (DM - Dialogue Manager).
  3. Funciones del asistente (Conversacional, recomendación, progreso, FAQ, Consulta externa)
  4. Una función de acceso especial para los administradores y desarrolladores.
  5. Bloque sobre analítica del aprendizaje.
  6. Etapa de post procesamiento.

 
 
Principios de la lógica del agente 

También conocido como dialogue manager (DM). Es el cerebro central del sistema encargado de analizar las características del texto (como intenciones y entidades) para transmitirse de forma correcta a alguna de las funciones implementadas.
 
 

Los elementos de la lógica del agente pueden estar conectados a alguna base externa basada en conocimiento (KB - Knowledge Base) o base de datos común (DB - Database) la cual puede producir resultados mas significativos. En este sentido, la clasificación de los principios del funcionamiento del DM pueden ser:

  • Dialogue state tracker: Es un componente complejo esencial que debe inferir correctamente la intención sobre el estado del diálogo, dada toda la historia anterior.
  • Policy learning: Es responsable de seleccionar la mejor acción, es decir, la respuesta del sistema a la expresión del usuario, que debe llevar al usuario hacia la consecución del objetivo en un número mínimo de turnos de diálogo.

 Los diferentes tipos de DM y cómo manejan los principios anteriores se clasifican en:

  • Switch statement: El tipo más básico de gestión de diálogo es una declaración de cambio grande. Cada intento desencadena una respuesta diferente dentro de un marco referencial
  • Máquinas de estado finito: Son especialmente buenos cuando la cantidad de cosas que un usuario puede decir es limitada. La mayoría de las herramientas para construir un chatbot conversacional también proporcionarán una herramienta para hacer un diagrama de decisiones.
  • Goal-based: En una conversación compleja, no se puede pensar en los diálogos como un conjunto de estados porque la cantidad de estados puede volverse inmanejable. Este tipo de gestión de diálogo trabaja en función de comportamientos en lugar de estados. Es más fácil administrar diferentes formas de hacer la misma pregunta, cambiar de contexto o tomar decisiones en función de lo que sabe sobre el usuario y manejarse en función de metas.
  • Belief-based: La mayoría de los sistemas del entendimiento de lenguaje natural (NLU), clasifican las intenciones y las entidades con cierto grado de incertidumbre. Esto significa que el DM solo puede asumir lo que dijo el usuario basado en sus medidas de probabilidad.

 

Clasificación de intenciones mediante word2vec

Word2vec es una técnica para el procesamiento de lenguaje natural publicada en 2013. Este algoritmo utiliza un modelo de Machine Learning (ML) para aprender asociaciones de palabras a partir de un gran corpus de texto. Una vez entrenado, dicho modelo puede detectar sinónimos o sugerir palabras adicionales para una frase sin terminar. Tal y como su nombre indica, word2vec representa cada palabra distinta con una lista particular de números (vectores de características). Los vectores están escogidos cuidadosamente de forma que una función matemática sencilla (i.e. métrica del coseno) indique el nivel de la similitud semántica entre las palabras representada por dichos vectores.[fuente: web]

Ejemplo de agrupación de temas en el espacio bidimensional


El proceso general para emplear word2vec en tareas de clasificación consta de:

  1. Generación de diccionarios. Se entrena un modelo usando word2vec, y se genera un diccionario de las palabras halladas en el corpus, este diccionario crea un vector numérico por cada palabra.
  2. Generación de vectores de características. Del paso anterior se sabe que cada palabra tiene un vector numérico que es de igual tamaño. En este paso, es necesario construir un vector único para cada frase (conjunto de tokens o palabras). Para esto puede usarse el promedio de los vectores de cada palabra,
  3. Entrenamiento de clasificación. Una vez generado el promedio de todos los vectores, se logra un arreglo numérico donde cada frase es definida por un vector el cual es básicamente el promedio de todas sus palabras. A continuación es posible entrenar un clasificador con los datos numéricos obtenidos.

 

Proceso general de clasificación de texto mediante word2vec.

 

Ejemplo de scatterplot para 3 clases

 

 

Comentarios

Entradas más populares de este blog

2. Sobre la arquitectura y las características de los chatbots

7. Sobre las habilidades de adquisición de información