La génération de candidats est la première étape de la recommandation. Pour chaque requête, génère un ensemble de candidats pertinents. Le tableau suivant présente deux approches courantes de génération de candidats:
Type | Définition | Exemple |
---|---|---|
Filtrage basé sur le contenu | Utilise une similitude entre les éléments pour recommander des éléments semblables à ceux que l'utilisateur apprécie. | Si l'utilisateur A regarde deux vidéos de chats mignons, le système peut lui recommander des vidéos d'animaux mignons. |
Filtrage collaboratif | Utilise les similitudes entre les requêtes et les éléments simultanément pour fournir des recommandations. | Si l'utilisateur A est semblable à l'utilisateur B et que l'utilisateur B aime la vidéo 1, alors le système peut recommander la vidéo 1 à l'utilisateur A (même si l'utilisateur A n'a pas vu des vidéos semblables à celles de la vidéo 1). |
Espace de représentation vectorielle continue
Le filtrage basé sur le contenu et le filtrage collaboratif 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\)Généralement, l'espace de représentation vectorielle est de faible dimension ( \(d\) est beaucoup plus petite que le corpus) et capture une structure latente de l'élément ou de l'ensemble de requêtes. Articles similaires, tels que YouTube les vidéos qui sont généralement regardées par le même utilisateur, se retrouvent les unes à côté des autres dans l'espace de représentation vectorielle continue. La notion de "proximité" 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 : représentation vectorielle continue de la requête \(q \in E\), le système recherche des représentations vectorielles continues d'éléments \(x \in E\) proches de \(q\), c'est-à-dire les représentations vectorielles continues à forte par une similitude \(s(q, x)\).
Pour déterminer le degré de similarité, la plupart des systèmes de recommandation s'appuient sur sur un ou plusieurs des éléments suivants:
- cosinus
- produit scalaire
- Distance euclidienne
Cosinus
Il s'agit simplement du cosinus de l'angle entre les deux vecteurs, \(s(q, x) = \cos(q, x)\)
Produit scalaire
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 donnée par \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (le cosinus du l'angle multiplié par le produit des normes). Ainsi, si les représentations vectorielles continues normalisé, puis produit scalaire et cosinus coïncident.
Distance euclidienne
Il s'agit de la distance habituelle en utilisant les données euclidiennes. l'espace de noms \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Une distance plus petite signifie une similarité plus élevée. Notez que lorsque les représentations vectorielles continues sont normalisées, la distance euclidienne au carré coïncide avec celle du produit scalaire (et le cosinus) à une constante, puisque dans ce case \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).
Comparer les mesures de similarité
Prenons l'exemple de la figure de droite. Le vecteur noir illustre l'intégration de requêtes. Les trois autres vecteurs de représentation vectorielle continue (élément A, élément B, élément C) représentent des éléments candidats. Selon la mesure de similarité utilisée, le classement des articles peut différer.
À l'aide de l'image, essayez de déterminer le classement de l'article en utilisant les trois mesures de similarité: cosinus, produit scalaire et distance euclidienne.
Quelle mesure de similarité ?
Par rapport au cosinus, la similarité des produits scalaires est sensible la norme de représentation vectorielle continue. Autrement dit, plus la norme d'un représentation vectorielle continue, plus la similarité est élevée (pour les éléments avec un angle aigu) et plus l'article est susceptible d'être recommandé. Cela peut affecter les recommandations suivantes:
Les éléments qui apparaissent très fréquemment dans l'ensemble d'entraînement (par exemple, les vidéos YouTube populaires) ont tendance à avoir des représentations vectorielles continues aux normes élevées. Si vous souhaitez recueillir des informations sur la popularité, je préfère le produit scalaire. Toutefois, si vous ne faites pas attention, éléments peuvent finir par prévaloir sur les recommandations. En pratique, vous peuvent utiliser d'autres variantes de mesures de similarité qui mettent moins l'accent sur la norme de l'article. Par exemple, définissez \(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) pour une partie \(\alpha \in (0, 1)\).
Les éléments qui apparaissent très rarement peuvent ne pas être mis à jour fréquemment pendant de machine learning. Par conséquent, s'ils sont initialisés avec une norme élevée, peut recommander des éléments rares plutôt que des articles plus pertinents. Pour éviter cela, faites attention à l'initialisation des éléments intégrés et utilisez des la régularisation. Nous détaillerons ce problème dans le premier exercice.