Introduction Exemples Survol Techniques Évaluation et utilité
LOG6308 — Systèmes de recommandation
Introduction
Michel Desmarais
Génie informatique et logiciel
Polytechnique Montréal
Hiver, 2025
(version 13 janvier 2025)
LOG6308 — Systèmes de recommandation — Introduction 1/48
Introduction Exemples Survol Techniques Évaluation et utilité
Introduction
1 Introduction
2 Exemples d’applications
3 Taxonomie et survol des applications
4 Survol des techniques
5 Évaluation, facteurs ergonomiques, biais et renforcement
LOG6308 — Systèmes de recommandation — Introduction 2/48
Introduction Exemples Survol Techniques Évaluation et utilité
Systèmes de recommandations, filtres d’information, et
personnalisation
Les recommandations prennent souvent la forme de filtres
d’information
filtres passifs comme les vidéos et pièces de musique présentées
avec le dernier choix
filtres actifs comme des courriels de recommandations
Les systèmes de recommandations sont un type de
personnalisation d’interface
curation d’articles de presse
guide d’étude en fonction des acquis
auto-complétion sensible au contexte et à l’historique
d’utilisation
LOG6308 — Systèmes de recommandation — Introduction 3/48
Introduction Exemples Survol Techniques Évaluation et utilité
Trois dimensions à la personnalisation
De manière générale, la personnalisation à l’utilisateur nécessite
trois types d’information à modéliser et à inférer.
1 Les intérêts et préférences.
2 Les compétences et connaissances.
3 Les buts.
LOG6308 — Systèmes de recommandation — Introduction 4/48
Introduction Exemples Survol Techniques Évaluation et utilité
Introduction
1 Introduction
2 Exemples d’applications
3 Taxonomie et survol des applications
4 Survol des techniques
5 Évaluation, facteurs ergonomiques, biais et renforcement
LOG6308 — Systèmes de recommandation — Introduction 5/48
Introduction Exemples Survol Techniques Évaluation et utilité
Intérêts/Préférences
LOG6308 — Systèmes de recommandation — Introduction 6/48
Introduction Exemples Survol Techniques Évaluation et utilité
[Link] : très efficace !
Mon expérience en 2005 avec seulement deux livres achetés
2 livres sur 15 recommandations que j’ai déjà !
Plusieurs titres forts pertinents :
Machine Learning, Tom M. Mitchell
Categorical Data Analysis, Alan Agresti
Data Mining : Practical Machine Learning Tools and
Techniques with Java Implementations, Ian H. Witten, Eibe
Frank
Bootstrap Methods and Their Application, A. C. Davison, et
al.
On Intelligence, Jeff Hawkins, Sandra Blakeslee
LOG6308 — Systèmes de recommandation — Introduction 7/48
Introduction Exemples Survol Techniques Évaluation et utilité
Netflix
LOG6308 — Systèmes de recommandation — Introduction 8/48
Introduction Exemples Survol Techniques Évaluation et utilité
Netflix
LOG6308 — Systèmes de recommandation — Introduction 9/48
Introduction Exemples Survol Techniques Évaluation et utilité
[Link]
LOG6308 — Systèmes de recommandation — Introduction 10/48
Introduction Exemples Survol Techniques Évaluation et utilité
[Link]
LOG6308 — Systèmes de recommandation — Introduction 10/48
Introduction Exemples Survol Techniques Évaluation et utilité
Dans l’écosystème Apple
LOG6308 — Systèmes de recommandation — Introduction 11/48
Introduction Exemples Survol Techniques Évaluation et utilité
Dans l’écosystème Apple
LOG6308 — Systèmes de recommandation — Introduction 11/48
Introduction Exemples Survol Techniques Évaluation et utilité
Dans l’écosystème Apple
LOG6308 — Systèmes de recommandation — Introduction 11/48
Introduction Exemples Survol Techniques Évaluation et utilité
Facebook
source : [Link]
thank-you-notes/screenshots/17698
LOG6308 — Systèmes de recommandation — Introduction 12/48
Introduction Exemples Survol Techniques Évaluation et utilité
Facebook
LOG6308 — Systèmes de recommandation — Introduction 12/48
Introduction Exemples Survol Techniques Évaluation et utilité
Mastodon
LOG6308 — Systèmes de recommandation — Introduction 13/48
Introduction Exemples Survol Techniques Évaluation et utilité
Google news
LOG6308 — Systèmes de recommandation — Introduction 14/48
Introduction Exemples Survol Techniques Évaluation et utilité
Groundnews
LOG6308 — Systèmes de recommandation — Introduction 15/48
Introduction Exemples Survol Techniques Évaluation et utilité
Horaire télé — une occasion ratée !
LOG6308 — Systèmes de recommandation — Introduction 16/48
Introduction Exemples Survol Techniques Évaluation et utilité
Horaire télé — une occasion ratée !
(version app)
LOG6308 — Systèmes de recommandation — Introduction 16/48
Introduction Exemples Survol Techniques Évaluation et utilité
WatchOn
[Link]
[Link]
[Link]&hl=en
LOG6308 — Systèmes de recommandation — Introduction 17/48
Introduction Exemples Survol Techniques Évaluation et utilité
WatchOn
LOG6308 — Systèmes de recommandation — Introduction 18/48
Introduction Exemples Survol Techniques Évaluation et utilité
Deux autres exemples du Québec
eDate
E-180/Braindate
LOG6308 — Systèmes de recommandation — Introduction 19/48
Introduction Exemples Survol Techniques Évaluation et utilité
Connaissances
LOG6308 — Systèmes de recommandation — Introduction 20/48
Introduction Exemples Survol Techniques Évaluation et utilité
Une autre dimension de la personnalisation des interfaces est celle
de la connaissance acquise. C’est une forme d’aptation que
l’humain utilise naturellement dans ses échanges avec d’autres
individus. Rapidement, l’individu qui connaı̂t bien un sujet s’ajuste
au niveau d’expertise de son interlocuteur. C’est particulièrement le
cas dans une relation tuteur-apprenant. La capacité du tuteur à
s’ajuster au rythme d’apprentissage et de fixer des ojbectifs
d’apprentissage personnalisés a un impact significatif sur les gain
d’apprentissage et on y réfère souvent par l’expression 2-sigmas
(Bloom, 1984).
LOG6308 — Systèmes de recommandation — Introduction 21/48
Introduction Exemples Survol Techniques Évaluation et utilité
[Link]
Distribution des écoles qui l’utilisent :
LOG6308 — Systèmes de recommandation — Introduction 21/48
Introduction Exemples Survol Techniques Évaluation et utilité
[Link]
LOG6308 — Systèmes de recommandation — Introduction 21/48
Introduction Exemples Survol Techniques Évaluation et utilité
ALEKS
LOG6308 — Systèmes de recommandation — Introduction 22/48
Introduction Exemples Survol Techniques Évaluation et utilité
ALEKS
LOG6308 — Systèmes de recommandation — Introduction 22/48
Introduction Exemples Survol Techniques Évaluation et utilité
Gains potentiels
Le gain potentiel d’un tutorat individuel est de 2 sigma
(Bloom, 1984)
Le gain avec des systèmes en ligne traditionnels est de l’ordre
de 0.3 sigma 1
L’objectif est donc d’amener les gains au niveau du tutorat
humain.
1. Kent E. Sabo, Robert K. Atkinson, Angela L. Barrus, Stacey S. Joseph,
Ray S. Perez, Searching for the two sigma advantage : Evaluating algebra
intelligent tutors, Computers in Human Behavior, Volume 29, Issue 4, July
2013, Pages 1833-1840.
LOG6308 — Systèmes de recommandation — Introduction 23/48
Introduction Exemples Survol Techniques Évaluation et utilité
Intentions et tâches
LOG6308 — Systèmes de recommandation — Introduction 24/48
Introduction Exemples Survol Techniques Évaluation et utilité
Complétion de code Eclipse
Les 381 méthodes pour JButton
LOG6308 — Systèmes de recommandation — Introduction 25/48
Introduction Exemples Survol Techniques Évaluation et utilité
Complétion de code Eclipse
Complétion qui tient compte du contexte
“This is where the Code Recommenders intelligent call completion comes in. It
assists developers by recommending only those methods that are relevant for
his task at hand. For instance, given that a developer just created a text widget
makes it obvious for the Code Recommenders which methods a developer
wants to use next—even if the developer doesn’t know it by himself”
[Link]
LOG6308 — Systèmes de recommandation — Introduction 26/48
Introduction Exemples Survol Techniques Évaluation et utilité
Puis ce qui n’a pas fonctionné
Clippy, un peu d’auto-dérision
Clippy sur Wikipedia
LOG6308 — Systèmes de recommandation — Introduction 27/48
Introduction Exemples Survol Techniques Évaluation et utilité
Et enfin ce qui fonctionne
https ://[Link]/
LOG6308 — Systèmes de recommandation — Introduction 28/48
Introduction Exemples Survol Techniques Évaluation et utilité
Et enfin ce qui fonctionne
https ://[Link]/
LOG6308 — Systèmes de recommandation — Introduction 28/48
Introduction Exemples Survol Techniques Évaluation et utilité
Introduction
1 Introduction
2 Exemples d’applications
3 Taxonomie et survol des applications
4 Survol des techniques
5 Évaluation, facteurs ergonomiques, biais et renforcement
LOG6308 — Systèmes de recommandation — Introduction 29/48
Introduction Exemples Survol Techniques Évaluation et utilité
Familles d’applications
Systèmes de recommandations et filtres collaboratifs
[Link], sites de commerce électroniques
Approche collaboratives : données qui reposent sur des
préférences
Approche contenu : similarité entre items ou individus
LOG6308 — Systèmes de recommandation — Introduction 30/48
Introduction Exemples Survol Techniques Évaluation et utilité
Familles d’applications (suite)
Personnalisation
Adaptation d’éléments d’interface basée sur un profil personnel
Accélérateurs
Auto-complétion de dialogues
Pré-chargement (prefetching)
Auto-correction
Suggestions de code
LOG6308 — Systèmes de recommandation — Introduction 31/48
Introduction Exemples Survol Techniques Évaluation et utilité
Familles d’applications (suite)
Assistants et agents
Bob (alias Clipper, Clippy, Clippit), systèmes de dialogues et
assistants intelligents, dont Copilot est actuellement le mieux
mis en évidence par Microsoft
Le dialogue coopératif et d’aide est basé sur la reconnaissance
des intentions et du “plan”, plus ou moins structuré et
prédéterminé, entre un assistant et un assisté
De nos jours basé sur des grands modèles de langage qui
prédisent des séquences
Environnements d’apprentissage
ALEKS, GradeSummit, Guide d’apprentissage, Lisp Tutor,
Andes Tutor
Les environnements intelligents d’apprentissage utilisent
plusieurs approches pour fournir un encadrement à
l’apprenant, notamment pour fournir des exercices et capsules
d’apprentissage adaptés au besoins d’apprentissage.
LOG6308 — Systèmes de recommandation — Introduction 32/48
Introduction Exemples Survol Techniques Évaluation et utilité
Introduction
1 Introduction
2 Exemples d’applications
3 Taxonomie et survol des applications
4 Survol des techniques
5 Évaluation, facteurs ergonomiques, biais et renforcement
LOG6308 — Systèmes de recommandation — Introduction 33/48
Introduction Exemples Survol Techniques Évaluation et utilité
Assistance
LOG6308 — Systèmes de recommandation — Introduction 34/48
Introduction Exemples Survol Techniques Évaluation et utilité
Exemple de technologie agent, Grammaires et automates
finis
Les actions de l’utilisateur sont déterminées par
les buts qu’il veut atteindre
Un but se décompose en sous-buts et
récursivement jusqu’aux actions
On peut définir comment un but se transpose en
actions par une grammaire (récursive) ou par un
automate fini.
(define-goal editer (?texte)
(XOR
(copier-texte ?texte)
(define-goal root ()
(additionner-texte-a-doc ?texte ?doc)
(XOR
(inserer-plus ?texte)
(format-texte ?texte ?prop)
(majuscules ?texte)
(remplace-multiple ?t1 ?t2)
(change-texte ?texte ?texte2)
(editer ?texte)
(effacer ?texte)
(positionner ?pos)
(dessine* (node-observed m323))
(divers)))
(copier-vertical ?texte)
(deplacer-vertical-plus ?texte)
(deplacer-texte ?texte ?pos)))
LOG6308 — Systèmes de recommandation — Introduction 35/48
Introduction Exemples Survol Techniques Évaluation et utilité
Technologies agent 2025
Architectures transformeurs et apprentissage automatique
Wang, Y., Wang, W., Joty, S., Hoi, S. C. (2021). Codet5 : Identifier-aware unified pre-trained encoder-decoder
models for code understanding and generation. arXiv preprint arXiv :2109.00859.
LOG6308 — Systèmes de recommandation — Introduction 36/48
Introduction Exemples Survol Techniques Évaluation et utilité
Recommandations et filtres d’information
LOG6308 — Systèmes de recommandation — Introduction 37/48
Introduction Exemples Survol Techniques Évaluation et utilité
Données utilisées
Historique de l’utilisation et de la navigation
Actions utilisateur dans des applications et navigation web
Matrice utilisateur-visite
Matrice utilisateur-commande
“Popularité” d’un document
Etc.
Éléments de contexte/contenu
Proximité sémantique de termes/documents/produits
Facteurs spatiaux et temporels
Etc.
LOG6308 — Systèmes de recommandation — Introduction 38/48
Introduction Exemples Survol Techniques Évaluation et utilité
Calcul de la proximité
Proximité entre deux profils
Deux utilisateurs, i et j, sont représentés des vecteurs
de m dimensions
On peut aussi évaluer la distance entre des documents/URL de
la même façon
LOG6308 — Systèmes de recommandation — Introduction 39/48
Introduction Exemples Survol Techniques Évaluation et utilité
Probabilités conditionnelles
Probabilité d’une hypothèse, H, étant donné une série d’évidence
{E1 , E20 , . . . , En } :
P (H | E1 , E2 , . . . , En )
Par exemple :
Probabilité que l’utilisateur clique sur le lien “Étudiants
actuels” de la page d’accueil de Poly (H) étant donné qu’il a
un cookie qui l’identifie comme étudiant (E1 ) et qu’il a
accédé à ce lien plus de 5 fois durant les 5 derniers jours (E2 )
Probabilité que l’utilisateur s’intéresse au livre
“Human-Centered Software Engineering - Integrating Usability
in the Software Development Lifecycle” étant donné qu’il a
acheté le livre “Human Factors Methods for Design : Making
Systems Human-Centered” (E1 ) et que le livre n’est pas dans
les premiers 100 000 de la catégorie (E2 ).
LOG6308 — Systèmes de recommandation — Introduction 40/48
Introduction Exemples Survol Techniques Évaluation et utilité
Facteurs latents et factorisation
Rm×n = Qm×l PT
n×l
LOG6308 — Systèmes de recommandation — Introduction 41/48
Introduction Exemples Survol Techniques Évaluation et utilité
Approches réseau de neurones
LOG6308 — Systèmes de recommandation — Introduction 42/48
Introduction Exemples Survol Techniques Évaluation et utilité
Approches contenu
Matrice termes-documents pour la similarité de texte
c1 c2 c3 c4 c5 m1 m2 m3 m4
human 1 0 0 1 0 0 0 0 0
interface 1 0 1 0 0 0 0 0 0
computer 1 1 0 0 0 0 0 0 0
user 0 1 1 0 1 0 0 0 0
system 0 1 1 2 0 0 0 0 0
response 0 1 0 0 1 0 0 0 0
time 0 1 0 0 1 0 0 0 0
EPS 0 0 1 1 0 0 0 0 0
survey 0 1 0 0 0 0 0 0 1
trees 0 0 0 0 0 1 1 1 0
graph 0 0 0 0 0 0 1 1 1
minors 0 0 0 0 0 0 0 1 1
LOG6308 — Systèmes de recommandation — Introduction 43/48
Introduction Exemples Survol Techniques Évaluation et utilité
Approches de graphes
[Link]
LOG6308 — Systèmes de recommandation — Introduction 44/48
Introduction Exemples Survol Techniques Évaluation et utilité
Introduction
1 Introduction
2 Exemples d’applications
3 Taxonomie et survol des applications
4 Survol des techniques
5 Évaluation, facteurs ergonomiques, biais et renforcement
LOG6308 — Systèmes de recommandation — Introduction 45/48
Introduction Exemples Survol Techniques Évaluation et utilité
Évaluation des systèmes de recommandations
Évaluation la plus courante : prédiction des votes
https ://[Link]/2016/06/11/pisco-sour/
Autre métriques :
Sérendipité et nouveauté. Capacité de surprendre et de
découvrir.
Diversité. Couverture de différents champs d’intérêts.
Couverture. Couverture des items (p.e. site de rencontres).
Facteurs contextuels. Période horaire ou saisonnière,
facteurs régionaux et localisation, caractère dynamique des
intérêts et préférences, métriques pour des groupes, etc.
LOG6308 — Systèmes de recommandation — Introduction 46/48
Introduction Exemples Survol Techniques Évaluation et utilité
Facteurs ergonomiques des interfaces de recommandations
Transparence
d’où vient le rationnel de la recommandation ?
Crédibilité
la recommandation est-elle fiable ? biaisée ?
Contrôle
est-ce le choix que je ferais si j’avais accès à toutes les options ?
suis-je pris dans un gettho d’information ?
LOG6308 — Systèmes de recommandation — Introduction 47/48
Introduction Exemples Survol Techniques Évaluation et utilité
Phénomènes de renforcement
Chambres d’écho, silos informationnels
p.e. Tufekci, NYT 2018, Tufekci, Z. (2018). YouTube, the
great radicalizer. The New York Times, 10(3), 2018.
Ribeiro, M. H., Ottoni, R., West, R., Almeida, V. A., Meira
Jr, W. (2020, January). Auditing radicalization pathways on
YouTube. In Proceedings of the 2020 conference on fairness,
accountability, and transparency (pp. 131-141). (url)
Questions d’éthique
Bogen, M., Rieke, A. (2018). Help wanted : An examination
of hiring algorithms, equity, and bias. (pdf)
Martı́nez, N., Vinas, A., Matute, H. (2021). Examining
potential gender bias in automated-job alerts in the Spanish
market. Plos one, 16(12), e0260409. (url)
Cowgill, B. (2018). Bias and productivity in humans and
algorithms : Theory and evidence from resume screening.
Columbia Business School, Columbia University, 29.
LOG6308 — Systèmes de recommandation — Introduction 48/48