Filtrage basé sur le contenu

Le filtrage basé sur le contenu utilise des fonctionnalités d'article pour recommander d'autres articles semblables à ce que l'utilisateur aime, en fonction de ses actions précédentes ou de commentaires explicites.

Pour illustrer le filtrage basé sur le contenu, nous allons développer manuellement des fonctionnalités pour le Google Play Store. La figure suivante illustre une matrice de caractéristiques dans laquelle chaque ligne représente une application et chaque colonne représente une caractéristique. Les fonctionnalités peuvent inclure des catégories (par exemple, "Éducation", "Détente" 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 caractéristique.

Vous représentez également l'utilisateur dans le même espace de fonctionnalité. Certaines des fonctionnalités liées aux utilisateurs peuvent être explicitement fournies par l'utilisateur. Par exemple, un utilisateur sélectionne "Applications de divertissement" dans son profil. D'autres fonctionnalités peuvent être implicites, en fonction des applications qu'elles ont déjà installées. Par exemple, l'utilisateur a installé une autre application publiée par Science R Us.

Le modèle doit recommander des articles pertinents pour cet utilisateur. Pour ce faire, vous devez d'abord choisir une métrique de similarité (par exemple, produit scalaire). Vous devez ensuite configurer le système pour attribuer une note à chaque élément candidat en fonction de cette métrique de similarité. 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 pourraient être recommandées

Utiliser Dot Product comme mesure de similarité

Prenons l'exemple de la représentation vectorielle continue de l'utilisateur \(x\) et de la représentation vectorielle continue de l'application \(y\) qui sont des vecteurs binaires. Depuis le\(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\), une caractéristique qui apparaît à la fois dans \(x\) et dans \(y\) contribue à la somme de 1. En d'autres termes, \(\langle x, y \rangle\) est le nombre d'éléments actifs dans les deux vecteurs simultanément. Un produit à point élevé indique ensuite des caractéristiques plus courantes, donc une similarité plus élevée.

Essayez !

Calculez le produit scalaire pour chaque application du problème 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 article possède le produit dont le point est le plus élevé (2). Notre utilisateur adore les applications scientifiques et éducatives.
L'application de santé créée par Healthcare.
L'application obtient une note de 1. Ce n'est pas la pire recommandation de notre système, mais ce n'est certainement pas la meilleure.
Application de style décontracté créée par TimeWastr.
Cette application présente le produit en point le plus bas à 0. Notre utilisateur ne s'intéresse pas aux applications grand public comme les jeux.