Nos ordinateurs et téléphones semblent bien nous connaître. | NordWood Themes via Unsplash
Nos ordinateurs et téléphones semblent bien nous connaître. | NordWood Themes via Unsplash

Comment YouTube sait quelle vidéo vous recommander

Quelques formules et équations permettent à la plateforme d'anticiper vos goûts et désirs.

Vous vous êtes déjà demandé comment YouTube devine vos préférences et vous propose des vidéos à votre goût? La réponse tient en trois mots: algorithmes de recommandation.

L'objectif de cet article est de présenter brièvement le principe de fonctionnement de ces algorithmes et de montrer comment de simples notions d'algèbre linéaire peuvent transformer un ordinateur en véritable oracle.

YouTube est un bon exemple pour illustrer la mise en pratique de ces principes mathématiques, mais cette explication vaut tout aussi bien pour Facebook, Netflix, Spotify ou autres plateformes.

Pour comprendre les préférences de chacun, rien de tel qu'un tableau

Le problème à résoudre s'énonce comme suit: considérons n vidéos et m internautes (m et n étant potentiellement très grands). Supposons qu'une des personnes ait déjà visionné quelques-unes des vidéos disponibles. Quelle(s) autre(s) vidéo(s) sera-t-elle susceptible d'aimer le plus?

Deux choix peuvent alors se présenter: soit cette personne aimera des vidéos semblables à ce qu'elle a déjà aimé dans le passé –on développe alors la technique du filtrage par contenu. Soit elle aimera ce qui a déjà plu à d'autres personnes qui lui ressemblent –on optera dans ce cas pour le filtrage collaboratif.

La première idée requiert la définition a priori de nombreux critères. En pratique, elle n'est en outre utilisée que rarement, pour des cas particuliers. La seconde option, plus riche d'enseignement, va faire l'objet de notre attention.

Posons notre problème avec une matrice D (de taille n x m) où chaque colonne représente une personne et chaque ligne une vidéo. Dans chaque case, on met un nombre compris entre 0 et 4 (comme un système de notation avec 5 étoiles). La valeur 0 indique que la personne a détesté la vidéo et la valeur 4 indique qu'elle lui a plu.

Cette note varie selon le temps passé sur la vidéo, le fait d'avoir mis une mention «j'aime» ou non, le fait d'avoir commenté ou pas, etc. Elle est en pratique calculée grâce à une recette confidentielle de YouTube.

Une case correspondant à une vidéo qui n'a pas encore été visionnée par la personne reste vide. L'objectif de l'algorithme est alors de deviner les valeurs à mettre dans ces cases vides afin d'estimer quelle vidéo plaira le plus à l'utilisateur.

On crée un tableau avec les notes de chaque utilisateur pour les vidéos qu'il a vues. S'il n'a pas vu la vidéo, la case est vide. | Avec l'autorisation d'Athmane Bakhta

L'idée du filtrage collaboratif est de considérer que la préférence d'une personne pour une vidéo sera donnée par un «produit scalaire» de deux vecteurs u et v, représentant respectivement les caractéristiques de la personne et celles de la vidéo.

En l'absence totale de caractéristiques communes entre la personne et la vidéo, on dit que u est «orthogonal» à v et le produit scalaire uv est nul. Inversement, si la personne et la vidéo ont des caractéristiques communes, les vecteurs u et v sont dits «quasi colinéaires» et leur produit scalaire donne une note élevée.

En déterminant les caractéristiques communes entre les vidéos et les internautes, on peut ainsi attribuer une note potentielle à chaque vidéo: la note que mettrait (peut-être) l'utilisateur à cette vidéo s'il la visionnait.

Utiliser un outil de base de l'algèbre linéaire

L'idée mathématique sous-jacente consiste à décomposer la matrice des données D en produit de deux petites matrices U et V. Une telle décomposition permet de caractériser les personnes (à travers la matrice U) et les vidéos (à travers la matrice V) par un petit nombre k de vecteurs.

Ainsi, pour chaque case remplie (par exemple la case verte sur la figure), on cherchera les vecteurs u (indiqué en bleu) et v (indiqué en rouge) des matrices U et V tels que le produit u x v soit le plus proche possible de la valeur de la case verte. Pour les gens les plus curieux, cela revient à résoudre un problème d'optimisation.

Il suffit en fait de multiplier les lignes de U par les colonnes de V pour retrouver les valeurs de toutes les cases vides et estimer ainsi la préférence à venir de chaque personne pour chaque vidéo.

En raison du nombre gigantesque de personnes et de vidéos, la résolution de ce problème requiert l'utilisation d'algorithmes d'apprentissage comme les réseaux de neurones, qui sont bien plus rapides que les techniques d'optimisation classiques.

Est-ce vraiment aussi simple?

On peut se demander si ce sont ces types d'opérations qu'effectue réellement YouTube: la réponse est affirmative sur le principe –mais avec énormément d'améliorations.

Le véritable système de recommandation de YouTube combine en fait deux réseaux de neurones profonds, comme l'explique cet article. Le premier sert à identifier quelques centaines de candidats parmi les millions de vidéos disponibles et le second attribue un score à chaque candidat grâce à la décomposition matricielle dont on vient de détailler en quoi elle consistait.

Cet article est republié à partir de The Conversation sous licence Creative Commons. Lire l'article original.

The Conversation

En ce moment

Nagui et les chevaux: comment la course au clic transforme une simple blague en «rumeur»

Et Cætera

Nagui et les chevaux: comment la course au clic transforme une simple blague en «rumeur»

De la «private joke» à la fake news, itinéraire d'une bien étrange histoire.

Wildtype, la start-up qui crée des sushis in vitro

Tech

Wildtype, la start-up qui crée des sushis in vitro

Êtes-vous prêts pour le saumon produit en laboratoire?

L'US Air Force a conçu et testé un nouvel avion de chasse en 12 mois seulement

Tech

L'US Air Force a conçu et testé un nouvel avion de chasse en 12 mois seulement

Stupeur totale dans le monde de la défense.