Tavsiya tizimlari
Tavsiya tizimlari
Tavsiya tizimi nafaqat «CTR modeli» dir. Bu konveyer ma’lumotlari → nomzodlar → reyting → siyosat → harakat → haqiqiy cheklovlar ostida inkremental qiymatni optimallashtiradigan fikr-mulohazalar (tezlik, chastota, xilma-xillik, axloq/komplayens).
1) Ma’lumotlar, signallar va taqdimotlar
Voqealar: koʻrish/bosish/qoʻshish/sotib olish/depozitlar, dwell-time, bekor qilish.
Kontent/katalog: atributlar (toifalar/janrlar/studiyalar/narx/yangilik/o’zgaruvchanlik).
Foydalanuvchi profillari: RFM, preferentsiyalar, qurilmalar/kanallar, taym-slotlar.
Kontekst: soat/kun/bayramlar/o’yinlar, lokal/TZ, namoyish maydoni.
Sifati: point-in-time retseptlari, voqealarning idempotentligi, dedup/antibot, PII niqoblash.
Embeddinglar: umumiy makonda user/item/context (MF/Word2Vec2Rec/transformers), multimodal (matn/tasvir).
2) Arxitektura: Recall → Rank → Re-rank → Action
1. Candidate recall (200-5000 nomzod): ANN (FAISS/ScaNN), mashhurlik/trendlar, rule-based filtrlar.
2. Ranking (20-200): LTR (GBM/NN), Tower-arxitektura, ikkilik/multitselli targetlar (click, conversion, value).
3. Policy-aware re-rank (yakuniy ro’yxatda 5-30): diversifikatsiya/yangilik/serendiplik, brendlar/toifalar kvotalari, RG/komplayens, chastota kaplari, fairness.
4. Action :/push/e-mail/kuldaunalar va «sokin soatlar» bilan shaxsiy vitrin.
5. Feedback: log’impression → click → action → value’, salbiy fikr (skip, shikoyat).
3) Model paradigmalari
Content-based: aytem va profil belgilari boʻyicha yaqinlik; aytemlarning sovuq boshlanishi uchun ideal.
Hamkorlikdagi filtrlash: user-user/item-item o’zaro ta’sir matritsasi bo’yicha.
Faktorizatsiya/embeddinglar: MF/BPR/NeuMF, ikki minorali MLP (user tower × item tower).
Learning-to-Rank: pairwise/listwise (LambdaMART, RankNet), NDCG @k ni optimallashtirish.
Sessiya/ketma-ket: GRU4Rec, SASRec, Transformers (T5-style) - sessiyadagi tartib/kontekst.
Kontekst banditlar: LinUCB/Thompson tezkor onlayn moslashuvlar va kreativlar uchun.
RL: SlateQ/DQN/Policy Gradient ko’p bosqichli mukofot uchun (ushlab qolish/LTV).
Kauzal/uplift-yondashuvlar: «xom CTR» emas, balki o’sishni hisobga oluvchi tavsiyalar.
4) Vazifaning maqsadi, cheklanishi va mazmuni
Maqsadlar: CTR/CTCVR, daromad/marja/LTV, ushlab qolish, qoniqish, tezlik.
Cheklovlar: diversifikatsiya, provayderlar/toifalar kvotalari, chastota kaplari, RG/komplayens, fairness/etika, SLA p95.
[
\textstyle Score = \alpha \cdot \hat p_{\text{click}} + \beta \cdot \text{Value}
\gamma \cdot \text{Fatigue} + \delta \cdot \text{Novelty} - \sum_j \lambda_j \cdot \text{Penalty}_j
]
bunda Penalty - kvotalarning/RG/chastotalarning/bir xillikning buzilishi.
5) Metrika va baholash
Oflayn
Relevantlik/reyting: AUC/PR-AUC, Recall @k, MAP, NDCG @k.
Biznes: eRPM/eCPM, proxy-LTV, kutilayotgan marja.
Kalibrlash: Brier, ECE (chegara/siyosat uchun muhim).
Списки: coverage/diversity/novelty/serendipity.
Onlayn
A/B/ko’p ramkali testlar: CTR, CTCVR, daromad/seans, ushlab qolish, shikoyatlar/javoblar (guardrails), latency/timeout.
Kauzal baholash: CUPED, kvazieksperimentlar (DiD/sintetik nazorat) cheklangan randomizatsiyada.
Uplift-metriklar: Qini/AUUC, uplift @k - treatment-aware tavsiyalari uchun.
6) Sovuq start va siyraklik
Yangi foydalanuvchilar: popular @segment, kontent soʻrovi, birinchi klip boʻyicha kontent-based, keng razvedkali bandit.
Yangi aytemalar: meta maʼlumotlar/matnli embeddinglar/rasmlar + studiya/toifadagi look-alike.
Kichik domenlar: transfer learning, multi-task (shared tower), cross-domain distillation.
7) Diversifikatsiya, yangilik, serendiplik
Algoritmlar: MMR, xQuAD, PM-2; monotonligi uchun jarimalar.
Kvotalar: toifalar/brendlar/tavakkalchilik klasslari bo’yicha min/max.
Ro’yxatlarning barqarorligi: pozitsiyalarning inertsiyasi, yangilanishlar gisterezisi; berishda «miltillamang».
8) Infratuzilma va MLOps
Feature Store: PIT-retseptlar, sessiya uchun TTL, onlayn/oflayn paritet.
ANN xizmatlari: FAISS/ScaNN, sharding/kesh, replikatsiya.
Ranker: real-time fichi, kalibrlash, variant imzolari.
Policy/Re-rank qatlami: cheklovlar/kvotalar/RG/chastotalar/diversity.
SLA: end-to-end p95 ≤ 100–300 мс; degradatsiyada fallback (popular-safe).
Kuzatish darajasi: trastirovka’correlation _ id’, fich-drift (PSI), onlayn sifat metrikasi, «stop-kran».
9) Xavfsizlik, maxfiylik, axloq
PII, RLS/CLS minimallashtirish, niqoblash.
Ko’rsatishgacha bo’lgan RG/komplayens-filtrlar, chastota kaplari, «sokin soatlar».
segmentlar bo’yicha Fairness-diagnostika; ko’rsatish sabablarining tushunarliligi; apellatsiya yo’li.
10) Psevdo-kod: gibrid Recall → Rank → Re-rank
python
Recall cand_emb = ann.recall(user_embed, topk=500)
cand_rule = popular.by_segment(user.segment, k=200)
cands = dedup(cand_emb + cand_rule)
Rank features = featurize(user, cands, context) # user/item/context scores = ranker.predict(features) # p(click), value
Policy-aware re-rank final = rerank(
cands, scores,
constraints=dict(
diversity_min={'category': 3},
brand_quota={'A':0.3,'B':0.3},
rg_filter=True,
freq_caps=get_user_caps(user)
),
objective_weights=dict(ctr=0.6, value=0.3, novelty=0.1)
)
return final[:N]
Thompson Sampling kreativlar uchun
python beta priors per creative: (α, β)
samples = {cr: np.random.beta(alpha[cr], beta[cr]) for cr in creatives}
chosen = max(samples, key=samples.get)
show(chosen)
update(alpha, beta, reward=click)
11) Psevdo-SQL: salbiy teskari aloqa va chastota qopqoqlari
sql
-- Последний показ и флаги «скрыть/жалоба» → баним на 7 дней
WITH last_impr AS (
SELECT user_id, item_id,
MAX(ts) AS last_ts,
BOOL_OR(feedback_hide) AS hidden,
BOOL_OR(feedback_report) AS reported
FROM impressions
GROUP BY 1,2
)
SELECT i.
FROM inventory i
LEFT JOIN last_impr l ON l.user_id=:uid AND l.item_id=i.item_id
WHERE COALESCE(l.hidden,false)=false
AND COALESCE(l.reported,false)=false
AND (l.last_ts IS NULL OR l.last_ts < NOW() - INTERVAL '7 day');
12) Decision table (siyosat eskizi)
13) Anti-patternlar
Inkrement va qadriyat o’rniga «xom CTR» ni optimallashtirish.
Re-rank qatlamining yo’qligi → ortiqcha monotonlik, «ko’rish tunneli».
Kelajak yuzlari; TZ aralashmasi; signallarning talabsiz aniqlanishi.
Kalibrlash imkoniyati yoʻq → notoʻgʻri chegaralar/siyosatlar.
Ignor RG/etika/fairness → shikoyatlar/tavakkalchiliklar/jarimalar.
Onlayn/oflayn rasinxron fich va metrik - prodda «cho’kish».
Fallback va stop-kran yo’qligi.
14) Tavsiyanomani ishga tushirish chek-varaqasi
- Tizim pasporti: maqsadlar, cheklovlar, metriklar, egalari, versiyalari
- Recall/Rank/Re-rank ajrashgan; ANN oʻchirilgan, keshlar sozlangan
- PIT-fichlar, kalibrlash, oflayn benchmarklar (NDCG/PR-AUC) o’tkazildi
- A/B-dizayn va guardrails; decision-ready hisoboti (effekt/xavf)
- Cheklovlar: diversity/kvotalar/RG/chastota kaplari - amalga oshirildi va monitoring qilinmoqda
- SLA p95, trassalar, alertlar, «stop-kran» va popular-safe fallback
- Hujjatlar, runibuklar, inkremental yaxshilanishlar rejasi
Jami
Kuchli tavsiya tizimi - bu tezlik, axloq va xilma-xillik chegaralari ostida inkremental qiymatni optimallashtiradigan Recall/Rank/Re-rank gibrid policy-aware konveyeri. Onlayn moslashish uchun banditlar/RL, MLOps intizomi va to’g’ri kauzal baho qo’shish orqali siz «ro’yxatlar uchun ro’yxatlar» emas, balki ROMI, LTV va foydalanuvchi qoniqishini oshiradigan boshqariladigan echimlarni olasiz - barqaror va xavfsiz.