Pour pallier certaines limitations du filtrage basé sur le contenu, le filtrage collaboratif utilise les similitudes entre les utilisateurs éléments simultanément pour fournir des recommandations. Cela permet pour des recommandations au hasard. c'est-à-dire le filtrage collaboratif peuvent recommander un article à l'utilisateur A, sur la base des centres d'intérêt un utilisateur similaire B. De plus, les représentations vectorielles continues peuvent être apprises de manière automatisée, sans s'appuyer sur l'ingénierie manuelle des caractéristiques.
Exemple de recommandation de film
Prenons l'exemple d'un système de recommandation de films dans lequel les données d'entraînement sont constituées d'une matrice de rétroaction dans laquelle:
- Chaque ligne représente un utilisateur.
- Chaque colonne représente un élément (un film).
Les commentaires sur les films entrent dans l'une des deux catégories suivantes:
- Contenu explicite : les utilisateurs indiquent à quel point ils ont aimé un film. en attribuant une note chiffrée.
- Implicite : si un utilisateur regarde un film, le système en déduit que la qui intéresse l'utilisateur.
Pour simplifier, nous partirons du principe que la matrice de rétroaction est binaire ; c'est-à-dire une valeur de 1 indique un intérêt pour le film.
Lorsqu'un utilisateur visite la page d'accueil, le système doit recommander des films en fonction des facteurs suivants:
- Des similitudes avec des films que l'utilisateur a aimés par le passé
- films aimés par des utilisateurs similaires
À des fins d'illustration, nous allons dessiner à la main quelques caractéristiques pour les films. décrits dans le tableau suivant:
Film | Note | Description |
---|---|---|
The Dark Knight Rises | PG-13 | Batman tente de sauver Gotham City de l'élimination nucléaire dans cette suite de The Dark Knight, se déroulant dans le centre de données L'univers de la bande dessinée. |
Harry Potter à l'école des sorciers | PG | Un orphelin découvre qu'il est sorcier et s'inscrit à École de Poudlard Sorcellerie et sorcellerie, où il mène sa première bataille le méchant Voldemort. |
Shrek | PG | Un adorable ogre et son compagnon âne partent en mission pour sauver la princesse Fiona, est emprisonnée dans son château par un dragon. |
Les Triplettes de Belleville | PG-13 | Lorsque Champion, un cycliste professionnel, est enlevé pendant le Tour de France, sa grand-mère et son chien en surpoids à l'étranger pour le sauver, avec l'aide d'un trio de vieux chanteurs de jazz. |
Mémo | R | Un amnésique cherche à résoudre le meurtre de sa femme en tatouant des indices sur son corps. |
Représentation vectorielle continue 1D
Supposons que nous attribuions à chaque film une valeur scalaire dans \([-1, 1]\) qui décrit si le film est destiné aux enfants (valeurs négatives) ou aux adultes (valeurs positives). Supposons que nous attribuions également une valeur scalaire à chaque utilisateur dans \([-1, 1]\) qui décrit l'intérêt de l'utilisateur pour les films pour enfants (plus proche de -1) ou pour les adultes ; films (plus proche de +1). Produit de la représentation vectorielle continue du film et utilisateur la représentation vectorielle continue doit être plus élevée (plus proche de 1) pour les films auxquels l'utilisateur à aimer.
Dans le diagramme ci-dessous, chaque coche identifie un film pour lequel une regardée par l'utilisateur. Les troisième et quatrième utilisateurs ont des préférences qui sont bien expliquée par cette fonctionnalité : le troisième utilisateur préfère les films pour enfants. et le quatrième utilisateur préfère les films pour adultes. Cependant, la première et la deuxième des utilisateurs préférences ne sont pas bien expliquées par cette seule fonctionnalité.
Représentation vectorielle continue 2D
Une fonctionnalité ne suffisait pas à expliquer les préférences de tous les utilisateurs. Pour surmonter ce problème, ajoutons une deuxième caractéristique: le degré de satisfaction de chaque film un blockbuster ou un film d'art et d'essai. Une deuxième caractéristique permet de représenter chaque film avec la représentation vectorielle continue à deux dimensions suivante:
Nous plaçons à nouveau nos utilisateurs dans le même espace de représentation vectorielle continue pour mieux expliquer la matrice de commentaires: pour chaque paire (utilisateur, élément), nous aimerions que le produit scalaire de la représentation vectorielle continue de l'utilisateur et celui de l'élément à 1 lorsque l'utilisateur a regardé le film, et à 0 dans le cas contraire.
Dans cet exemple, nous avons conçu les représentations vectorielles continues à la main. En pratique, les représentations vectorielles continues peuvent s'apprendre automatiquement, grâce à la puissance du filtrage collaboratif ; des modèles de ML. Dans les deux sections suivantes, nous verrons les différents modèles de ces représentations vectorielles continues et comment les entraîner.
La nature collaborative de cette approche apparaît lorsque le modèle apprend représentations vectorielles continues. Supposons que les vecteurs de représentation vectorielle continue des films soient fixes. Ensuite, le modèle peut apprendre un vecteur de représentation vectorielle continue pour que les utilisateurs l'expliquent au mieux leurs préférences. Par conséquent, les représentations vectorielles continues d'utilisateurs ayant des préférences similaires seront proches les uns des autres. De même, si les représentations vectorielles continues des utilisateurs sont fixes, nous pouvons apprendre les représentations vectorielles continues de films pour mieux expliquer la matrice de rétroaction. Par conséquent, les représentations vectorielles continues de films aimés par des utilisateurs similaires seront proches dans l’espace de représentation vectorielle.