Le filtrage basé sur le contenu utilise les fonctionnalités des éléments pour recommander d'autres éléments similaires à ce que l'utilisateur aime, en fonction de ses actions précédentes ou commentaires.
Pour illustrer le filtrage basé sur le contenu, nous allons concevoir manuellement sur le Google Play Store. La figure suivante illustre une matrice de caractéristiques où chaque ligne représente une application et chaque colonne représente une fonctionnalité. Fonctionnalités (par exemple, "Éducation", "Grand public" ou "Santé"), l'éditeur de l'application, et bien d'autres. Pour simplifier, supposons que cette matrice de caractéristiques est binaire: une valeur non nulle signifie que l'application dispose de cette fonctionnalité.
Vous représentez également l'utilisateur dans le même espace de caractéristiques. Certains aspects liés à l'utilisateur les caractéristiques pourraient être explicitement fournies par l'utilisateur. Par exemple, un utilisateur sélectionne "Applications de divertissement" dans leur profil. D'autres fonctionnalités peuvent être implicites, en fonction des applications qu'ils ont déjà installées. Par exemple, l'utilisateur installé une autre application publiée par Science R Us.
Le modèle doit lui recommander des articles pertinents pour cet utilisateur. Pour ce faire, vous devez commencez par choisir une métrique de similarité (par exemple, produit scalaire). Vous devez ensuite configurer le système pour évaluer chaque élément candidat en fonction de cette similarité la métrique. Notez que les recommandations sont spécifiques à cet utilisateur, car le modèle n'a utilisé aucune information sur les autres utilisateurs.
Utiliser le produit scalaire comme mesure de similarité
Imaginons que l'intégration de l'utilisateur \(x\) et l'application représentation vectorielle continue \(y\) sont deux vecteurs binaires. Depuis \(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\), un caractéristique qui apparaît à la fois dans \(x\) et \(y\) contribue un 1 à la somme. En d'autres termes, \(\langle x, y \rangle\) est le nombre de caractéristiques actives dans les deux vecteurs simultanément. Une forte le produit scalaire indique alors des caractéristiques plus communes, et donc une similarité plus élevée.
Essayez par vous-même !
Calculez le produit scalaire pour chaque application dans le problème d'application précédent. Utilisez ensuite ces informations pour répondre à la question ci-dessous: