Filtrage basé sur le contenu

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.

Image d'une matrice montrant un utilisateur et des applications qui peuvent être recommandées

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:

Quelle application recommander ?
L'application éducative créée par Science R Us.
C'est la bonne réponse. Cet élément a le produit scalaire le plus élevé à l'adresse 2. Notre utilisatrice apprécie beaucoup les applications scientifiques et éducatives.
Application de santé créée par Healthcare.
Cette application a obtenu un score de 1. Ce n'est pas la pire recommandation que notre pourrait faire, mais ce n'est certainement pas le meilleur.
L'application informelle créée par TimeWastr.
Cette application a en fait le produit scalaire le plus bas à 0. Notre l'utilisateur n'est pas intéressé par les applications grand public comme les jeux.