Systèmes de recommandation – Filtrage collaboratif basé sur l’utilisateur et sur les éléments

C’est la partie 2 de ma série sur les systèmes de recommandation. Le dernier billet était une introduction à RecSys. Aujourd’hui, je vais expliquer plus en détail trois types de filtrage collaboratif : Le filtrage collaboratif basé sur l’utilisateur (UB-CF) et le filtrage collaboratif basé sur les éléments (IB-CF).

Commençons.

Imaginez que nous voulons recommander un film à notre ami Stanley. Nous pourrions supposer que des personnes similaires auront des goûts similaires. Supposons que Stanley et moi ayons vu les mêmes films, et que nous les ayons tous notés de manière presque identique. Mais Stanley n’a pas vu « Le Parrain : Part II » et moi oui. Si j’aime ce film, il est logique de penser qu’il l’aimera aussi. Avec cela, nous avons créé une évaluation artificielle basée sur notre similarité.

Bien, UB-CF utilise cette logique et recommande des éléments en trouvant des utilisateurs similaires à l’utilisateur actif (à qui nous essayons de recommander un film). Une application spécifique de ceci est l’algorithme du plus proche voisin basé sur l’utilisateur. Cet algorithme nécessite deux tâches :

1.Trouver les K voisins les plus proches (KNN) de l’utilisateur a, en utilisant une fonction de similarité w pour mesurer la distance entre chaque paire d’utilisateurs :

2.Prédire la note que l’utilisateur a donnera à tous les articles que les k voisins ont consommés mais que a n’a pas consommés. Nous cherchons l’article j avec la meilleure note prédite.

En d’autres termes, nous créons une matrice utilisateur-article, en prédisant les notes sur les articles que l’utilisateur actif n’a pas vu, en fonction des autres utilisateurs similaires. Cette technique est basée sur la mémoire.

Remplir les blancs

PROS:

  • Facile à mettre en œuvre.
  • Indépendante du contexte.
  • Par rapport à d’autres techniques, comme celle basée sur le contenu, elle est plus précise.

CONS:

  • Sparsité : Le pourcentage de personnes qui évaluent les articles est vraiment faible.
  • Scalabilité : Plus on considère de K voisins (sous un certain seuil), plus ma classification devrait être bonne. Néanmoins, plus il y a d’utilisateurs dans le système, plus le coût de la recherche des K voisins les plus proches sera élevé.
  • Départ difficile : Les nouveaux utilisateurs n’auront pas ou peu d’informations sur eux pour être comparés aux autres utilisateurs.
  • Nouvel élément : Tout comme le dernier point, les nouveaux éléments manqueront d’évaluations pour créer un classement solide (Plus de ceci sur ‘Comment trier et classer les éléments’).

Filtrage collaboratif basé sur les éléments (IB-CF)

Retour à Stanley. Au lieu de se concentrer sur ses amis, nous pourrions nous concentrer sur les éléments parmi toutes les options qui sont plus similaires à ce que nous savons qu’il aime. Cette nouvelle focalisation est connue sous le nom de filtrage collaboratif basé sur les éléments (IB-CF).

Nous pourrions diviser l’IB-CF en deux sous tâches :

1.Calcul de la similarité entre les éléments:

  • Similarité basée sur le cosinus
  • Similarité basée sur la corrélation
  • Similarité cosinus ajustée
  • Distance 1-Jaccard

2.Calcul de la prédiction:

  • Somme pondérée
  • Régression

La différence entre UB-CF et cette méthode est que, dans ce cas, nous pré-calculons directement la similarité entre les éléments cotés, en sautant la recherche de K-voisinage.

Slope One

Slope One fait partie de la famille du filtrage collaboratif basé sur les éléments, introduite dans un article de 2005 de Daniel Lemire et Anna Maclachlan intitulé Slope One Predictors for Online Rating-Based Collaborative Filtering.

L’idée principale de ce modèle est la suivante :

Supposons que nous avons deux utilisateurs différents : A et B. De plus, nous avons l’article I et l’article J. L’utilisateur A a noté l’article I avec 1 étoile et l’article J avec 1,5. Si l’utilisateur B a noté l’article I avec un 2. Nous pouvons faire l’hypothèse que la différence entre les deux articles sera la même que celle de l’utilisateur A. Dans cette optique, l’utilisateur B noterait l’article J comme : 2+ (1,5-1) = 2,5

Idée principale de Slope One

Les auteurs se concentrent sur 5 objectifs:
1. Facile à mettre en œuvre et à maintenir.
2. Actualisable en ligne : les nouvelles notations doivent modifier les prédictions rapidement.
3. Efficace au moment de la consultation : le stockage est le principal coût.
4. Il fonctionne avec peu de commentaires des utilisateurs.
5. Raisonnablement précis, dans certaines fourchettes dans lesquelles un petit gain de précision ne signifie pas un grand sacrifice de simplicité et d’évolutivité.

Recap

Nous avons vu le filtrage collaboratif basé sur l’utilisateur et le filtrage collaboratif basé sur les éléments. Le premier a pour objectif de remplir une matrice utilisateur-élément et de recommander en fonction des utilisateurs plus similaires à l’utilisateur actif. D’autre part, IB-CF remplit une matrice Item-Item, et recommande en fonction des éléments similaires.

Il est difficile d’expliquer brièvement tous ces sujets, mais les comprendre est la première étape pour approfondir RecSys.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.