Présentation de la génération de candidats

La génération de candidats constitue la première étape de la recommandation. À partir d'une requête, le système génère un ensemble de candidats pertinents. Le tableau suivant présente deux approches courantes pour générer des candidats:

TypeDéfinitionExemple
filtrage basé sur le contenu Utilise la similitude entre les éléments pour recommander des articles semblables à ceux que l'utilisateur aime. Si l'utilisateur A regarde deux vidéos de chats mignonnes, le système peut lui recommander des vidéos d'animaux mignons.
filtrage collaboratif Il utilise des similitudes entre les requêtes et les éléments pour fournir des recommandations. Si l'utilisateur A est semblable à l'utilisateur B et que l'utilisateur B aime la vidéo 1, le système peut recommander la vidéo 1 à l'utilisateur A (même si l'utilisateur A n'a vu aucune vidéo semblable à la vidéo 1).

Intégrer un espace

Les filtres collaboratifs et basés sur le contenu mappent chaque élément et chaque requête (ou contexte) à un vecteur de représentation vectorielle continue dans un espace de représentation vectorielle continue\(E = \mathbb R^d\). En règle générale, l'espace de représentation vectorielle est de faible dimension (c'est-à-dire \(d\) est beaucoup plus petit que la taille du corpus) et capture une certaine structure latente de l'élément ou de l'ensemble de requêtes. Les éléments similaires, tels que les vidéos YouTube généralement regardées par le même utilisateur, finissent par être proches l'un de l'autre dans l'espace de représentation vectorielle. La notion de "fermeté" est définie par une mesure de similarité.

Mesures de similarité

Une mesure de similarité est une fonction \(s : E \times E \to \mathbb R\) qui prend une paire de représentations vectorielles continues et renvoie une valeur scalaire mesurant leur similarité. Les représentations vectorielles continues peuvent être utilisées pour la génération de candidats comme suit: à partir d'une représentation vectorielle continue de requête \(q \in E\), le système recherche des représentations vectorielles continues d'articles\(x \in E\) semblables à \(q\), c'est-à-dire des représentations vectorielles continues à forte similarité \(s(q, x)\).

Pour déterminer le degré de similarité, la plupart des systèmes de recommandation s'appuient sur un ou plusieurs des critères suivants:

  • cosinus
  • produit .dot
  • Distance euclidienne

Cosinus

Il s'agit simplement du cosinus de l'angle entre les deux vecteurs, \(s(q, x) = \cos(q, x)\)

Produit point

Le produit scalaire de deux vecteurs est\(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\). Elle est également fournie par \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (le cosinus de l'angle multiplié par le produit des normes). Ainsi, si les représentations vectorielles continues sont normalisées, le produit à points et le cosinus coïncident.

Distance euclidienne

Il s'agit de la distance habituelle dans l'espace euclidien, \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Plus la distance est courte, plus la similitude est élevée. Notez que lorsque les représentations vectorielles continues sont normalisées, la distance euclidienne au carré coïncide avec le produit à points (et le cosinus) jusqu'à une constante, puisque dans ce cas \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).

Image représentant un espace de représentation vectorielle bidimensionnel contenant une représentation vectorielle continue de la requête et trois éléments candidats.

Comparer des mesures de similarité

Prenons l'exemple de la figure de droite. Le vecteur noir illustre la représentation vectorielle continue de la requête. Les trois autres vecteurs de représentation vectorielle continue (élément A, élément B et élément C) représentent les éléments candidats. Selon la mesure de similarité utilisée, le classement des éléments peut être différent.

À l'aide de l'image, essayez de déterminer le classement de l'article en utilisant les trois mesures de similarité suivantes: cosinus, produit scalaire et distance euclidienne.

Quelle mesure de similarité choisir ?

Par rapport au cosinus, la similarité de produits scalaires est sensible à la norme de représentation vectorielle continue. Autrement dit, plus la norme d'une représentation vectorielle continue est grande, plus la similitude est élevée (pour les éléments à angle aigu) et plus il est probable que l'élément soit recommandé. Cela peut affecter les recommandations comme suit:

  • Les éléments qui apparaissent très fréquemment dans l'ensemble d'entraînement (par exemple, des vidéos YouTube populaires) ont tendance à présenter des représentations vectorielles continues avec des normes élevées. Si vous souhaitez obtenir des informations sur la popularité, privilégiez l'utilisation de points. Toutefois, si vous n'êtes pas vigilant, les articles populaires risquent de finir par dominer les recommandations. En pratique, vous pouvez utiliser d'autres variantes de mesures de similarité qui mettent moins l'accent sur la norme de l'élément. Par exemple, définissez\(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) pour certains \(\alpha \in (0, 1)\).

  • Les éléments qui apparaissent très rarement peuvent ne pas être mis à jour fréquemment pendant l'entraînement. Par conséquent, s'ils sont initialisés avec une norme importante, le système peut recommander des éléments rares plutôt que des éléments plus pertinents. Pour éviter ce problème, faites attention à l'initialisation de l'intégration et utilisez une régularisation appropriée. Nous détaillerons ce problème dans le premier exercice.