Filtrado basado en el contenido

El filtrado basado en el contenido usa funciones para recomendar otros elementos de forma similar a lo que le gusta al usuario en función de sus acciones anteriores o comentarios explícitos.

Para demostrar el filtrado basado en el contenido, vamos a diseñar algunas funciones para Google Play Store. En la siguiente figura, se muestra una matriz de atributos en la que cada fila representa una app y cada columna representa un atributo. Las funciones pueden incluir categorías (como Educación, Informal, Salud), el publicador de la app y muchas otras. Para simplificar, supongamos que esta matriz de funciones es binaria: un valor distinto de cero significa que la app tiene esa función.

También representas al usuario en el mismo espacio de características. El usuario puede proporcionar de forma explícita algunas de las funciones relacionadas con el usuario. Por ejemplo, un usuario selecciona "Apps de entretenimiento" en su perfil. Otras funciones pueden ser implícitas, según las apps que hayan instalado anteriormente. Por ejemplo, el usuario instaló otra app publicada por Science R Us.

El modelo debe recomendar elementos relevantes para este usuario. Para hacerlo, primero debes elegir una métrica de similitud (por ejemplo, producto de punto). Luego, debes configurar el sistema para que califique cada elemento candidato según esta métrica de similitud. Ten en cuenta que las recomendaciones son específicas para este usuario, ya que el modelo no usó información sobre otros usuarios.

Imagen de una matriz que muestra un usuario y aplicaciones que se pueden recomendar

Cómo usar el producto Punto como medida de similitud

Considera el caso en el que la incorporación del usuario \(x\) y la incorporación de la app \(y\) son vectores binarios. Desde\(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\), un atributo que aparece en \(x\) y \(y\) contribuye con un 1 a la suma. En otras palabras, \(\langle x, y \rangle\) es la cantidad de atributos que están activos en ambos vectores de manera simultánea. Luego, un producto de puntos altos indica más características comunes, por lo tanto, una mayor similitud.

¡Pruébalo tú mismo!

Calcula el producto escalar para cada app en el problema de la app anterior. Luego, usa esa información para responder la siguiente pregunta:

¿Qué aplicación deberíamos recomendarle?
La app educativa que creó Science R Us.
Estás en lo cierto. Este elemento tiene el producto escalar más alto en 2. A nuestros usuarios les gustan mucho las apps educativas y de ciencia.
La app de salud creada por Healthcare.
Esta app tiene una puntuación de 1. No es la peor recomendación que nuestro sistema podría hacer, pero ciertamente no es la mejor.
La app informal creada por TimeWastr.
En realidad, esta app tiene el punto más bajo en 0. A nuestro usuario no le interesan las apps informales, como los juegos.