Algoritmos de Recomendación
Los algoritmos de recomendación aprovechan diversos conjuntos de datos, como transacciones históricas o datos de interacción, atributos de artículos y datos demográficos de usuarios, para analizar patrones en el comportamiento del usuario y generar recomendaciones altamente personalizadas que se alinean con los intereses del usuario. Desempeñan un papel crítico en impulsar las interacciones, mejorar la retención y optimizar la experiencia del usuario en diversas plataformas.
En QuickML, actualmente soportamos algoritmos de Recuperación de Información diseñados para satisfacer diversas necesidades empresariales para construir modelos de recomendación variados.
Tipos de Sistemas de Recomendación
Los tipos de modelos de recomendación que se utilizan en entornos en tiempo real incluyen:
- Sistema de recomendación secuencial
- Sistema de recomendación personalizado
- Sistema de recomendación de ciclo de recurrencia
a. Recuperación de información
Un sistema de recomendación es una herramienta inteligente que analiza interacciones pasadas, preferencias y comportamiento para sugerir productos personalizados que probablemente sean de interés para cada usuario. Utiliza algoritmos avanzados para comprender sus gustos y necesidades, realizando recomendaciones precisas que coinciden con las preferencias únicas de los usuarios.
Los algoritmos de recuperación de información tienen como objetivo generar sugerencias precisas que mejoren la experiencia y el compromiso del usuario proporcionando recomendaciones personalizadas.
Los algoritmos que se utilizan en cada tipo de sistema de recomendación dentro de QuickML incluyen.
-
Sistema de recomendación secuencial
Los algoritmos de Recomendación Secuencial utilizan técnicas de aprendizaje automático para analizar los datos de interacción histórica y predecir el siguiente artículo o artículos que probablemente serán consumidos en una secuencia. Este algoritmo considera el orden secuencial de sus interacciones pasadas para sugerir productos que se alinean con sus patrones de compra.
El algoritmo que se utiliza para construir estos modelos es:
SubSequence
SuBSeq o Succinct BWT-Based Sequence Prediction, es un algoritmo potente que utiliza la Transformada de Burrows-Wheeler (BWT), diseñado específicamente para sistemas de recomendación secuencial, aprovechando técnicas avanzadas para extraer patrones significativos de los datos de transacciones/interacciones. Se centra en la minería de subsecuencias, permitiéndole identificar secuencias recurrentes y patrones intrincados dentro de las secuencias de comportamiento del usuario. A través de una combinación de procesamiento eficiente de datos y reconocimiento de patrones, SubSeq sobresale en capturar dependencias temporales, preferencias del usuario y matices contextuales, lo que en última instancia conduce a recomendaciones altamente personalizadas adaptadas al comportamiento individual. Es particularmente eficiente en términos de uso de memoria y complejidad computacional.
Hiperparámetros:
Parámetro Descripción Tipo de Dato Valores Posibles Valores Predeterminados transactions_column Nombre de la columna para los conjuntos de artículos en los datos de entrada str nombre de columna en el conjunto de datos especificado min_similar_sequence Número mínimo de secuencias similares requeridas int cualquier entero positivo 2 Escenarios de ejemplo para elegir este algoritmo:
Una plataforma de medios en línea busca mejorar el compromiso del usuario prediciendo las secuencias de artículos que los usuarios podrían consumir basándose en su comportamiento e interacciones pasadas. El objetivo es comprender y anticipar las preferencias del usuario, permitiendo a la plataforma proporcionar recomendaciones de contenido personalizadas. Por ejemplo, si un usuario ve tres películas de comedia y luego cambia a documentales históricos, un algoritmo de recomendación secuencial identifica este cambio en el patrón de consumo y sugiere más documentales o una mezcla de ambos géneros.
-
Sistema de recomendación personalizado
Los algoritmos de recomendación personalizada buscan proporcionar recomendaciones adaptadas a usuarios individuales basándose en sus preferencias, interacciones pasadas, atributos del producto e información demográfica. Estos algoritmos aprovechan los datos de interacción usuario-artículo para identificar patrones y similitudes entre usuarios y artículos.
Los algoritmos que se utilizan para construir estos modelos son:
LightFM
LightFM es un algoritmo de recomendación robusto que aprovecha los perfiles de usuario, los detalles del producto y los datos de interacción para proporcionar recomendaciones personalizadas. Al fusionar el filtrado colaborativo con técnicas de factorización de matrices, LightFM captura las preferencias del usuario y las características de los artículos, asegurando recomendaciones precisas en el dominio dado. Analizando los perfiles de usuario y las características de los artículos, ofrece sugerencias más relevantes, simplificando el descubrimiento de productos relacionados y ajustando las recomendaciones rápidamente según el comportamiento del usuario. Con información sobre la demografía del usuario, las preferencias y el historial de interacciones, LightFM mejora las experiencias de recomendación en diversas industrias y aplicaciones, fomentando el compromiso y la satisfacción.
Hiperparámetros:
Parámetro Descripción Tipo de Dato Valores Posibles Valores Predeterminados no_components La dimensionalidad de los embeddings de características latentes. Valores más altos capturan relaciones más complejas pero pueden sobreajustar si son demasiado grandes para el conjunto de datos. int Cualquier entero positivo 10 n Para el entrenamiento k-OS, esto especifica el número máximo de muestras positivas consideradas para cada usuario durante cada paso de actualización. int Cualquier entero positivo 10 learning_schedule Determina el programa de tasa de aprendizaje a utilizar. Las opciones incluyen programas adaptativos como adagrad o adadelta, que ajustan las tasas de aprendizaje basándose en la información del gradiente durante el entrenamiento. str 'adagrad', 'adadelta'r 'adagrad' loss Especifica la función de pérdida a optimizar: - 'logistic': no se añade penalización;
- 'bpr': añade un término de penalización L2 y es la opción predeterminada;
- 'warp': añade un término de penalización L1;
- 'warp-kos': se añaden tanto términos de penalización L1 como L2.
int Cualquier entero positivo 10 learning_rate La tasa de aprendizaje inicial para el optimizador de descenso de gradiente. Valores más pequeños resultan en una convergencia más lenta pero potencialmente más estable. float Cualquier float positivo 0.05 item_alpha Fuerza de regularización L2 en los embeddings de características de artículos. Ayuda a prevenir el sobreajuste penalizando pesos grandes. Valores más altos imponen una regularización más fuerte. float Cualquier float no negativo 0.0 user_alpha Fuerza de regularización L2 en los embeddings de características de usuarios. Ayuda a prevenir el sobreajuste penalizando pesos grandes. Comportamiento similar a item_alpha. float Cualquier float no negativo 0.0 train_split_ratio Se utiliza para entrenamiento. Los datos restantes se reservan para evaluación. Una proporción más alta significa más datos para entrenamiento pero menos para pruebas. float entre 0 y 1 0.8 td_uid_column El nombre de la columna en el conjunto de datos de transacciones que representa los IDs únicos de usuario. str Cualquier nombre de columna válido en el conjunto de datos Especificado por el usuario ud_uid_column El nombre de la columna en el conjunto de datos de características de usuario que representa los IDs únicos de usuario. str Cualquier nombre de columna válido en el conjunto de datos Especificado por el usuario pd_pid_column El nombre de la columna en el conjunto de datos de características del producto que representa los IDs únicos de producto. str Cualquier nombre de columna válido en el conjunto de datos Especificado por el usuario Escenarios de ejemplo para elegir este algoritmo:
- En plataformas de comercio electrónico, los algoritmos de recomendación personalizada sugieren artículos relevantes basados en las interacciones del usuario en tiempo real y la actividad de búsqueda. Al analizar el comportamiento del usuario, las características del artículo y los datos de transacciones, estos modelos generan sugerencias altamente personalizadas que resuenan con los usuarios individuales. Este enfoque no solo mejora la experiencia del usuario sino que también aumenta el valor del negocio al promover productos relevantes y relacionados.
- En plataformas de aprendizaje en línea, facilitando el descubrimiento de cursos relacionados que complementan los intereses y objetivos de aprendizaje de los usuarios. Estos modelos mejoran el descubrimiento al analizar las similitudes de los cursos y los intereses de los usuarios, lo que en última instancia conduce a una mayor exploración y compromiso.
Pixie
Construir sistemas que proporcionen recomendaciones personalizadas de alta calidad presenta un gran desafío debido a un enorme grupo de artículos y un gran número de usuarios. Estas recomendaciones deben generarse de forma receptiva a las acciones del usuario bajo demanda.
Pixie es un sistema de recomendación escalable en tiempo real basado en grafos que aborda este problema utilizando su técnica llamada caminatas aleatorias para explorar un gran grafo de artículos interconectados para recomendar artículos relevantes a los usuarios. El grafo comprende nodos y aristas, donde los nodos representan artículos o usuarios, y las aristas representan relaciones o interacciones entre ellos. Este algoritmo está diseñado para ser altamente escalable, permitiéndole operar eficientemente en entornos con un gran número de artículos y usuarios.
Hiperparámetros:
Parámetro Descripción Tipo de Dato Valores Posibles Valores Predeterminados user_id_colum nombre de columna único del user_dataset str nombre de columna en el conjunto de datos especificado product_id_column nombre de columna único del product_dataset str nombre de columna en el conjunto de datos especificado depth Número de pasos en cada caminata aleatoria. int Cualquier entero positivo 10 n_epochs Número máximo de pasos para el proceso de caminata aleatoria. int Cualquier entero positivo 50 higher_weight Peso para sesgar la arista del grafo hacia conexiones más probables. float Un float entre 0 y 1 1.0 lower_weight Peso para sesgar la arista del grafo hacia conexiones menos probables. float Un float entre 0 y 1 0.0001 recommendation_type Tipo de predicción a realizar. str 'fbt', 'cwbab' 'cwbab' with_feature_encoding Si se debe usar la codificación de características de usuario. bool True, False False Escenarios de ejemplo para elegir este algoritmo:
Pixie puede sugerir productos a los usuarios basándose en su historial de navegación y comportamiento de compra, lo que lleva a un mejor descubrimiento de productos y mayores tasas de conversión de ventas.
Por ejemplo:
Una plataforma de comercio electrónico especializada en electrónica de consumo aprovecha Pixie para mejorar su sistema de recomendación.
Cuando un usuario compra un smartphone, el algoritmo usa recommendation_type: fbt (Frequently Bought Together) para recomendar co-compras necesarias, como protectores de pantalla o cargadores, que son inmediatamente relevantes para la compra actual.
Al mismo tiempo, si el algoritmo usa recommendation_type: “cwbab (Customers who bought also bought)” para sugerir productos complementarios, como smartwatches o altavoces Bluetooth, que el cliente podría considerar comprar más adelante. Al diferenciar entre necesidades inmediatas y futuras potenciales, la plataforma no solo aumenta el valor promedio del pedido sino que también construye compromiso y satisfacción del cliente a largo plazo.
-
Sistema de recomendación de ciclo de recurrencia
El Modelo de Recomendación de Ciclo de Recurrencia se entrena para identificar y sugerir artículos basándose en patrones recurrentes en el comportamiento del usuario. Al analizar datos históricos, detecta los ciclos o intervalos recurrentes en los que los usuarios probablemente repitan interacciones específicas, como compras, suscripciones o compromisos. El algoritmo Recurrence Finder predice los artículos que los usuarios tienen más probabilidades de volver a comprar, simplificando el proceso de reabastecimiento de productos o re-compromiso con artículos preferidos.
Los algoritmos que se utilizan para construir los modelos de recomendación recurrente son:
Recurrence Finder
Recurrence Finder identifica y predice eventos recurrentes, incluyendo compras de productos por parte de clientes, asistencia a eventos y configuraciones de alarmas diarias, aprovechando marcas de tiempo históricas para pronosticar ocurrencias futuras. Al analizar patrones de eventos históricos, proporciona las ocurrencias futuras de eventos, ayudando en la planificación y toma de decisiones efectiva. Este modelo ayuda a optimizar estrategias para la retención de clientes, gestión de eventos y herramientas de gestión del tiempo.
Con su capacidad para predecir ocurrencias futuras, Recurrence Finder mejora la eficiencia y productividad en diversos dominios, desde el comercio electrónico hasta la atención médica.
Hiperparámetros:
Parámetro Descripción Tipo de Dato Valores Posibles Valores Predeterminados user El nombre de la columna en el conjunto de datos que contiene los IDs únicos de usuario. Esta columna es esencial para identificar la recurrencia de transacciones basándose en los usuarios. str Cualquier nombre de columna válido en el conjunto de datos Especificado por el usuario product El nombre de la columna en el conjunto de datos que contiene los IDs únicos de producto. Esta columna se utiliza para rastrear la recurrencia de productos específicos en las transacciones. str Cualquier nombre de columna válido en el conjunto de datos Especificado por el usuario timestamp_column El nombre de la columna en el conjunto de datos que contiene las marcas de tiempo de las transacciones. Esta columna es crítica para calcular los intervalos de tiempo entre transacciones recurrentes. str Cualquier nombre de columna válido en el conjunto de datos Especificado por el usuario quantity Un indicador booleano que señala si el análisis de recurrencia debe considerar las cantidades de transacciones. Si es True, se utilizará la quantity_column para incorporar patrones de recurrencia basados en cantidad. bool True, False Especificado por el usuario quantity_column El nombre de la columna en el conjunto de datos que contiene la cantidad de productos comprados en cada transacción. Esto es requerido si el parámetro quantity está configurado como True. str Cualquier nombre de columna válido en el conjunto de datos Especificado por el usuario Escenarios de ejemplo para elegir este algoritmo:
- Las empresas basadas en suscripciones pueden utilizar predicciones de recurrencia para pronosticar cuándo es probable que los clientes renueven sus suscripciones. Esto les permite implementar estrategias de retención dirigidas, como ofertas personalizadas o recordatorios, para aumentar las tasas de renovación y la lealtad del cliente.
- Las empresas basadas en servicios, como proveedores de atención médica o salones, pueden usar predicciones de recurrencia para programar citas de manera eficiente. Al anticipar cuándo es probable que los clientes reserven citas, pueden optimizar los horarios del personal, minimizar los tiempos de espera y mejorar la satisfacción del cliente.
Criterios de validación de datos
Los modelos de recomendación se entrenan utilizando tres conjuntos de datos:
- Datos de transacciones/interacciones
- Datos demográficos de los usuarios
- Datos de atributos de los artículos
El conjunto de datos de Transacciones contiene los detalles de las transacciones, como transactionID, userID, itemID, valor del pedido, fecha de compra, marca de tiempo, etc., capturando cada compra que el usuario ha realizado.
El conjunto de datos de Usuarios contiene información demográfica sobre los usuarios del negocio, proporcionando información sobre sus características y preferencias.
El conjunto de datos de Artículos/Características del producto contiene atributos y características de los artículos que son comprados por los usuarios, como categoría, marca y precio.
Se realiza automáticamente una verificación de validación que involucra los tres conjuntos de datos por el propio algoritmo antes de que comience el entrenamiento del modelo. Si alguno de los siguientes criterios no se cumple, el algoritmo detiene el entrenamiento y lanza un error:
- No deben existir valores faltantes en los conjuntos de datos de transacciones, usuarios o artículos.
- Cualquier userID o itemID/productID presente en el conjunto de datos de Transacciones también debe existir en sus respectivos conjuntos de datos de Usuarios o Artículos.
Última actualización 2026-03-24 17:38:39 +0530 IST
Yes
No
Send your feedback to us