Öneri sistemleri
Öneri sistemleri
Öneri sistemi sadece bir "TO modeli değildir. "Bu bir veri boru hattı, adaylar, sıralama, politika, eylem, artımlı değeri gerçek dünya kısıtlamaları (hız, frekans sınırları, çeşitlilik, etik/uyumluluk) altında optimize eden geribildirim.
1) Veriler, sinyaller ve temsiller
Olaylar: görünümler/tıklamalar/eklemeler/satın almalar/para yatırmalar, bekleme süresi, iptaller.
İçerik/katalog: öznitelikler (kategoriler/türler/stüdyolar/fiyat/tazelik/oynaklık).
Kullanıcı profilleri: RFM, tercihler, cihazlar/kanallar, zaman aralıkları.
Bağlam: saat/gün/tatiller/maçlar, yerel/TZ, görüntüleme sitesi.
Kalite: Zamanında tarifler, olayların idempotensi, deadup/antiboot, PII maskeleme.
Gömme: paylaşılan alanda kullanıcı/öğe/bağlam (MF/Word2Vec2Rec/transformatörler), multimodal (metin/görüntüler).
2) Mimari: Geri Çağırma - Rütbe - Yeniden Sıralama - Eylem
1. Aday geri çağırma (200-5000 aday): ANN (FAISS/ScaNN), popülerlik/eğilimler, kural tabanlı filtreler.
2. Sıralama (20-200): LTR (GBM/NN), Kule mimarileri, ikili/çoklu hedef hedefleri (tıklama, dönüşüm, değer).
3. Politikaya duyarlı yeniden sıralama (nihai listede 5-30): çeşitlendirme/yenilik/şans, marka/kategori kotaları, RG/uyumluluk, sıklık sınırları, adalet.
4. Eylem: cooldowns ve "sessiz saatler'ile gösteri/push/e-posta/kişisel vitrin.
5. Geribildirim: log 'gösterim - tıklama - eylem - değer', olumsuz geribildirim (atlama, şikayet).
3) Model paradigmalar
İçerik tabanlı: BT özelliklerine ve profiline göre yakınlık; Öğeler için soğuk bir başlangıç için idealdir.
İşbirlikçi filtreleme: etkileşim matrisine göre kullanıcı-kullanıcı/öğe-öğe.
Çarpanlara ayırma/gömme: MF/BPR/NeuMF, iki kuleli MLP (kullanıcı kulesi × öğe kulesi).
Learning-to-Rank: pairwise/listwise (LambdaMART, RankNet), NDCG optimizasyonu @ k.
Oturum/sıralı: GRU4Rec, SASRec, Transformers (T5-style) - oturumda düzen/bağlam.
Bağlamsal haydutlar: Hızlı çevrimiçi uyarlamalar ve yaratıcılar için LinUCB/Thompson.
RL: Çok adımlı ödül için SlateQ/DQN/Policy Gradient (retention/LTV).
Nedensel/yükseltme yaklaşımları: "ham TO'yu değil, artışı dikkate alan öneriler.
4) Görevin hedefleri, sınırlamaları ve formülasyonu
Hedefler: TO/CTCVR, gelir/marj/LTV, elde tutma, memnuniyet, hız.
Sınırlamalar: çeşitlendirme, sağlayıcı/kategori kotaları, sıklık sınırları, RG/uyumluluk, adalet/etik, SLA p95.
[
\ textstyle Score =\alpha\cdot\hat p_{\text{click}} +\beta\cdot\text {Value}
\ gamma\cdot\text {Yorgunluk} +\delta\cdot\text {Yenilik} -\sum _ j\lambda _ j\cdot\text {Ceza} _ j
]
Cezanın kota/RG/frekans/monotonluk ihlalleri olduğu durumlarda.
5) Metrikler ve puanlama
Çevrimdışı
Uygunluk/sıralama: AUC/PR-AUC, Recall @ k, MAP, NDCG @ k.
İş: eRPM/eCPM, proxy-LTV, beklenen marj.
Kalibrasyon: Brier, ECE (eşikler/politikalar için önemlidir).
Списки: kapsam/çeşitlilik/yenilik/şans.
Online
A/B/çoklu etiket testleri: TO, CTCVR, gelir/oturum, tutma, şikayetler/abonelikten çıkma (korkuluklar), gecikme/zaman aşımı.
Nedensel değerlendirme: CUPED, sınırlı randomizasyonda yarı-deneyler (DiD/sentetik kontrol).
Yükseltme metrikleri: Qini/AUUC, uplift @ k - tedaviye duyarlı öneriler için.
6) Soğuk başlangıç ve seyreklik
Yeni kullanıcılar: Popüler @ segment, içerik anketi, ilk tıklamaya dayalı içerik, geniş zekalı haydut.
Yeni aytemler: meta veriler/metin gömmeleri/görüntüler + stüdyo/kategoriye göre benzer.
Küçük alanlar: transfer öğrenme, çoklu görev (paylaşılan kule), etki alanları arası damıtma.
7) Çeşitlendirme, yenilik, şans
Algoritmalar: MMR, xQuAD, PM-2; Monotonluk için para cezası.
Kotalar: Kategoriye/markaya/risk sınıfına göre min/max.
Liste kararlılığı: pozisyon ataleti, histerezi güncelleme; Çıktıyı "flaş" etmeyin.
8) Altyapı ve MLOps
Özellik Mağazası: PIT tarifleri, oturum özellikleri için TTL, çevrimiçi/çevrimdışı parite.
ANN servisleri: FAISS/ScaNN, sharding/cache, replication.
Ranker: gerçek zamanlı özellikler, kalibrasyon, sürüm imzaları.
Politika/Yeniden sıralama katmanı: limitler/kotalar/RG/frekanslar/çeşitlilik.
SLA: uçtan uca p95 ≤ 100-300 мс; Fallback (popüler-güvenli) bozulma altında.
Gözlemlenebilirlik: Korelasyon _ id izleri, özellik sürüklenmesi (PSI), çevrimiçi kalite metrikleri, durma vinci.
9) Güvenlik, gizlilik, etik
PII minimizasyonu, RLS/CLS, maskeleme.
RG/uyumluluk filtreleri önce ekran, frekans kapakları, sessiz saatler.
Segmentlere göre adalet teşhisi; Gösterinin nedenlerinin açıklanması; Temyiz yolu.
10) Pseudo-code: Geri çağırma ^ Rank ^ Re-rank hybrid
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]
Yaratıcılar için Thompson Örnekleme (taslak)
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) Pseudo-SQL: negatif geribildirim ve frekans kapakları
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) Karar tablosu
13) Anti-desenler
Artış ve değer yerine "ham TO'nun optimizasyonu.
Yeniden sıralama katmanı eksikliği - aşırı monotonluk, "görme tüneli".
Gelecekten gelen yüzler; TZ karıştırma; Non-versed sinyal tanımları.
Olasılıkların kalibrasyonu yok - yanlış eşikler/politikalar.
RG/etiği/adaleti görmezden gelin - şikayetler/riskler/para cezaları.
Çevrimiçi/çevrimdışı senkronize edilmemiş özellik ve metrikler - gıdada "düşüş".
Fallback ve stop valfi yokluğu.
14) Öneri başlatma kontrol listesi
- Sistem Pasaportu - Hedefler, Sınırlamalar, Metrikler, Sahipler, Sürümler
- Geri çağırma/Rank/Re-rank boşanmış; ANN ısındı, önbellekler yapılandırıldı
- PIT özellikleri, kalibrasyon, çevrimdışı kriterler (NDCG/PR-AUC) geçti
- A/B tasarımı ve korkuluklar; Karara hazır rapor
- Kısıtlamalar: çeşitlilik/kotalar/RG/frekans sınırları - uygulanan ve izlenen
- SLA p95, izler, uyarılar, durdurma vinç ve popüler güvenli geri dönüş
- Dokümantasyon, Runibooks, Artımlı İyileştirme Planı
Sonuç
Güçlü bir öneri sistemi, politikaya duyarlı boru hattıdır: Hız, etik ve çeşitlilik kısıtlamaları altında artan değeri optimize eden melez bir Geri Çağırma/Sıralama/Yeniden sıralama. Çevrimiçi adaptasyon, MLOps disiplini ve doğru nedensel değerlendirme için haydutlar/RL ekleyerek, "listeler uğruna listeler'değil, ROMI, LTV ve kullanıcı memnuniyetini artıran yönetilen çözümler elde edersiniz - istikrarlı ve güvenli.