Quand un site commence à nous connaître un peu trop bien

Je vais utiliser le mot intelligence avec prudence. En 2008, un moteur de recommandation n’a pas besoin de comprendre une personne. Il transforme des traces en scores, puis classe quelques produits.

Une approche simple est le filtrage collaboratif. On construit une matrice où les lignes représentent les utilisateurs et les colonnes les produits. Une case contient une note, un achat ou un poids tiré des clics. Le système cherche des profils ou des articles qui se ressemblent.

Vélo ACasque BLivre C
Alice54n.d.
Bruno534
Chloé1n.d.1

Alice et Bruno ont réagi de façon semblable aux deux premiers produits. Le moteur peut donc estimer que le Livre C intéressera Alice. Une moyenne pondérée très simplifiée serait :

score(Alice, Livre C)
  = somme(similarité(Alice, autre) x note(autre, Livre C))
    / somme des similarités

Une autre approche compare les attributs du contenu : catégorie, mots, auteur ou prix. Elle recommande un article proche de ceux déjà consultés, sans avoir besoin d’un autre utilisateur semblable. Les deux méthodes peuvent être combinées.

Les données manquantes ne sont pas neutres

Un nouvel utilisateur n’a aucun historique : c’est le démarrage à froid. Le moteur pousse alors les produits populaires ou demande quelques préférences. Ce choix favorise encore les articles déjà visibles et peut enfermer le catalogue dans une boucle : visible, donc cliqué; cliqué, donc encore plus visible.

Un clic ne signifie pas nécessairement « j’aime ». Il peut venir d’un titre trompeur ou d’une erreur. Un achat cadeau décrit mal la personne. Je garderais donc la provenance et l’heure du signal, donnerais moins de poids aux traces anciennes et distinguerais vue, ajout au panier, achat et retour.

La mesure doit comparer le moteur à une base. On peut séparer des interactions passées, cacher le dernier choix et vérifier si la recommandation le retrouve dans ses dix premiers résultats. En production, il faut aussi mesurer les retours, la diversité et les plaintes; maximiser seulement le clic encourage facilement des suggestions agressives.

La vie privée se joue dans le pipeline de données. Quels identifiants relient la recherche, l’achat et la publicité? Combien de temps les événements restent-ils? Qui peut exporter le profil? Un journal détaillé utile au modèle devient aussi une cible après une fuite. Je limiterais les champs, séparerais l’identité directe, protégerais les accès et prévoirais la suppression avec le compte.

Une recommandation payée doit être distinguée d’un résultat calculé. Sinon, l’utilisateur ne peut pas interpréter le classement. Il devrait aussi pouvoir corriger un signal évident ou demander pourquoi un article lui est montré, même si l’explication reste simple.

Je commencerais avec un modèle de référence, un jeu de validation et un journal des signaux réellement utilisés. Le système peut être très pratique sans être intelligent au sens humain. Sa qualité dépend surtout de la définition des événements, de la mesure hors ligne et des limites imposées à ce qu’on conserve.