¿Cómo funciona el motor de recomendaciones?
  • 26 Apr 2022
  • 4 Minutos para leer

¿Cómo funciona el motor de recomendaciones?


Article Summary

El motor de recomendaciones está codificado en Python y está empaquetado dentro del Servicio de aprendizaje automático. El motor se describe en el diagrama de flujo a continuación.

A flowchart outlining how the recommendations engine works.Cada bloque de este diagrama de flujo se describe en detalle a continuación.

Recuperador de datos

El bloque de captura de datos recupera datos de Totara. Los datos obtenidos incluyen interacciones de usuario a contenido, metadatos de usuario y metadatos de contenido de cada arrendatario.

Los archivos de datos de usuario y contenido incluyen metadatos de los usuarios y el contenido, respectivamente, mientras que los datos de interacciones son un registro de si un usuario ha interactuado positivamente con el contenido o ha interactuado de manera relajada con el contenido, y el momento en que ocurrió la interacción.

Los metadatos del usuario consisten en:

  • ID en la base de datos
  • Idioma
  • Ciudad/pueblo (texto libre)
  • País
  • Intereses
  • Posición aspirante
  • Posiciones
  • Organizaciones
  • Escala de competencias actuales
  • Insignias
  • Descripción del perfil (texto libre)

Los metadatos de contenido consisten en:

  • Tipo de contenido (uno, por supuesto, espacio de trabajo, artículo, artículo de microaprendizaje y lista de reproducción)
  • Temas
  • Descripción del texto (texto libre)

Los datos de interacciones consisten en:

  • ID de usuario
  • ID de contenido
  • Valor de interacción (0 o 1)
  • Tiempo de interacción

Lector de datos

Este bloque lee los archivos de datos obtenidos de Totara en una estructura de datos de Python para cada inquilino a la vez y los canaliza para su posterior procesamiento.

Modo

Este es un bloque de decisión que se establece cuando se inicia inicialmente el servicio. Puede leer más al respecto en el archivo README.md del Servicio de aprendizaje automático. El usuario puede elegir un modo entre los siguientes:

  • Factorización de matrices
  • Híbrido parcial
  • Híbrido completo

Datos del proceso

Según el modo de recomendación seleccionado, uno de los procesadores de datos transforma los datos en la forma compatible que puede consumir el proceso posterior. La salida de cada uno de los procesadores de datos está en forma de matrices dispersas, de modo que la memoria se utiliza de manera eficiente.

Procesador de datos colaborativo

Este bloque ignora los datos de usuario y contenido y transforma los datos de interacciones en un formato que los módulos posteriores pueden consumir.

Procesador de datos parcial

Este bloque utiliza los metadatos de usuario y contenido, así como los datos de interacciones, y los transforma para su consumo en el proceso posterior. Este bloque ignora solo los campos de texto libre del usuario (ciudad/pueblo y descripción del perfil) y los datos de contenido (descripción del texto).

Procesador de datos completo

Esto utiliza todos los campos de datos en los datos de usuario, contenido e interacciones, incluidos los campos de texto libre del usuario y los datos de contenido. Los campos de texto libre se pasan a través del proceso de procesamiento de lenguaje natural donde se limpia el texto y luego se convierte en una matriz de características de TF-IDF. Luego, los conjuntos de datos se transforman en una forma compatible para que puedan consumirse para su posterior procesamiento.

Optimizar los hiperparámetros

Según el modo de recomendación, los hiperparámetros se optimizan para un mejor rendimiento en un conjunto de datos aleatorios no vistos aparte de la capacitación. Los hiperparámetros que se ajustan son la dimensión lateral y la cantidad de épocas.

Optimizador de hiperparámetros colaborativo

Estos se ajustan utilizando los datos de interacciones anteriores de los usuarios con el contenido si el modo seleccionado es factorización de matriz.

Optimizador de hiperparámetros basado en contenido

Si el Servicio de aprendizaje automático se inicia en híbrido parcial o híbrido completo, los hiperparámetros se sintonizan utilizando las interacciones anteriores de los usuarios con el contenido y los metadatos proporcionados de los usuarios y el contenido.

Entrenar el modelo final

Según el modo de recomendación seleccionado, se utiliza la factorización de matriz (que es una subclase del enfoque de filtrado colaborativo) o el enfoque de filtrado basado en contenido para crear el modelo de aprendizaje automático para recomendaciones. La clase del algoritmo de modelado utilizado se implementa a través de la biblioteca LightFM y se describe en Maciej Kula, 2015.

Modelo de filtrado colaborativo

Si el servicio se está ejecutando en el modo de factorización de matriz, el modelo final capacitado será un modelo de filtrado colaborativo utilizando los hiperparámetros sintonizados y reenviados a la siguiente etapa.

Modelo de filtrado basado en contenido

Si el servicio se está ejecutando en losmodos híbrido   parcial o híbrido completo, el algoritmo de filtrado basado en contenido se utiliza para crear el modelo. La entrada de datos para este algoritmo incluye metadatos de usuarios y elementos. El modelo final se construye utilizando el conjunto ajustado de estos hiperparámetros de la etapa anterior. Tenga en cuenta que este algoritmo acepta datos de cualquiera de los bloques del procesador de datos parcial y del procesador de datos completo, lo que significa que también puede aceptar y usar los datos procesados en lenguaje natural. 

Modelo final en caché en memoria

El modelo entrenado final se pasa a este bloque para que se almacene en caché en la memoria, de modo que esté fácilmente disponible para consultas de Totara. Además de almacenar en caché el modelo en la memoria, también se guarda en el sistema de archivos para cargarlo rápidamente en caso de que el servicio se reinicie por cualquier motivo.

Comunicador Totara

Este bloque reenvía las solicitudes de Totara al modelo para recomendar contenido a un usuario o encontrar contenido similar a un elemento de contenido determinado.

El contenido similar devuelto se ordena en orden descendente por el puntaje de similitud de coseno de cada elemento de contenido con el contenido dado.

El contenido recomendado para cada usuario se ordena en orden descendente por el puntaje de predicción. Los puntajes de predicción (o clasificaciones) en sí mismos no son interpretables; son simplemente un medio para clasificar los elementos. Sin embargo, el orden de los puntajes de predicción es importante: es más probable que el contenido con puntajes de predicción más altos sea de interés para el usuario que el contenido con puntajes de predicción más bajos.

© Copyright 2024 Totara Learning Solutions. All rights reserved.


¿Te ha sido útil este artículo?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.