Modèles de personnalisation
Modèles de personnalisation
La personnalisation est un système où les données → les modèles → la stratégie d'affichage → l'action → la rétroaction. L'objectif est de maximiser la valeur incrémentale (revenu/rétention/satisfaction) tout en respectant les contraintes (éthique/RG, caps de fréquence, diversité, fraîcheur, SLA).
1) Données et vues
Matières premières : événements (vues/clics/jeux/achats/dépôts), catalogue de contenu (attributs), profils utilisateur, contexte (temps/géo/appareil/canal), signaux de qualité (bot/frod).
Fichi :- Utilisateur : RFM, préférences des catégories, sensibilité des prix, heure de la journée, appareil.
- Item : genre/catégorie, studio/fournisseur, langue, prix/volatilité, « fraîcheur ».
- Contexte : dow/hod, promotions/événements, session, canal d'entrée.
- Embeddings : espace collaboratif user/item (MF/Word2Vec2Rec/transformers), multimodal (texte/images).
- Qualité : point-in-time (pas de visage), temps UTC, idempotence des événements, masque PII.
2) Paradigmes de base
1. Contenu basé sur la proximité selon les caractéristiques de l'aitem et le profil de l'utilisateur.
2. Filtrage collaboratif (CF) - Utilisateurs/aitems similaires sur les signaux d'interaction.
3. Factorisation matricielle/embeddings - facteurs cachés, dot-product/MLP pour score.
4. Learning-to-Rank (LTR) est un gradient de boosting/réseaux neuronaux pour le classement des listes (pairwise/listwise).
5. Re-classement de la couche - post-traitement en tenant compte de la diversification/nouveauté/contraintes.
6. Bandits contextuels - apprentissage en ligne avec exploration-exploitation.
7. RL/seq-recommandations - optimisation du chemin/de la session (prix multi-pistes).
3) Convoyeur de décision
1. Recall (sélection rapide des candidats, 200-5k) : ANN par embeddings, regles-bass/catégorie, popularité.
2. Rank (scoring exact, 20-200) : LTR/MLP avec des dattes riches.
3. Re-rank/Policy (fin. liste, 5-30) : optimisation polyvalente + contraintes et diversification.
4. Action : affichage/push/e-mail/vitrine personnelle avec caps et « heures silencieuses ».
5. Feedback : impulsitit/explicit signaux → réapprentissage/bandit mise à jour.
4) Objectifs et contraintes polyvalents
Objectifs : CTR/CTCVR, rétention, revenus, marge, LTV, satisfaction, rapidité.
Restrictions : fréquence des contacts, RG/conformité, diversité des catégories, quotas de marques/fournisseurs, fairness.
[
\max \sum_i w_i \cdot \text{Objective}_i \quad
\text{s. t. } \text{caps, RG, diversity, SLA}
]
Pratique : faire policy-aware re-ranking (voir § 7), où le score est combiné avec les règles.
5) Démarrage à froid et petites données
Nouveaux utilisateurs : popularité par segment/canal/géo, contenu basé sur un questionnaire/premier clic, bandit avec une large intelligence.
Nouveaux aytems : embeddings de contenu (texte/balises), métadonnées, « look-alike » par fournisseur/genre.
Few-shot : transfert d'embedding/multi-tâche (tour partagée).
6) Métriques d'évaluation
Hors ligne
Classification/classement : AUC/PR-AUC, NDCG @ k, MAP, Recall @ k.
Activité : eCPM/eRPM, revenu/marge attendu, LTV proxy.
Polyvalent : métriques pondérées (p.ex. NDCG avec gain = valeur).
Étalonnage : Brier, ECE (pour les probabilités).
Списки: coverage/diversity/novelty/serendipity.
En ligne
A/B et tests de bandes : CTR, CTCVR, revenu/session, rétention de D1/D7, plaintes/désistements (guardrails), latency/SLA.
Incrément : lift %, CUPED/quasi-expériences en cas de randomisation complexe.
7) Diversification et politique-aware re-ranking
MMR/PM-2/xQuAD : équilibre entre « pertinence × nouveauté ».
Quotas : min/max par genre/fournisseur/catégorie de risque.
Fairness : limiter les parts pour éviter les distorsions systématiques.
[
\textstyle \text{Score} = \alpha \cdot \hat{p}_{\text{click}} + \beta \cdot \text{Value} - \gamma \cdot \text{Fatigue} + \delta \cdot \text{Novelty}
]
Hystérésis : ne pas « clignoter » avec des listes ; mettre à jour les positions avec inertie.
8) Bandits contextuels et RL
Bandits (LinUCB, Thompson) : rapide en ligne, contrôle d'exploration. Bon pour la première position/créatif/canal.
Bandits en cascade : optimisation top-k.
RL (DQN/Policy Gradient/SlateQ) : personnalisation de session, optimisation des récompenses multi-notes (retour/chiffre d'affaires/longue session).
Sécurité : Évaluation de la politique de remplacement (IPS/DR), simulateurs, caps par étude, safe RL.
9) Personnalisation sous l'effet causal
Modèles uplift : qui devrait être touché (persuadables), Qini/AUUC, uplift @ k.
Classement par traitement : incluez la probabilité d'incrémentation au lieu du CTR « brut ».
Guardrails : segments Do-Not-Disturb, règles RG, fairness.
10) Architecture et MLOps
Feature Store : parité en ligne/hors ligne, point-in-time, TTL pour les fiches de session.
Services de handicap : ANN/FAISS/ScaNN, cashing/sharding par segment.
Ranker : Busting/MLP/Architecture Tour, étalonnage.
Politique/Re-rank : règles/restrictions, diversification, couche de gang.
Orchestration : idempotence des requêtes, p95 latinité ≤ 100-300 ms, DLQ/retrai.
Observabilité : trace "correlation _ id', fich-drift (PSI), métriques de qualité," stop-grue ".
11) Sécurité, vie privée, éthique
Minimisation PII : Tokenization, RLS/CLS, masquage.
Explication : top-features/raisons de l'affichage ; la voie de l'appel.
Éthique/RG : caps de fréquence, « heures silencieuses », interdictions d'offers agressifs chez les groupes vulnérables.
Conformité : audit des solutions/logs, de la version des politiques et des créatifs.
12) Passeports et tables de décision
Passeport du conseiller (exemple)
ID/version : 'REC _ HYBRID _ RANK _ v5'
Recall: ANN (user/item embeddings), top-500
Ranker: LTR-GBM + MLP (features: user RFM, item meta, context)
Re-rank : PM-2 (diversité), quotas de marques, filtres RG, caps de fréquence
Objectifs/métriques : NDCG @ 10, eRPM, zhaloby≤Kh, latitude p95≤150 ms
A/B : 14 jours, CUPED ; guardrails - RG/livrables
Propriétaires/Loging/Runibook
Table de décision (croquis)
13) Pseudo-code (sketch)
A. Recall hybride + rank + re-rank
python
Recall cands_emb = ann. recall(user_embed, topk=500)
cands_rule = rule_based. popular_by_segment(user, k=200)
cands = dedup(cands_emb + cands_rule)
Rank features = featurize(user, cands, context) # user/item/context scores = ranker. predict(features) # CTR/Value score
Re-rank (policy-aware)
final = rerank(
cands, scores,
constraints=dict(diversity_min={'category':3},
brand_quota={'A':0. 3,'B':0. 3},
rg_filter=True,
freq_caps=per_user_caps(user)),
objective_weights=dict(ctr=0. 6, value=0. 3, novelty=0. 1)
)
return final[:N]
B. Thompson Sampling pour créatifs
python beta priors per creative: (α, β)
for creative in creatives:
p_hat = np. random. beta(alpha[creative], beta[creative])
chosen = argmax(p_hat)
show(chosen)
update(alpha, beta, reward=click)
14) Diagnostic et surveillance
Qualité : NDCG/Recall @ k, eRPM, coverage/diversité, étalonnage.
En ligne : CTR/CTCVR, revenu/session, rétention, plaintes/désistements, latency/timeout.
Dérive : PSI/KL sur les fiches clés, chute de corrélation oflayn↔onlayn.
Restrictions : exécution de quotas/diversité, coups dans les filtres RG, caps de fréquence.
Runibooks : dégradation du recall (chute de l'ANN), augmentation des plaintes, flambée des tymoutes, folback d'urgence (sécurité populaire).
15) Erreurs fréquentes
Optimisation du « CTR brut » au lieu de l'incrément/valeur.
Est absent re-ranking de la couche → la variété pauvre, "le tunnel de la vue".
Les visages du futur, le mélange de TZ, les définitions incohérentes des signaux.
L'absence de calibrage et de seuils → « gâche » le budget et les caps de fréquence.
Ignorer RG/éthique et fairness → les plaintes, les risques, les problèmes réglementaires.
Nesynchron en ligne/hors ligne fiche → échec dans la vente.
16) Chèque avant la publication de la personnalisation
- Passeport modèle (objectifs, restrictions, métriques, propriétaires, versions)
- Recall/Rank/Re-rank sont espacés ; ANN et cachets chauffés
- fiches PIT et étalonnage, repères hors ligne (NDCG/PR-AUC) passés
- A/B-design et guardrails ; rapport decision-ready (effets et risques)
- Limites : RG/fréquence/diversité/quotas - mis en œuvre et surveillés
- Observabilité, alertes, « stop grue », folbacks (popular-safe)
- Documentation et runibooks, plan d'amélioration incrémentielle
Résultat
Les modèles de la personnalisation sont effectifs seulement comme policy-aware le système : les riches données et эмбеддинги → l'hybride Recall/Rank/Re-rank → les bandits/RL pour l'adaptation en ligne → les buts multifonction sous les restrictions rigides et l'éthique → discipliné MLOps et le monitoring. Un tel circuit fournit non seulement des « recommandations », mais aussi des solutions gérables qui augmentent ROMI, LTV et satisfaction - de manière sûre, transparente et reproductible.