Sistemas de Recomendación – Filtrado Colaborativo Basado en Usuarios y en Elementos

Esta es la segunda parte de mi serie sobre Sistemas de Recomendación. El último post fue una introducción a RecSys. Hoy explicaré con más detalle tres tipos de filtrado colaborativo: Filtrado Colaborativo Basado en el Usuario (UB-CF) y Filtrado Colaborativo Basado en el Artículo (IB-CF).

Comencemos.

Imagina que queremos recomendar una película a nuestro amigo Stanley. Podríamos suponer que personas similares tendrán gustos parecidos. Supongamos que Stanley y yo hemos visto las mismas películas, y las calificamos todas de forma casi idéntica. Pero Stanley no ha visto ‘El Padrino: Parte II’ y yo sí. Si a mí me gusta esa película, es lógico pensar que a él también. Con eso, hemos creado una clasificación artificial basada en nuestra similitud.

Bueno, UB-CF utiliza esa lógica y recomienda artículos encontrando usuarios similares al usuario activo (al que estamos tratando de recomendar una película). Una aplicación específica de esto es el algoritmo de Vecino más cercano basado en el usuario. Este algoritmo necesita dos tareas:

1.Encontrar los K vecinos más cercanos (KNN) al usuario a, utilizando una función de similitud w para medir la distancia entre cada par de usuarios:

2.Predecir la valoración que el usuario a dará a todos los artículos que los k vecinos han consumido pero a no. Buscamos el ítem j con la mejor calificación predicha.

En otras palabras, estamos creando una Matriz Usuario-Item, prediciendo las calificaciones de los ítems que el usuario activo no ha visto, basándonos en los otros usuarios similares. Esta técnica está basada en la memoria.

Rellenar los espacios en blanco

PROS:

  • Fácil de implementar.
  • Independiente del contexto.
  • Comparada con otras técnicas, como la basada en el contenido, es más precisa.

CONS:

  • Especificidad: El porcentaje de personas que califican los artículos es realmente bajo.
  • Escalabilidad: Cuantos más vecinos K consideremos (por debajo de un determinado umbral), mejor debería ser mi clasificación. Sin embargo, cuantos más usuarios haya en el sistema, mayor será el coste de encontrar los K vecinos más cercanos.
  • Cold-start: Los nuevos usuarios no tendrán ninguna o poca información sobre ellos para ser comparados con otros usuarios.
  • Nuevo elemento: Al igual que el último punto, los nuevos artículos carecerán de valoraciones para crear un ranking sólido (Más de esto en ‘Cómo ordenar y clasificar artículos’).

Filtrado colaborativo basado en artículos (IB-CF)

Volver a Stanley. En lugar de centrarnos en sus amigos, podríamos centrarnos en qué elementos de todas las opciones son más similares a lo que sabemos que le gusta. Este nuevo enfoque se conoce como Filtrado Colaborativo Basado en Elementos (IB-CF).

Podemos dividir el IB-CF en dos subtareas:

1.Calcular la similitud entre los elementos:

  • Semejanza basada en el coseno
  • Semejanza basada en la correlación
  • Semejanza ajustada del coseno
  • Distancia 1-Jaccard

2.Cálculo de la predicción:

  • Suma ponderada
  • Regresión

La diferencia entre UB-CF y este método es que, en este caso, precalculamos directamente la similitud entre los ítems co-calificados, saltándonos la búsqueda de vecindad K.

Slope One

Slope One forma parte de la familia del filtrado colaborativo basado en artículos, introducido en un artículo de 2005 por Daniel Lemire y Anna Maclachlan llamado Slope One Predictors for Online Rating-Based Collaborative Filtering.

La idea principal de este modelo es la siguiente:

Supongamos que tenemos dos usuarios diferentes: A y B. Además, tenemos el artículo I y el artículo J. El usuario A calificó el artículo I con 1 estrella y el artículo J con 1,5. Si el usuario B calificó el ítem I con un 2. Podemos hacer la suposición de que la diferencia entre ambos ítems será la misma que la del usuario A. Con esto en mente, el usuario B calificaría el ítem J como 2+ (1,5-1) = 2,5

Idea principal de Slope One

Los autores se centran en 5 objetivos:
1. Fácil de implementar y mantener.
2. Actualizable en línea: las nuevas valoraciones deben cambiar las predicciones rápidamente.
3. Eficiente en el momento de la consulta: el almacenamiento es el principal coste.
4. Funciona con poca retroalimentación del usuario.
5. Razonablemente preciso, dentro de ciertos rangos en los que una pequeña ganancia de precisión no supone un gran sacrificio de simplicidad y escalabilidad.

Recap

Vimos el filtrado colaborativo basado en el usuario y en el ítem. El primero se centra en rellenar una matriz usuario-artículo y recomendar en base a los usuarios más parecidos al usuario activo. Por otro lado, el IB-CF rellena una matriz Item-Item, y recomienda en base a ítems similares.

Es difícil explicar todos estos temas brevemente, pero entenderlos es el primer paso para profundizar en RecSys.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.