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.
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: