Strojové učení v doporučovacích systémech

Strojové učení jako motor prediktivních doporučení

Prediktivní doporučovací algoritmy přeměňují surová interakční data na personalizované návrhy produktů, článků, videí či služeb. Strojové učení zde funguje jako „výrobce pravděpodobností“ – odhaduje, s jakou pravděpodobností uživatel provede akci (zobrazení → klik → nákup → opakovaný nákup). Kvalita doporučení je výsledkem tří vrstev: datového základu (události, kontext, obsah), modelové vrstvy (embeddingy, ranking) a operační aktivace (serving s nízkou latencí, zpětná vazba, experimenty).

Charakter dat v doporučovacích systémech

  • Explicitní zpětná vazba: hodnocení, recenze, palce nahoru/dolů. Hlasitější, ale vzácnější.
  • Implicitní zpětná vazba: kliky, zobrazení, doba setrvání (dwell-time), přidání do košíku, nákupy. Bohatá, ale šumová.
  • Řidkost a long-tail: většina položek má málo interakcí; vyžaduje dobré generalizační reprezentace.
  • Kontext: čas, zařízení, umístění slotu, zdroj návštěvy, lokalita – významné pro relevanci.
  • Multimodalita: text (názvy, popisy), obrázky, audio/video signály, metadata katalogu.

Paradigmy učení: od deskriptivního k kauzálnímu

  • Supervizované učení: predikce pravděpodobnosti kliknutí/konverze (CTR/CVR) nebo skóre preference.
  • Učení bez dozoru a self-supervised: učení reprezentací (embeddingů) z ko-vyskytů a sekvencí.
  • Učení na pořadí (LTR): optimalizace top-K seznamu pomocí pointwise/pairwise/listwise strategií.
  • Kauzální učení: odhad efektu prezentace (uplift), korekce na bias v logách (IPS, DR).
  • Reinforcement learning: optimalizace dlouhodobých odměn (retence, LTV) v opakovaných interakcích.

Základní algoritmy: od heuristik k maticové faktorizaci

  • Heuristiky a asociační pravidla: „lidé kupující A často kupují i B“, analýza košíku; rychlé, ale omezené.
  • Kolaborativní filtrování (CF) – user-user / item-item: podobnost založená na interakčních vektorech (kosinus, Jaccard); dobré pro studený katalog se silnými vzory.
  • Maticová faktorizace: rozklad interakční matice na latentní faktory; trénování SGD/ALS; pro implicitní data často s váhami a regularizací.
  • BPR (Bayesian Personalized Ranking): párová optimalizace pro implicitní preference (zhlédnuté > nezhlédnuté).

Obsahové a hybridní přístupy

  • Obsahové modely: porovnávají vektory položek (TF-IDF, word/graph embeddingy, vizuální embeddingy) s profilem uživatele.
  • Hybridy: kombinují CF a obsah (např. lineární kombinace skóre, meta-learner, dvojvěžové sítě s vícero zdrojovými vstupy).
  • Výhoda: lepší odolnost vůči cold-start položkám a interpretovatelnější doporučení.

Sekvenční modely a kontext: když pořadí záleží

  • RNN/CNN pro sekvence: modelování posledních N interakcí; krátkodobé trendy a „session-based“ signály.
  • Transformery (např. SASRec, BERT-styl): self-attention na delší závislosti a více úloh (maskování, predikce dalšího kroku).
  • Kontextové featury: čas dne, den v týdnu, zařízení, zdroj; zlepšují relevanci v reálném čase.

Grafová doporučení

Interakce uživatel-položka tvoří bipartitní graf s bohatou strukturou. Grafové neuronové sítě (např. GCN/GraphSAGE) agregují signály ze sousedství a propagují je přes hrany; škálují se skrze vzorkování a mini-batche. Výsledné embeddingy dobře zachycují komunitní a long-tail vzory.

Učení na pořadí: pointwise, pairwise, listwise

  • Pointwise: predikce p(klik), optimalizace log-loss; jednoduché, ale neoptimalizuje přímo top-K.
  • Pairwise (BPR, hinge): maximalizuje, aby preferované položky měly vyšší skóre než nepreferované.
  • Listwise (LambdaRank, softmax loss): optimalizace celého seznamu; lepší shoda s NDCG/MAP.

Bandity a posilované učení pro doporučení

  • Kontextové bandity (LinUCB, Thompson Sampling): rovnováha průzkumu/využití (exploration/exploitation) pro rozhodnutí na úrovni slotu.
  • RL pro „slate“ doporučení: optimalizuje celou sestavu najednou, bere v potaz interakce položek (diverzita, kanibalizace).
  • Reward shaping: kombinace krátkodobých (klik) a dlouhodobých (retence, LTV) odměn.

Feature a embedding engineering

  • Uživatelské featury: demografie (pokud je legální), historie, periodicita, preferované kanály, citlivost na cenu.
  • Featury položek: kategorie, cena, popularita, multimédia (textové, vizuální, akustické embeddingy).
  • Interakční featury: křížové termy (user×item×context), recency/novelty, pozice slotu.
  • Embeddingy: učené end-to-end (dvojvěžové sítě) nebo ze self-supervised úloh (contrastive learning).

Řešení cold-startu

  • Nové položky: obsahové embeddingy, podobnost k existujícím položkám, seed traffic s kontrolovaným průzkumem.
  • Noví uživatelé: onboardingové otázky, implicitní signály z prvních interakcí, průměrné/segmentové priori.
  • Nové trhy: transfer learning a adaptace na lokální preference.

