par Xavier Amatriain et Justin Basilico (Science et ingénierie de la personnalisation)
Dans ce billet de blog en deux parties, nous allons ouvrir les portes de l’un des actifs les plus appréciés de Netflix : notre système de recommandation. Dans la partie 1, nous relierons le prix Netflix au défi plus large de la recommandation, nous décrirons les composants externes de notre service personnalisé et nous soulignerons comment notre tâche a évolué avec l’entreprise. Dans la deuxième partie, nous décrirons certaines des données et des modèles que nous utilisons et discuterons de notre approche de l’innovation algorithmique qui combine l’expérimentation de l’apprentissage automatique hors ligne et les tests AB en ligne. Profitez-en… et n’oubliez pas que nous sommes toujours à la recherche de nouveaux talents vedettes à ajouter à notre grande équipe, alors n’hésitez pas à jeter un coup d’œil à notre page d’emplois.
En 2006, nous avons annoncé le Prix Netflix, une compétition d’apprentissage automatique et d’exploration de données pour la prédiction de la cote des films. Nous avons offert un million de dollars à quiconque améliorait de 10 % la précision de notre système existant appelé Cinematch. Nous avons organisé ce concours pour trouver de nouveaux moyens d’améliorer les recommandations que nous fournissons à nos membres, ce qui constitue un élément clé de notre activité. Cependant, nous avons dû trouver une question de substitution plus facile à évaluer et à quantifier : l’erreur quadratique moyenne (RMSE) de la note prédite. La course était lancée pour battre notre RMSE de 0,9525 avec pour ligne d’arrivée de la réduire à 0,8572 ou moins.
Un an après le début du concours, l’équipe Korbell a remporté le premier prix Progress avec une amélioration de 8,43 %. Ils ont déclaré plus de 2000 heures de travail pour arriver à la combinaison finale de 107 algorithmes qui leur a valu ce prix. Et ils nous ont donné le code source. Nous avons examiné les deux algorithmes sous-jacents ayant obtenu les meilleures performances dans l’ensemble : La factorisation matricielle (que la communauté appelle généralement SVD, Singular Value Decomposition) et les machines de Boltzmann restreintes (RBM). La SVD seule a donné une erreur quadratique moyenne de 0,8914, tandis que la RBM seule a donné une erreur quadratique moyenne compétitive mais légèrement moins bonne de 0,8990. Un mélange linéaire de ces deux algorithmes a réduit l’erreur à 0,88. Pour utiliser ces algorithmes, nous avons dû surmonter certaines limites, par exemple le fait qu’ils ont été conçus pour traiter 100 millions d’évaluations, au lieu des plus de 5 milliards dont nous disposons, et qu’ils n’ont pas été conçus pour s’adapter à l’ajout de nouvelles évaluations par les membres. Mais une fois ces défis surmontés, nous avons mis les deux algorithmes en production, où ils sont toujours utilisés dans le cadre de notre moteur de recommandation.
Si vous avez suivi le concours du Prix, vous vous demandez peut-être ce qu’il est advenu de l’ensemble final du Grand Prix qui a remporté le million de dollars deux ans plus tard. Il s’agit d’une compilation vraiment impressionnante et de l’aboutissement d’années de travail, mélangeant des centaines de modèles prédictifs pour finalement franchir la ligne d’arrivée. Nous avons évalué certaines des nouvelles méthodes hors ligne, mais les gains de précision supplémentaires que nous avons mesurés ne semblaient pas justifier l’effort d’ingénierie nécessaire pour les intégrer dans un environnement de production. De plus, notre objectif d’améliorer la personnalisation de Netflix était passé à l’étape suivante à ce moment-là. Dans le reste de ce post, nous expliquerons comment et pourquoi il a changé.
Des DVD américains au streaming mondial
L’une des raisons pour lesquelles notre objectif dans les algorithmes de recommandation a changé est que Netflix dans son ensemble a changé de façon spectaculaire au cours des dernières années. Netflix a lancé un service de streaming instantané en 2007, un an après le début du prix Netflix. Le streaming a non seulement changé la façon dont nos membres interagissent avec le service, mais aussi le type de données disponibles à utiliser dans nos algorithmes. Pour les DVD, notre objectif est d’aider les gens à remplir leur file d’attente avec des titres qu’ils recevront par la poste dans les jours et les semaines à venir ; la sélection est éloignée dans le temps du visionnage, les gens choisissent avec soin car l’échange d’un DVD contre un autre prend plus d’une journée, et nous n’avons aucun retour pendant le visionnage. Pour le streaming, les membres cherchent quelque chose d’excellent à regarder en ce moment ; ils peuvent échantillonner quelques vidéos avant de se fixer sur une, ils peuvent en consommer plusieurs en une seule session, et nous pouvons observer les statistiques de visionnage, par exemple si une vidéo a été regardée entièrement ou seulement partiellement.
Un autre grand changement a été le passage d’un seul site Web à des centaines d’appareils. L’intégration au lecteur Roku et à la Xbox a été annoncée en 2008, deux ans après le début de la concurrence de Netflix. Un an plus tard, le streaming Netflix a été intégré à l’iPhone. Maintenant, il est disponible sur une multitude d’appareils qui vont d’une myriade d’appareils Android au dernier AppleTV.
Il y a deux ans, nous sommes passés à l’international avec le lancement au Canada. En 2011, nous avons ajouté 43 pays et territoires latino-américains à la liste. Et tout récemment, nous avons procédé au lancement au Royaume-Uni et en Irlande. Aujourd’hui, Netflix compte plus de 23 millions d’abonnés dans 47 pays. Ces abonnés ont visionné 2 milliards d’heures de streaming depuis des centaines d’appareils différents au cours du dernier trimestre 2011. Chaque jour, ils ajoutent 2 millions de films et d’émissions de télévision à la file d’attente et génèrent 4 millions d’évaluations.
Nous avons adapté nos algorithmes de personnalisation à ce nouveau scénario de telle sorte qu’aujourd’hui, 75 % de ce que les gens regardent provient d’une sorte de recommandation. Nous avons atteint ce point en optimisant continuellement l’expérience des membres et nous avons mesuré des gains significatifs dans la satisfaction des membres chaque fois que nous avons amélioré la personnalisation pour nos membres. Laissez-nous maintenant vous guider à travers certaines des techniques et des approches que nous utilisons pour produire ces recommandations.
Tout est une recommandation
Nous avons découvert au fil des ans qu’il y a une énorme valeur pour nos abonnés à incorporer des recommandations pour personnaliser autant de Netflix que possible. La personnalisation commence sur notre page d’accueil, qui se compose de groupes de vidéos disposés en rangées horizontales. Chaque rangée a un titre qui exprime le lien significatif prévu entre les vidéos de ce groupe. La majeure partie de notre personnalisation repose sur la manière dont nous sélectionnons les rangées, dont nous déterminons les éléments à y inclure et dans quel ordre placer ces éléments.
Prenons comme premier exemple la rangée Top 10 : il s’agit de notre meilleure estimation des dix titres que vous êtes le plus susceptible d’apprécier. Bien sûr, quand nous disons « vous », nous voulons vraiment dire tous les membres de votre foyer. Il est important de garder à l’esprit que la personnalisation de Netflix est destinée à gérer un foyer qui est susceptible d’avoir différentes personnes avec des goûts différents. C’est pourquoi, lorsque vous voyez votre Top10, vous êtes susceptible de découvrir des articles pour papa, maman, les enfants ou toute la famille. Même pour un ménage composé d’une seule personne, nous voulons faire appel à votre éventail d’intérêts et d’humeurs. Pour y parvenir, dans de nombreuses parties de notre système, nous n’optimisons pas seulement la précision, mais aussi la diversité.