Tövsiyə sistemləri
Tövsiyə sistemləri
Tövsiyə sistemi yalnız «CTR modeli» deyil. Bu konveyer data → namizədlər → sıralama → siyasət → fəaliyyət → geribildirim, real məhdudiyyətlər altında inkremental dəyəri optimallaşdırır (sürət, tezlik, müxtəliflik, etika/uyğunluq).
1) Məlumatlar, siqnallar və təqdimatlar
Hadisələr: baxış/klik/əlavə/alış/depozitlər, dwell-time, ləğv.
Məzmun/kataloq: atributlar (kateqoriyalar/janrlar/studiyalar/qiymət/təravət/dəyişkənlik).
İstifadəçi profilləri: RFM, üstünlüklər, cihazlar/kanallar, vaxt yuvaları.
Kontekst: saat/gün/bayramlar/matçlar, lokal/TZ, nümayiş meydançası.
Keyfiyyət: point-in-time reseptlər, hadisələrin idempotentliyi, dedup/antibot, PII maskalanması.
Embeddinq: ümumi məkanda user/item/context (MF/Word2Vec2Rec/transformers), multimodal (mətn/görüntü).
2) Memarlıq: Recall → Rank → Re-rank → Action
1. Candidate recall (200-5000 namizəd): ANN (FAISS/ScaNN), populyarlıq/trendlər, rule-əsaslı filtrlər.
2. Ranking (20-200): LTR (GBM/NN), Tower-memarlıqlar, ikilik/multisel hədəflər (click, conversion, value).
3. Policy-aware re-rank (yekun siyahıda 5-30): diversifikasiya/yenilik/serendiplik, marka/kateqoriya kvotaları, RG/komplayens, tezlik qapaqları, fairness.
4. Action :/push/e-mail/kuldauns və «sakit saat» ilə şəxsi vitrin.
5. Feedback: log 'impression → click → action → value', mənfi rəy (skip, şikayət).
3) Model paradiqmaları
Content-based: aytem və profil əlamətlərinə görə yaxınlıq; aitemlərin soyuq başlaması üçün idealdır.
Əməkdaşlıq filtrasiyası: qarşılıqlı təsir matrisi üzrə user-user/item-item.
Faktorizasiya/embeddinq: MF/BPR/NeuMF, iki qülləli MLP (user tower × item tower).
Learning-to-Rank: pairwise/listwise (LambdaMART, RankNet), NDCG @k optimallaşdırılması.
Sessiya/ardıcıl: GRU4Rec, SASRec, Transformers (T5-style) - sessiyada sifariş/kontekst.
Kontekst quldurlar: LinUCB/Thompson sürətli online adaptasiya və yaradıcılıq üçün.
RL: SlateQ/DQN/Policy Gradient çox mərhələli mükafat (saxlama/LTV).
Kauzal/uplift yanaşmaları: «xam CTR» deyil, artımı nəzərə alan tövsiyələr.
4) Məqsədlər, məhdudiyyətlər və tapşırığın ifadəsi
Məqsədlər: CTR/CTCVR, gəlir/marja/LTV, saxlama, məmnunluq, sürət.
Məhdudiyyətlər: diversifikasiya, provayder/kateqoriya kvotaları, tezlik qapaqları, 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
]
burada Penalty - kvota pozuntuları/RG/tezlik/monotonluq.
5) Metrika və qiymətləndirmə
Offline
Müvafiq/sıralama: AUC/PR-AUC, Recall @k, MAP, NDCG @k.
Biznes: eRPM/eCPM, proxy-LTV, gözlənilən marja.
Kalibrləmə: Brier, ECE (eşik/siyasət üçün vacibdir).
Списки: coverage/diversity/novelty/serendipity.
Onlayn
A/B/çoxframlı testlər: CTR, CTCVR, gəlir/seans, saxlama, şikayətlər/cavablar (guardrails), latency/timeout.
Kauzal qiymətləndirmə: CUPED, məhdud randomizasiya ilə kvazi eksperimentlər (DiD/sintetik nəzarət).
Uplift Metrics: Qini/AUUC, uplift @k - treatment-aware tövsiyələr üçün.
6) Soyuq başlanğıc və seyrəklik
Yeni istifadəçilər: populyar @segment, məzmun sorğusu, ilk klik məzmun based, geniş kəşfiyyat quldur.
Yeni aytemlər: metadata/mətn embeddingi/şəkil + look-alike studiya/kateqoriya.
Kiçik domenlər: transfer learning, multi-task (shared tower), cross-domain distillation.
7) Diversifikasiya, yenilik, serendiplik
Alqoritmlər: MMR, xQuAD, PM-2; monotonluğa görə cərimələr.
Kvotalar: kateqoriyalar/brendlər/risk sinifləri üzrə min/max.
Siyahıların sabitliyi: mövqelərin ətaləti, yeniləmələrin histerezisi; buraxılışla «yanıb-sönməyin».
8) Infrastruktur və MLOps
Feature Store: PIT reseptlər, seans üçün TTL, online/offline paritet.
ANN-xidmətlər: FAISS/ScaNN, şardinq/cash, replikasiya.
Ranker: real-time fich, kalibrləmə, imza versiyası.
Policy/Re-rank qat: məhdudiyyətlər/kvotalar/RG/tezliklər/diversity.
SLA: end-to-end p95 ≤ 100–300 мс; deqradasiya zamanı fallback (popular-safe).
Müşahidə: trass 'correlation _ id', fich-drift (PSI), onlayn keyfiyyət metrləri, «stop-kran».
9) Təhlükəsizlik, məxfilik, etika
PII minimallaşdırılması, RLS/CLS, maskalama.
RG/komplayens filtrləri, tezlik qapaqları, «sakit saat».
Seqmentlər üzrə fairness-diaqnostika; göstərilmə səbəblərinin açıqlanması; apellyasiya yolu.
10) Psevdo-kod: hibrid 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 yaradıcılıq üçün (eskiz)
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: mənfi rəy və tezlik qapaqları
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 (siyasət eskizi)
13) Anti-nümunələr
Inkrement və dəyər əvəzinə «xam CTR» optimallaşdırılması.
Re-rank təbəqəsinin olmaması → artıq monotonluq, «görmə tuneli».
Gələcəkdən olanlar; TZ qarışdırma; siqnalların unversed tərifi.
Heç bir ehtimal kalibrləmə → səhv hədd/siyasət.
Ignor RG/etika/fairness → şikayətlər/risklər/cərimələr.
Online/oflayn rasinxron fich və metrik - prodda «çökmə».
fallback və «stop-kran» yoxdur.
14) Check-list başlanğıc tövsiyəçi
- Pasport sistemi: məqsədlər, məhdudiyyətlər, metriklər, sahibləri, versiyalar
- Recall/Rank/Re-rank boşandı; ANN isitmə, caches özelleştirilmiş
- PIT Ficks, kalibrləmə, oflayn bençmarklar (NDCG/PR-AUC) keçdi
- A/B-dizayn və guardrails; decision-ready hesabatı (effekt/risklər)
- Məhdudiyyətlər: diversity/kvotalar/RG/tezlik qapaqları - həyata keçirilmiş və izlənilir
- SLA p95, izlər, alertlər, «stop-kran» və popular-safe fallback
- Sənədləşmə, Runibook, Artımlı Təkmilləşdirmə Planı
Yekun
Güclü tövsiyə sistemi policy-aware konveyerdir: sürət, etika və müxtəliflik məhdudiyyətləri altında inkremental dəyəri optimallaşdıran hibrid Recall/Rank/Re-rank. Onlayn adaptasiya, MLOps intizamı və düzgün kauzal qiymətləndirmə üçün quldurlar/RL əlavə edərək, «siyahılar üçün siyahılar» deyil, ROMI, LTV və istifadəçi məmnuniyyətini artıran idarə olunan həllər - sabit və təhlükəsizdir.