Tréninkové postupy a tvorba datových sad

  • Negativní vzorkování: sampling neinteragovaných položek pro párové/listwise trénování.
  • Označovací okno: definice predikčního horizontu (např. kliknutí do 24 hodin) a „čisté“ pozorování bez úniků informací.
  • Regularizace a kalibrace: L2, dropout, focal loss pro řešení nerovnováhy; kalibrace pravděpodobností (Platt, isotonic).

Metodiky hodnocení: offline, online a kauzální

Offline metriky jsou rychlé, online metriky pravdivé a kauzální metriky spravedlivé vůči biasům v logech. Je vhodné je kombinovat.

Metrika Co měří Použití Poznámka
Precision@K / Recall@K Relevance v top-K Rychlý screening modelů Citlivé na popularitu
MAP / MRR / NDCG Pořadí a váha položek Rankingové cíle NDCG váží pozice
AUC Rozlišovací schopnost Pointwise modely Neoptimalizuje přímo top-K
Diverzita/Novost/Serendipita Šířka a překvapení „Zdraví“ katalogu Vyhnout se filtrační bublině
Coverage Podíl obsloužených položek Long-tail podpora Trade-off s CTR
Kalibrace Přesnost pravděpodobností Plánování a bidding Nezbytné pro multi-cíle
  • Online A/B testy: primární cíle (CTR/CVR/ARPU) + guardrails (latence, reklamní zásady, stížnosti).
  • Interleaving: jemné porovnání dvou rankerů v jednom slotu s nižší expozicí.
  • Kauzální hodnocení: inverse propensity scoring (IPS), doubly robust (DR), counterfactual replay s propensiami.

Etika, férovost a snižování biasu

  • Position/popularity bias: korekce v off-policy hodnocení a tréninku (propensity, randomized exposure).
  • Férovost vůči tvůrcům/položkám: minimální pokrytí, penalizace nadměrné koncentrace, multi-objective ranking.
  • Transparentnost a vyjasnitelnost: lokální vysvětlení (SHAP), kontrafaktuální důvody „proč doporučeno“.
  • Soukromí a compliance: minimalizace atributů, pseudonymizace, federované učení a diferenciální soukromí tam, kde je potřeba.

Optimalizace více cílů (multi-objective)

Reálné systémy optimalizují současně engagement, výnos, diverzitu a spokojenost. Používají se vážené součty, omezení (constraints) nebo multi-objective RL. Při sestavování „slate“ se uplatňuje diverzifikační penalizace (MMR, xQuAD), aby se snížila redundance v top-K.

Architektura systému: od.feature po serving

  • Event tracking a katalog: schéma událostí, důsledné ID uživatele/položky, deduplikace a late-arrival handling.
  • Feature store: konzistentní featury pro trénink i produkční predikce; historické „as-of“ pohledy.
  • Candidate generation → scoring → re-ranking: víceúrovňová architektura pro rychlost a kvalitu.
  • ANN vyhledávání: aproximované nejbližší sousedství (vektorové indexy) pro rychlé kandidáty.
  • Latence a škálování: SLO (např. p95 < 100 ms), horizontální škálování, cache s rozumnou expirací.
  • Feedback loop: logování exponovaných položek s propensií, aby bylo možné korektně trénovat další iterace.

MLOps pro doporučení

  • Verzionování: data, featury, modely, pipeline; reprodukovatelné tréninky.
  • CI/CD modelů: automatické tréninky, validace, kanárkové releasy a rollback.
  • Monitoring: výkon (CTR/CVR), distribuční drift, feature drift, latence, chybovost, anomálie.
  • Governance: dokumentace datových toků, audit experimentů, bezpečnostní a etické přezkoumání.

Příklady modelových architektur a použití

Algoritmus Vstupy Výstup Typický use-case
Item-Item CF Ko-sledování, ko-nákupy Podobné položky „Podobné produkty“ na detailu produktu
MF/BPR Implicitní interakce Latentní embeddingy Personalizované top-K
Dvojvěžová síť Uživatelské a položkové featury Skóre kompatibility Candidate generation v rozsahu
Transformer sekvenční Historie kliků Predikce další položky „Pokračovat ve sledování/čtení“
Kontextový bandita Uživatel+slot+čas Výběr armu Experimentální průzkum
Graph GNN Bipartitní graf Grafové embeddingy Komunitní a long-tail odhalování

Typická úskalí a jak se jim vyhnout

  • Optimalizace na proxy (CTR) bez obchodního dopadu: zavést multi-cíle a offline-online sladění (NDCG vs. ARPU).
  • Filtrační bublina a homogenita: re-ranking s diverzitou, pravidla pokrytí, řízený průzkum.
  • Úniky dat mezi tréninkem a validací: přísné časové dělení, zákaz „budoucích“ featur.
  • Přeučení na populární položky: váhování ztrát, sampling, popularity-aware trénink.
  • Ignorování latence a kapacity: návrh víceúrovňové pipeline, vektorové indexy, kvóty na featury.

Implementační plán (12 měsíců)

  1. 0–3 měsíce: definice schématu událostí, základní CF/MF baseline, offline metriky a dashboardy, jednoduchý A/B rámec.
  2. 4–6 měsíců: dvojvěžová architektura s feature store, ANN index, re-ranking s diverzitou, propensitní logování.
  3. 7–9 měsíců: sekvenční model (Transformer) pro session, bandita na průzkum slotu, kalibrace pravděpodobností.
  4. 10–12 měsíců: grafové embedding