Dropbox Utilisent Des Algorithmes De Recommandation
Dossier de Mathieu dans fifty'épisode #83.
Il existe descentaines d'algorithmes qui ont été utilisés cascade fifty'implémentation de systèmes de recommandation. La plupart relève de concepts mathématiques avancés. Dans ce dossier, on va tenter d'analyser différentes approches et stratégies utilisées lors de la mise en place d'un système de recommandation.
Wikipedia définit united nationssystème de recommandation comme une forme spécifique de filtrage de l'data visant à présenter les éléments d'information (films, musique, livres, news, images, pages Spider web, etc) qui sont susceptibles d'intéresser l'utilisateur.
Dit autrement, un système de recommandation cherche à prédire la valorisation ou préférence qu'united nations utilisateur attribuerait à un objet (livre, musique, movie…) ou à un élément social (personne, groupe, communauté) qu'il n'avait pas encore considéré.
Un système de recommandation requiert généralement iii étapes:
- La première consiste à recueillir de l'data sur l'utilisateur.
- La deuxième consiste à bâtir une matrice ou un modèle utilisateur contenant l'information recueillie.
- La troisième consiste à extraire à partir de cette matrice une liste de recommandations.
Collecte d'Information
Cascade être pertinent, united nations système de recommandation doit pouvoir faire des prédictions sur les intérêts des utilisateurs. Il faut donc pouvoir collecter un sure nombre de données sur ceux-ci afin d'être capable de construire unprofil pour chaque utilisateur.
Une distinction peut être faite entre two formes de collecte de données:
- Collecte de données explicite – Filtrage actif: repose sur le fait que l'utilisateur indique explicitement au système ses intérêts.
- Exemple: demander à un utilisateur de commenter, taguer/étiqueter, noter, liker ou encore ajouter comme favoris des contenus (objets, articles…) qui l'intéressent. On utilize souvent une échelle de ratings allant de 1 étoile (je northward'aime pas du tout) à five étoiles (j'aime beaucoup) qui sont ensuite transformées en valeurs numériques afin de pouvoir être utilisées par les algorithmes de recommandation.
- Avantage: capacité à reconstruire l'historique d'un individu et capacité à éviter d'agréger une information qui ne correspond pas à cet unique utilisateur (plusieurs personnes sur un même poste).
- Inconvénient: les informations recueillies peuvent contenir united nations biais dit de déclaration.
- Collecte de données implicite – Filtrage passif: repose sur une ascertainment et une analyse des comportements de l'utilisateur effectuées de façon implicite dans l'application qui embarque le système de recommandation, le tout se fait en "arrière-plan" (en gros sans rien demander à 50'utilisateur).
- Exemples:
- Obtenir la liste des éléments que l'utilisateur a écoutés, regardés ou achetés en ligne.
- Analyser la fréquence de consultation d'un contenu par un utilisateur, le temps passé sur une page.
- Monitorer le comportement en ligne de l'utilisateur.
- Analyser son réseau social.
- Avantage: Aucune information n'est demandée aux utilisateurs, toutes les informations sont collectées automatiquement. Les données récupérées sont a priori justes et ne contiennent pas de biais de déclaration.
- Inconvénient: Les données récupérées sont plus difficilement attribuables à united nations utilisateur et peuvent donc contenir desbiais d'attribution(utilisation commune d'united nations même compte par plusieurs utilisateurs). Un utilisateur peut ne pas aimer certains livres qu'il a acheté, ou il peut 50'avoir acheté cascade quelqu'un d'autre.
- Exemples:
Modèle Utilisateur
Le modèle utilisateur se présente généralement sous forme de matrice. On peut se le représenter comme un tableau qui contient des données recueillies sur l'utilisateur associées aux produits disponibles sur le site web.
United nations autre point important est annotate le temps influence le profil de l'utilisateur. Les intérêts des utilisateurs, généralement, évoluent au cours du temps. Les données du modèle utilisateurs devraient donc constamment être réajustées pour rester conformes aux nouveaux centre d'intérêts de l'utilisateur.
Liste de recommandations
Pour extraire une liste de suggestions à partir d'un modèle utilisateur, les algorithmes utilisent la notion de mesure de similarité entre objets ou personnes décrits par le modèle utilisateur. La similarité a pour but de donner une valeur ou united nations nombre (au sens mathématique du terme) à la ressemblance entre 2 choses. Plus la ressemblance est forte, plus la valeur de la similarité sera grande. A l'inverse, plus la ressemblance est faible, et plus la valeur de la similarité sera petite. On verra plus tard dans le dossier quelques exemples.
Types de système de recommandation
On a fifty'habitude de présenter four approches possibles pour united nations système de recommandation:
- Recommandation Personnalisée
- Recommandation Objet (Content-Based filtering CB)
- Recommandation Sociale(Collaborative Filtering CF – Context Aware)
- Recommandation Hybride
Recommandation Personnalisée
Il s'agit de recommander des objets sur la base du comportement passé de l'utilisateur.
Exemples:
- Des produits achetés ou sélectionnés sur united nations site de east-commerce, ainsi qu'un certain nombre d'deportment ou décisions effectuées par l'utilisateur qui permettent de prédire de nouveaux produits susceptibles de 50'intéresser.
- Les annonces publicitaires (par ex. Adsense de Google) sont considérées comme des systèmes de recommandation personnalisée qui se basent sur le comportement passé de 50'utilisateur (navigation, clics, historique de recherche…)
Recommandation Objet
Il s'agit de recommander des objets (ou contenus) en se basant surles qualités et propriétés intrinsèques de fifty'objet lui-même et en les corrélant avec les préférences et intérêts de 50'utilisateur.Ce type de système va donc extraire un certain nombre de caractéristiques et attributs propres à un contenu, afin de pouvoir recommander à l'utilisateur des contenus additionnels possédant des propriétés similaires. Cette méthode crée un profil pour chaque objet ou contenu, c'est-à-dire un ensemble d'attributs/propriétés qui caractérisent l'objet.
Exemples:
- La décision de sélection et recommandation ou non d'un document à un utilisateur peut se baser sur le contenu (les mots présents) dans celui-ci, c'est-à-dire sur une comparaison des thèmes abordés dans le document par rapport aux thèmes qui intéressent l'utilisateur.
- Pour décider la suggestion d'un article (news) ou non, un système de recommandation peut se baser sur les mot-clés principaux de 50'article et les comparer avec les mot-clés apparaissant dans d'autres articles que l'utilisateur a évalués positivement dans le passé.
- Dans le cas d'un site de vente de livre en ligne, on va se baser sur les caractéristiques du livre pour effectuer des recommandations, comme par exemple le sujet que traite l'ouvrage, son genre, son auteur, l'éditeur, etc. On pourrait ainsi recommander le livre Harry Potter à un utilisateur, si on sait d'une part que ce livre est un roman fantastique et d'autre part que 50'utilisateur aime les romans fantastiques. Un système de recommandation pourra donc accomplir cette tâche seulement s'il a à disposition 2 types d'information: i) la clarification des caractéristiques du livre et 2) un profil utilisateur qui décrit les intérêts (passés) de celui-ci en termes de préférence de type de livre. La tâche de recommandation consiste donc à déterminer les livres qui correspondent le mieux aux préférences de l'utilisateur.
Profil des livres
Profil/Préférences Utilisateur
Lesalgorithmes de recommandation objet permettent de développer des modèles afin de trouver des patterns ou motifs semblables entre différentes données. Ils évaluent à quel point united nations contenu pas encore vu par fifty'utilisateur est similaire aux contenus que celui-ci a évalués positivement dans le passé. Pour ce faire, on utilise la notion de similarité qui peut être mesurée de plusieurs manières:
- Le système peut tout simplement vérifier si le livre se trouve dans la liste des genres préférés de l'utilisateur. Dans ce cas la similarité sera de 0 ou 1 (binaire/boolean).
- Une autre façon serait de ne pas se baser sur le genre du livre, mais sur les mot-clés qui caractérisent l'ouvrage, et calculer la similarité de chevauchement entre les mots-clés du livre qui va éventuellement être suggéré avec les mots-clés préférés de l'utilisateur. United nations des indicateurs de mesure de similarité qu'on apply dans le cas d'united nations objet avec des propriétés multi-valeurs (cas des mot-clés) est le coefficient de Dice. Si chaque livre est décrit par united nations ensemble de mot-clés, le coefficient de Dice permet de mesurer le degré de similarité entre 2 livres à partir de leurs mot-clés.
Dans le cas de documents de texte, on peut également imaginer que le contenu de chaque document soit décrit à partir d'une liste de tous les mots apparaissant dans le document, et décrire chaque certificate par united nations vecteur de valeurs binaires/booléennes, où un 1 indiquerait que le mot apparaît dans le document et un 0 indiquerait que le mot n'apparaît pas dans le document. Si le profil utilisateur est décrit par une liste similaire (un 1 indique united nations intérêt pour un mot-clé), on peut facilement associer et proposer des documents en mesurant le chevauchement entre les mot-clés qui intéressent l'utilisateur et les mots contenus dans le document. Le problème qui surgit avec une telle approche est qu'on assume que chaque mot a la même importance au sein d'united nations certificate. Orun mot qui apparaît très souvent ne caractérise pas forcément mieux un document. En plus, united nations plus large chevauchement entre les préférences de fifty'utilisateur et united nations document apparaîtera naturellement plus le certificate est long. En conséquence, le système de recommandation tendera à proposer des longs documents. Pour résoudre ces problèmes, on applique des techniques qui permettent de réduire le poids des mots qui apparaissent très souvent et d'augmenter le poids de ceux qui apparaissent plus rarement. Pour rendre encore plus compacte la liste des mots présents dans un document, on peut aussi quitter un certain nombre de mots qui sont sans intérêt, comme les prépositions, les manufactures… En normalisant aussi différentes variantes d'un même mot, par exemple les verbes conjugués sont remplacés par leur infinitif (volait par voler). On peut aussi décider de limiter la liste aux n mots les plus pertinents apparaissant dans les documents. Différents travaux ont montrés que le nombre optimum de mots à prendre en compte se trouve aux alentours de 100. Si trop peu de mots sont sélectionnées (moins de 50), on voit que d'importantes caractéristiques d'un document ne sont pas couvertes. Et si trop de mots sont inclus, certains ont peu d'importance et apportent plus de bruit qu'autre chose, ce qui réduit la qualité de la recommandation. On employ aussi des base de connaissances lexicales externes pour éliminer des mots non pertinents.
De façon générale, les algorithmes de recommandation objet assignent un poids plus ou moins élevé aux attributs d'un contenu selon fifty'importance de ceux-ci. Le poids exprime donc l'importance de chaque attribut cascade un utilisateur.
Un autre algorithme de recommandation objet couramment utilisé est la méthode de retour de pertinence de Rocchio (Rocchio'due south relevance feedback) ou classification de Rocchio. 50'idée de cette méthode est de prendre en compte le point de vue des utilisateurs sur les recommandations proposées. Le principe, simple, repose sur le fait que fifty'utilisateur est le seul à savoir exactement ce qu'il recherche et apprécie, il est donc le plus à même de juger de la pertinence des suggestions retournées par un système de recommandation. Partant de cette idée, les systèmes exploitant le retour de pertinence permettent de récupérer ces « jugements » utilisateurs et les exploitent cascade améliorer et affiner les recommandations. Techniquement, 50'idée est dans un premier temps de décomposer les contenus évalués par 50'utilisateur en 2 groupes (vecteurs, clusters) D+ (contenus évalués positivement et pertinents) et D- (contenus évalués négativement et non pertinents). Par un procédé mathématique on calcule une moyenne (prototype) qui permet de déterminer le heart (centroid) de chacun des two groupes (vecteurs) D+ et D-. Lorsqu'un nouvelle requête est effectuée par 50'utilisateur, les résultats à recommander sont pondérés en fonction des ii groupes D+ et D-. C'est-à-dire, on ajoute au résutats de la requête la liste D+ et on soustrait (retire) la liste D-, le tout de façon pondérée. L'effet obtenu est que les résultats retournés se rapprochent à chaque itération un peu plus du centre (centroid) de la liste D+ des contenus évalués positivement par fifty'utilisateur. Avec cette technique, on voit qu'il est possible d'affiner la requête initiale des utilisateurs au fur et à mesure que ceux-ci fournissent des jugements de pertinence sur des documents consultés. Le système de recommandation est donc doté d'une boucle de retour qui permet au même système de reformuler des recommandations plus pertinente en favorisant ou écartant certains contenus.
Avantages et inconvénients
Avantage: ce type de recommandation objet north'a pas besoin d'une big communauté d'utilisateurs pour pouvoir effectuer des recommandations. Une liste de recommandations peut être générée même s'il n'y a qu'united nations seul utilisateur.
Inconvénients: certains attributs peuvent être extraits automatiquement d'un contenu, comme par exemple pour united nations document de texte, on peut relativement facilement déduire certaines propriétés sémantiques automatiquement. On voit aussi qu'en pratique, des caractéristiques et propriétés comme le genre d'united nations livre ou la liste des acteurs dans un film, sont généralement fournis pas les créateurs du livre ou du film et sont généralement offerts sous forme électronique. Ce qui reste plus problématique, c'est l'acquisition de caractéristiques subjectives et qualitatives… Des propriétés, comme par exemple le style, le design… peuvent difficilement être acquises automatiquement, et devront plutôt être introduites manuellement avec tout ce que ça implique, comme le coût, les éventuelles erreurs…
Recommandation Sociale
Recommander des choses sur la base du comportement passé des utilisateurs similaires, en effectuant une corrélation entre des utilisateurs ayant des préférences et intérêts similaires. On apply des méthodes qui collectent et analysent des données sur le comportement, les activités, les préférences des utilisateurs et des algorithmes tentent de prédire ce que fifty'utilisateur aimera en cherchant des utilisateurs qui ont les mêmes comportements que fifty'utilisateur à qui 50'on souhaite faire des recommandations. L'idée sous-jacente est de dire que si un personne A a la même stance (ou les même goûts) qu'une personne B sur un objetx, alors la personne A a plus de chance d'avoir la même opinion que B sur united nations autre objety, plutôt que d'avoir la même stance que quelqu'un choisi au hasard pour 50'objety. L'idée de base est donc de dire que si des utilisateurs ont partagés des mêmes intérêts dans le passé, il y a de fortes chances qu'ils partagent aussi les mêmes goûts dans le futur.
Les techniques de recommandation sociale (filtrage collaboratif) sont classées en two sous-types:
- memory-based
- model-based
User-based nearest neighbor (user-centric / retentivity-based)
Lesalgorithmes de recommandation sociale utilisent généralement différentes variantes d'united nationsmécanisme basé sur le voisinageproche (user-based nearest neighborhood approach). Dans cette approche, un nombre d'utilisateurs (peer users / nearest neighbors / plus proches voisins) est identifié et sélectionné sur la base of operations de la similarité de leurs intérêts et préférences avec l'utilisateur actif. On utilise alors principalement les ratings (par ex: films) de ces utilisateurs "voisins" pour calculer des similarités avec 50'utilisateur actif. Pour chaque produit p que l'utilisateur n'a pas encore vu, une prédicition est faite en se basant sur les ratings de p assignés par le panel d'utilisateurs voisins. Cette méthode suppose 2 conditions initiales (inconvénients):
- On presume que si des utilisateurs ont eu des goûts similaires dans le passé, ils auront aussi des goûts similaires dans le futur.
- Les préférences des utilisateurs restent stables et cohérentes dans le temps.
Pour bien comprendre, on peut imaginer untableau ou matrice de ratings de films, avec sur un axe les utilisateurs et sur un autre les films. Chaque cellule de la matrice contient le rating donné par un utilisateur pour un picture. United nations signe "+" indique que l'utilisateur a aimé le movie, un signe "-" qu'il ne fifty'a pas aimé, pas de signe signifie qu'il n'a pas d'avis particulier sur ce film. Cascade pouvoir prédire si Ken apprécierait le film "Fargo" et éventuellement lui recommander ce motion-picture show, on compare les ratings de Ken à ceux des autres utilisateurs sélectionnés. On peut alors voir que Ken et Mike ont des ratings identiques, et que Mike a aimé le film Fargo, on pourrait alors prédire que Ken aimera aussi ce film et lui faire cette suggestion (user-axial).
Au lieu de se baser uniquement sur l'utilisateur le plus semblable, la prédiction est normalement calculée à partir de lamoyenne pondérée des ratings de plusieurs utilisateurs. Le poids donné au rating de chaque utilisateur est déterminé par le degré de corrélation entre cet utilisateur et l'utlisateur pour qui on désire faire la recommandation. Pour mesurer le degré de corrélation entre 2 utilisateurs, on fait appel généralement aucoefficient de corrélation de Pearsonr . D'autres indicateurs de mesure de la similarité ou proximité entre utilisateurs sont aussi utilisés comme la corrélation de Ringo, ou le coefficient de corrélation de Spearman. Le coefficient de corrélation de Pearson se calcule à partir des valeurs présentes dans la matrice et peut prendre une valeur allant de +1 (forte corrélation positive) à -1 (forte corrélation négative). Par exemple, un coefficient de corrélation 0.seventy entre 2 utilisateurs indiquerait une bonne similarité de leurs intérêts. On introduit aussi souvent dans le calcul de la mesure de Pearson un facteur de pondération afin de prendre en compte et pondérer le fait que certains utilisateurs ont toujours tendance à donner seulement de bons ratings, ou que d'autres ne vont jamais donné le rating maximum à united nations produit.
Les systèmes de recommandation doivent généralement aussi gérer united nations grand nombre d'utilisateurs. Faire des recommandations à partir des ratings de millions d'utilisateurs peut avoir de sérieuses implications en termes de functioning.Ainsi, qua
nd le nombre d'utilisateurs atteint united nations certain seuil, une sélection des "meilleurs" voisins doit être faite. Cascade déterminer quels sont les voisins les plus pertinents à sélectionner, on employ généralement l'algorithme duyard-nearest neighbour (k-NN) qui permet de sélectionner seulement lesthou meilleurs voisins ayant la plus haute valeur de corrélation. Une autre approche (correlation-thresholding) serait de sélectionner seulement les voisins possédant une corrélation plus grande qu'un certain seuil. Le problème dans ces deux approches réside dans le fait de sélectionner le bon nombre k d'utilisateurs voisins à prendre en compte ou de déterminer la bonne valeur du seuil de corrélation. Si le nombre thou est trop petit ou si le seuil de similarité est trop élevé, le nombre d'utilisateurs voisins pris en compte sera trop réduit pour effectuer une bonne prédiction (problème du reduced coverage/couverture réduite). Dans le cas contraire, lorsque que k est trop élevé ou que le seuil est trop faible, l'ensemble du console de voisins est trop large (trop d'utilisateurs avec un degré de similarité limité), ce qui amène du bruit additionnel dans les prédictions. Plusieurs travaux et situations réelles ont montré qu'un panel composé de twenty à 50 voisins donne de bons résultats.
On n'est pas non plus limités aux ratings ou like/dislike, on peut aussi se baser sur des données plus implicites en observant le comportement de l'utilisateur sur le site, par opposition à la récolte de données explicite comme l'est le rating . On peut observer par exemple quelle musique il a écouté, quel article il a lu, et on croise ses infos avec celles du reste des utilisateurs afin de lui proposer de nouvelles suggestions.
La recommandation sociale user-centric a cependant ses limites. Lorsqu'il s'agit d'un gros site qui gère des millions d'utilisateurs et un catalogue de milliers de produits, il faut scanner un grand nombre de voisins potentiels, ce qui rend incommunicable la recommandation en temps réel. Pour palier ce problème, les gros sites implémentent souvent une technique différente plus apte au traitement préalable des données hors-ligne (offline preprocessing), la recommandation sociale detail-axial (à ne pas confondre avec la recommandation objet).
Particular-based nearest neighbor (item-centric / model-based)
Cette autre approche, appelée aussi item-to-item , propose uneinversion de l'approche user-based nearest neighbour. Au lieu de mesurer la corrélation entre des utilisateurs, les ratings sont utilisés cascade mesurer la corrélation entre les contenus (films), en s'aidant toujours du coefficient de corrélation de Pearson, mais cette fois-ci appliqué au contenu. Si par exemple les ratings des deux films "Fargo" et "Pulp Fiction" ont une parfaite corrélation, c'est-à-dire qu'ils ont reçu les mêmes ratings (positif, négatif ou nul) de la part des utilisateurs, on peut ainsi prédire que Ken aimera le film "Fargo" motorcar il a aimé "Lurid Fiction" (les ratings des utilisateurs sur ces deux films sont parfaitement corrélés).
Pour le dire autrement, fifty'approche item-centric propose de rechercher en premier lieu des contenus similaires et ensuite de faire une recommandation à l'utilisateur. Cette approche permet de faire un traitement préalable sur la matrice pour déterminer les contenus similaires et ainsi pouvoir effectuer des prédictions en temps réel, contrairement à 50'approcheuser-centric très gourmande en mémoire.
Autant le coefficient de corrélation de Pearson est très utilisé pour déterminer des utilisateurs similaires (cas de la recommandation sociale user-centric), dans l'approche particular-centric, on utilise plutôt comme indicateur de mesure de similarité entre items un autre indicateur qu'on appelle desimilarité cosinus ajustée. Les valeurs possibles pour cet indicateur vont comme dans le cas de mesure de Pearson de +1 (forte similarité positive) à -1 (forte similarité négative). Une fois que la similarité entre les items a été établie à fifty'aide de la similarité cosinus ajustée, on peut alors prédire un rating pour un item grâce aux ratings effectués par 50'utilisateur sur les items similaires.
Dans l'approche particular-centric, l'idée est donc de construire à 50'avance la matrice de similarité entre items. Et en temps réel, on peut facilement ensuite déduire la prédiction de recommandation (le rating) d'un produit pour united nations utilisateur actif en déterminant depuis la matrice déjà construite quels sont les produits les plus similaires, et en calculant la valeur moyenne de ratings sur ces produits effectués par les utilisateurs voisins.
Avantages et inconvénients
Avantage: 50'approche purement de recommandation sociale northward'exploite pas ou ne demande aucune connaissance sur les contenus eux-même. Par exemple, dans le cas d'un magasin de vente de livres en ligne, le système de recommandation collaboratif northward'a pas besoin de savoir le blazon de contenu du livre, son genre, qui en est l'auteur, etc… Pas besoin de se baser sur l'analyse des propriétés intrinsèques d'un livre ou d'un contenu, la recommandation sociale est capable de recommander des contenus sans avoir besoin de comprendre le sens ou la sémantique du contenu lui-même. Les informations propres au livre due north'ont pas besoin d'être introduite dans le système.
Inconvénients:
- Scalability: souvent, les plate-formes sur lesquelles sont utilisés les filtres collaboratifs ont des millions d'utilisateurs, de produits et contenus. Ça demande donc beaucoup de puissance de calcul pour pouvoir proposer des suggestions aux utilisateurs. La recommandation sociale de type user-axial est aussi appelée memory-based, motorcar la base de données des ratings est maintenue en permanence en mémoire dans le serveur et utilisée directement pour générer des recommandations à l'utilisateur actif. Bien que cette approche memory-based soit théoriquement plus précise, machine elle a disposition en permanence et en temps réel toutes les données cascade générer les recommandations, elle souffre de problèmes de scalability pour des bases de données de millions d'utilisateurs et de millions de contenus. Dans une approche detail-axial ou model-based, les données sont préalablement traitées hors-ligne. Ensuite lors de l'exécution de l'application ou service spider web, le modèle "appris" ou pré-traité sera utilisé cascade effectuer les prédictions. Fifty'approche model-based permet d'éviter le problème de scalability.
- Common cold Starting time: les systèmes de recommandation sociale ont besoin de beaucoup de données et beaucoup d'utilisateurs pour être performants. Le lancement d'un service de recommandation peut souffrir au début du manque d'utilisateurs et d'informations sur ceux-ci.
- Sparsity (Rareté): le nombre de produits ou contenus est énorme sur certaines plates-formes, et même les utilisateurs les plus actifs auront noté ou valorisé qu'united nations tout petit sous-ensembe de toute la base de données. Donc, même l'article le plus populaire n'aura que très peu de bonnes notes. Dans une telle situation, deux utilisateurs auront peu d'articles valorisés en commun, ce qui rend plus difficile la tâche de corrélation. C'est une state of affairs qu'on retrouve lorsque le système dispose d'un ratio élevé de contenu par rapport aux utilisateurs, et qu'on retrouve aussi souvent au stade initial du lancement du service de recommandation, ce qui nous ramène au problème de cold get-go (qui peut être vu comme un cas spécial du problème de rareté).
Recommandation Hybride
Une combinaison des trois approches ci-dessus. Les méthodes hybrides sont de plus en plus utilisées, motorcar elle permettent de résoudre des problèmes comme le cold beginning et la sparsity (rareté) qu'on retrouve dans une approche de recommandation uniquement sociale. D'autre part, si par exemple on considère 2 utilisateurs avec les mêmes goûts mais qui n'ont pas évalué ou "raté" des objets en commun, united nations filtrage collaboratif pur ne les considérera pas comme similaires ou voisins. Rappelons que la mesure de similarité standard ne prend en compte que les éléments cascade lesquels l'utilisateur actif et 50'utilisateur à comparer ont effectué un rating. L'idée est alors de pouvoir assigner une valeur par défaut aux éléments qui ont été "ratés" seulement par un des deux utilisateurs, afin d'améliorer la qualité de prédiction en cas de rareté (sparsity). En appliquant préalablement united nations algorithme de recommandation objet sur les contenus pour en exploiter leurs descriptions et caractéristiques, accompagné ensuite d'united nations algorithme de recommandation sociale pour effectuer les recommandations peut aider à résoudre ces limitations. Autrement dit, pour les cas de rareté (sparsity), lorsque peu d'items ont été évalués par les utilisateurs et qu'un filtrage collaboratif n'est pas possible, ce qu'on fait, c'est qu'on assigne en premier lieu un pseudo-rating ou vote artificiel par défaut à 50'utilisateur sur les contenus disponibles en utilisant préalablement un algorithme objet, puis on applique ensuite sur la matrice (contenant peu de vrais rating et beaucoup de pseudo-ratings) united nations filtrage collaboratif.
Exemples:
Amazon utilise les 3 approches (personnalisée, sociale et objet). Amazon possède un système très sophistiqué, les recommandations sont d'une part personnalisées en se basant sur le comportement individuel passé de l'utilisateur (historique de navigation et historique d'achat), et d'autre part Amazon utilise aussi les caractéristiques de 50'commodity lui-même (recommandation objet) et les comportements d'autres personnes (recommandation sociale). Tous ceux qui ont déjà fait un achat sur Amazon ont probablement dû lire le bulletin de la part d'Amazon qui nous dit "les gens qui ont acheté x ont aussi acheté y". Cette approche est tout simplement l'approche item-based nearest neighbour (item-centric oudetail-based collaborative filtering) qu'on a décrit auparavant. Il semblerait que le système de recommandation d'Amazon représente plus du thirty% du CA global de la société (en 2009)!
Netflix est aussi un bon exemple de système hybride. Il suggest des recommandations en comparant les habitudes de visionnage des films d'utilisateurs similaires (recommandation sociale) et suggère aussi des films qui partagent des caractéristiques avec des films que l'utilisateur a noté positivement (recommandation objet).
Google, lui se focalise aussi sur une combinaison de 3 approches cascade améliorer son produit phare qui est son moteur de recherche:
- Recommandation Personalisée:
- Google customise nos résultats de recherche, quand cela est possible, en se basant sur notre localisation et/ou nos dernières recherches.
- Lorsqu'on est connecté à notre compte Google, il propose un contenu encore plus pertinent en fonction de notre historique de recherche.
- Recommandation Sociale:
- L'algorithme du PageRank est de manière intrinsèque un outil basé sur de la recommandation sociale dans la mesure ou il use les liens entre les pages web.
- L'utilisation de contenus provenant de nos cercles de Google+ est aussi une forme de recommandation sociale.
- Recommandation Objet
- Google utilise aussi une approche sémantique pour sa fonction « Did you mean » de son moteur de recherche.
Pandora vs Final.fm
La différence entre les approches de recommandation objet et de recommandation sociale (collaborative) peut être illustrée en comparant deux services de radio en ligne que sontPandora (seulement disponible aux USA) et Last.fm.
Pandorautilize principalement une approche de recommandation objet. Le système se base sur les propriétés de la chanson et/ou de 50'artiste, c'est à dire il décompose dans un premier temps les morceaux de musique afin de mettre en évidence ses propriétés intrinsèques. Chaque morceau de musique disposerait de plus de 400 attributs, permettant de déterminer une sorte de code génétique de la chanson (Music Genome Project). En comparant les propriétés similaires entre différents morceaux, le système go far alors à nous proposer de nouvelles chansons à écouter, c'est-à-dire une sorte de station radio qui lengthened de la musique avec des propriétés susceptibles de correspondre à nos goûts. L'utilisateur peut ensuite indiquer s'il aime ou pas le morceau en écoute, et permet ainsi à Pandora d'affiner son filtre de recommandation en privilégiant (ou pas) certains attributs selon 50'information venue en retour de l'utilisateur.
Final.fm lui apply un filtre de recommandation sociale (collaborative). Le service crée une station de radio personnalisée en observant quels sont les groupes, artistes et chansons que 50'utilisateur a écouté régulièrement et les compare avec les comportements d'écoute d'autre utilisateurs. Last.fm va alors proposer des morceaux fréquemment écoutés par des utilisateurs ayant des goûts similaires.
Chaque type d'approche a ses avantages et inconvénients. En fifty'occurrence Final.fm requiert beaucoup d'data sur les habitudes d'écoute des utilisateurs afin de produire un système de recommandation efficace (problème du common cold get-go). Pandora lui au contraire a besoin de très peu d'data sur fifty'utilisateur pour démarrer une radio personnalisée, mais doit disposer d'une base de données gigantesque sur le "génome" de chaque chanson.
Netflix Prize
De 2006 à 2009, Netflix a parrainé un concours, le Netflix prize, offrant un prix de $ane'000'000 à celui qui à partir d'un set up de données de plus de 100 millions de ratings de films pourrait offrir des recommandations 10% plus précises que celles générées par le système original de la compagnie Netflix. Le 21 septembre 2009, le prix a été attribué à une équipe appeléeBellKor's Pragmatic Chaos. Les gagnants avaient misé sur un mélange de centaines d'approches algorithmiques et méthodes prédictives qui réunies ensemble permettent d'être plus performant dans la prédiction. La solution la plus performante semble donc bien s'appuyer sur un ensemble de méthodes algorithmiques plutôt que sur le raffinement et 50'optimisation d'une seule technique spécifique.
Pour l'anecdote, le Netflix prize due north'a pas été renouvelé en 2010, car malgré le fait que le set de million de données fournies aux participants du concours aient été rendues anonymes pour préserver l'identité des clients, deux chercheurs de l'Université du Texas ont été capables d'identifier des utilsateurs présents dans le gear up de données utilisé lors du concours en associant et croisant ces données avec des ratings de films soumis sur fifty'Internet Pic Database (IMDb). Il s'en est suivi qu'en décembre 2009, un des utilisateurs anonymes du set de données a poursuivi Netflix pour violation de la législation américaine en terme de confidentialité.
Efficacité d'un algorithme de recommandation
On a vu que la recommandation sociale (filtrage collaboratif) a l'avantage contrairement à la recommandation objet de permettre d'effectuer des prédicitions même lorsqu'il y a peu de data associée au contenu à recommander ou lorsque que le contenu est difficile d'analyser automatiquement (idées, opinions…) Mais la recommandation sociale souffre aussi d'inconvénients comme le cold start et le problème de rareté (sparsity).
Evaluer fifty'efficacité des algorithmes de recommandation est loin d'être picayune. En premier lieu, parce que différents algorithmes peuvent être meilleurs ou moins bons en fonction du prepare de données sélectionné et sur lequel ils sont appliqués. D'autre office, les objectifs fixés par un système de recommandation peuvent être divers et variés. Un système de recommandation peut être mis en place cascade estimer avec exactitude la annotation que donnerait un utilisateur à united nations élément, alors que d'autres auront comme objectif primary de ne pas proposer des recommandations erronées.
On peut donc légitimement se demander jusqu'à quel point ces différentes méthodes de recommandation sont réellement efficaces. Pour déterminer l'efficacité d'un système, des indicateurs comme la précision et le recall sont utilisés.
La précision est united nations indicateur qui représente la qualité de la recommandation, c'est-à-dire à quel point les suggestions proposées sont conformes aux intérêts de fifty'utilisateur:
précision = nbre de suggestions pertinentes / nbre de propositions
Le recall indique combien de suggestions pertinentes ont été recommandées à 50'utilisateur par rapport au nombre full de suggestions pertinentes disponibles dans le système.
think = nbre de suggestions pertinentes proposées à fifty'utilisateur / nbre de suggestions pertinentes totale
L'indicateur deprécision permet de déterminer laprobabilité qu'un élément recommandé soit pertinent.
Fifty'indicateur derecall permet de déterminer laprobabilité qu'un élément pertinent soit recommandé.
On employ aussi des techniques statistiques pour mesurer l'efficacité d'un algorithme de recommandation. L'idée c'est d'évaluer la précision de la prédiction effectuée par le système en comparant les prédicitions avec les choix qu'aurait fourni l'utilisateur dans un cas réel. On utilise par exemple l'Erreur Moyenne Absolue (MAE) qui mesure la déviation des recommandation prédites avec les choix réels effectués par les utilisateurs. Plus l'erreur moyenne absolue est faible, meilleure est la prédicition.
Pour conclure, la meilleure mesure de l'efficacité d'un algorithme de recommandation et de la pertinence des suggestions c'est finalement la satisfaction de l'utilisateur, qui n'est pas toujours facile à bien identifier.
Sources:
http://world wide web.readwriteweb.com/athenaeum/recommendation_engines.php
http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_recommandation
http://en.wikipedia.org/wiki/Recommender_system
http://en.wikipedia.org/wiki/Collaborative_filtering
http://recommender-systems.org/
http://www.it.uc3m.es/jvillena/irc/descarga.htm?url=practicas/06-07/31.pdf
http://world wide web.docstoc.com/docs/35703482/Top-North-Recommendation-Algorithm-B
http://www.cs.utexas.edu/users/ml/papers/cbcf-aaai-02.pdf
http://www.amazon.es/Recommender-Systems-Introduction-Dietmar-Jannach/dp/0521493366
» Voir l'illustration de Nico
zp8497586rq
Dropbox Utilisent Des Algorithmes De Recommandation,
Source: https://www.podcastscience.fm/dossiers/2012/04/25/les-algorithmes-de-recommandation/
Posted by: laddliamed.blogspot.com
0 Response to "Dropbox Utilisent Des Algorithmes De Recommandation"
Post a Comment