Modelos de recomendación: recomendando qué recomendar

Nos encontramos en un mundo más y mejor conectado -no hay nada de nuevo en ello- donde las transacciones online superan a las tradicionales y la información crece de forma exponencial. Esta nueva forma de interactuar hace que nuestros datos queden guardados, prontos para ser exprimidos y sacar jugo de ellos. No en vano, se dice que los datos son el nuevo petróleo del siglo XXI.
Pero ¿de qué me sirve analizar los datos? En primer lugar, debemos contestar tres preguntas esenciales en toda estrategia: ¿qué?, ¿cómo? y ¿cuándo?:

– Cuando analizamos el qué, estamos fijando un objetivo, a modo de ejemplo, aumentar las ventas.
– Cuando analizamos el cómo, estamos determinando la forma en que lo haremos, a modo de ejemplo, a través del análisis de datos de nuestros clientes.
– Cuando analizamos el cuándo, estamos determinando un periodo en el tiempo.

Tal como se adelantó, sacar provecho sobre los datos entra en la segunda pregunta que nos ponemos, en el cómo. Cada vez son más los datos que tenemos sobre nuestros clientes, actualmente existen numerosas empresas que poseen una plataforma para comprar a través de ella o que directamente prestan su servicio por ahí, algunos ejemplos conocidos son: Netflix, YouTube, Amazon, entre otros tantos.

¿Qué es lo que tienen en común estas empresas?, la forma en que utilizan los datos. Estas empresas reconocen el potencial que tienen en manos, cientos de miles de interacciones con clientes en cuestión de minutos. Es aquí cuando nos introducimos en la temática de este blog, modelos de recomendación.

A modo de introducción, la primera pregunta que nos hacemos es: ¿qué son los modelos de recomendación? Estos modelos son herramientas que generan recomendaciones sobre un determinado objeto de estudio, a partir de las preferencias y opiniones dadas por los distintos usuarios.
La segunda pregunta empieza a parecerse a: ¿para qué recomendar?, aquí podemos encontrar numerosas respuestas, dentro de ellas podemos ver:

  • Ayudar a los usuarios a encontrar su mejor elección:
    o Ahorrarles tiempo
    o Personalizando su experiencia
  • Contribuir con la estrategia y campañas de marketing
    – Habilitando acciones:
    o Mayor conocimiento sobre las preferencias de los clientes
    o Personalización de la relación con el cliente
    o Otros
  • Ejemplos de recomendaciones:
    o Porque viste…
    o Otros usuarios vieron…
    o Porque creemos que puede interesarte…

Entrando más en detalle, ¿qué modelos de recomendación existen? En la actualidad, existen tres grandes ramas:
– Collaborative Filtering
– Contet Based Filtering
– Hybrid Model

Collaborative Filtering

Existen distintas técnicas de filtrado colaborativo, algunas de ellas son:
– Association Rules: Las reglas de asociación buscan relaciones entre los distintos productos. En este grupo encontramos casos como “market basket analysis”, donde podemos estudiar los productos que co-ocurren en la canasta de compra. A modo de ejemplo:

Cliente 1: Realizó una compra de leche, huevos, azúcar y pan.
Cliente 2: Realizó una compra de leche, huevos, cereal y pan.
Cliente 3: Realizó una compra de huevos y azúcar.

Modelos de recomendación
Fuente: Pixabay

Posiblemente, el cliente 3 estaría interesado en comprar leche.

– Alternate Least Square (ALS): El algoritmo ALS busca relaciones de forma colaborativa, sea de forma user – user o item – item.
Este algoritmo tiene dos formas de ser considerado, con un feedback del ususario:

  • Explicit.  Ratings, preferencias, otros
  • Implicit. Visitas, clicks, otros
Modelos de recomendación

Content Based Filtering

Este modelo de recomendación recomienda espectáculos que son similares entre sí y toma el supuesto que también le podría interesar al usuario.
Existen diversas formas de calcular la similitud entre los distintos espectáculos, entre ellas podemos ver:

  • Distancias
    o Euclidiana – mide la proximidad absoluta entre dos objetos
    o Manhattan – mide la proximidad sujeta a restricciones
    o Coseno – compara la dirección (ángulo) de dos objetos
    o Mahalanobis – mejora la euclidiana, considerando la covarianza de variables
Modelos de recomendación

Diferencias entre los modelos de recomendación Collaborative Filtering y Content Based Filtering

Modelos de recomendación

La diferencia entre ambos modelos de recomendación radica, justamente, en la forma en que se busca la recomendación. Por un lado, Content Based Filtering busca similaridad entre contenidos, por ejemplo, entre artículos de un diario web. El algoritmo te ofrecerá aquellos artículos que no leíste y que son similares. Por otro lado, Collaborative Filtering busca similaridad entre usuarios, por ejemplo, dos usuarios que han leído un mismo artículo de un diario web serán considerados como similares. Cuanta mayor cantidad de artículos leídos mutuamente, mayor será la similaridad y más precisa la recomendación que te ofrecerá el algoritmo.

Hybrid Model

Existen diversas formas de plantear un modelo híbrido, el objetivo está en combinar 2 o más modelos, buscando lograr un modelo óptimo.

Modelos de recomendación

La imagen muestra una representación de un modelo híbrido, donde ambos modelos (CF y CBF) se combinan y llegan a una recomendación. La realidad, es que no hay una única forma de generar un modelo de recomendación híbrido. Aquí, la imaginación junto con el ensayo y error juegan un papel fundamental.
Según Burke (2002), tenemos siete estrategias para representar un modelo híbrido:

De los distintos ejemplos de modelos que podemos encontrar por internet, los resultados arrojan que la mejor performance se encuentra a través del modelo híbrido, es decir, mezclando los modelos nombrados anteriormente.

Antes de bajar el telón…

Existe una modalidad que escapa de los sistemas de recomendación tradicionales y que se llama Reinforcement Learning. Si bien el concepto es viejo, ha tomado participación en la temática de este blog. El problema del aprendizaje de refuerzo puede formularse con el contenido como el estado, la acción como el siguiente mejor contenido recomendado y la recompensa como la satisfacción / conversión o revisión del usuario.
Por último, tenemos los modelos, pero ¿cuál es el mejor? Para responder esta pregunta, tendremos que ir al caso concreto y para ello tendremos que analizar los resultados obtenidos. Existen diversas formas de analizar dichos resultados, entre ellos podemos ver:
– A/B testing
– Confusion matrix
– Precision and Recall
– F1
A medida que pase el tiempo y nuestra información crezca, las empresas nos conocerán tanto como si fuesen nuestros familiares.

Gonzalo Acosta
Consultor en Data & Analytics

Este artículo fue escrito con la participación de Gonzalo Herrera y Fernando López Bello, ambos consultores de la unidad Data & Analytics de Quanam

Tal vez te pueda interesar nuestro webinar sobre modelos de recomendación. 

Leave a Reply