Ұсыным жүйелері
Ұсыным жүйелері
Ұсыным жүйесі - тек «CTR моделі» ғана емес. Бұл конвейер деректер → кандидаттар → ранжирлеу → саясат → әрекет → кері байланыс, нақты шектеулер (жылдамдық, жиілік, алуан түрлілік, этика/комплаенс) астында инкременталдық құндылығын оңтайландыру.
1) Деректер, сигналдар және көріністер
Оқиғалар: қарау/басу/қосу/сатып алу/депозиттер, dwell-time, болдырмау.
Мазмұн/каталог: атрибуттар (санаттар/жанрлар/студиялар/баға/жаңалық/құбылмалылық).
Пайдаланушы профильдері: RFM, артықшылықтар, құрылғылар/арналар, тайм-слоттар.
Контекст: сағат/күн/мерекелер/матчтар, жергілікті/TZ, көрсету алаңы.
Сапасы: point-in-time рецептілері, оқиғаның ұқсастығы, дедуп/антибот, PII бүркемелеу.
Эмбеддингтер: жалпы кеңістіктегі user/item/context (MF/Word2Vec2Rec/transformers), мультимодальдық (мәтін/сурет).
2) Сәулет: Recall → Rank → Re-rank → Action
1. Candidate recall (200-5000 кандидат): ANN (FAISS/ScaNN), танымалдылық/трендтер, rule-based сүзгілері.
2. Ranking (20-200): LTR (GBM/NN), Tower-архитектура, екілік/мультицельді таргеттер (click, conversion, value).
3. Policy-aware re-rank (қорытынды тізімде 5-30): әртараптандыру/жаңалық/серенділік, брендтер/санаттар квотасы, RG/комплаенс, жиілік қапшықтары, fairness.
4. Action: көрсету/пуш/е-mail/кулдауналар мен «тыныш сағаттар» бар жеке витрина.
5. Feedback: лог 'impression → click → action → value', теріс кері байланыс (skip, шағым).
3) Модельдік парадигмалар
Content-based: айтем және бейін белгілері бойынша жақындығы; айтемдердің суық басталуы үшін өте қолайлы.
Бірлескен сүзу: өзара әрекеттесу матрицасы бойынша user-user/item-item.
Факторизация/эмбеддингтер: MF/BPR/NeuMF, екі мұнаралы MLP (user tower × item tower).
Learning-to-Rank: pairwise/listwise (LambdaMART, RankNet), NDCG оңтайландыру @k.
Сессиялық/дәйекті: GRU4Rec, SASRec, Transformers (T5-style) - сессиядағы тәртіп/контекст.
Контекст бандиттері: LinUCB/Thompson жылдам онлайн бейімделу және креативтер үшін.
RL: Көп қадамдық марапат үшін SlateQ/DQN/Policy Gradient (ұстап қалу/LTV).
Каузальдық/uplift-тәсілдер: «шикі CTR» емес, өсімді ескеретін ұсынымдар.
4) Мақсаттар, шектеулер және міндеттерді тұжырымдау
Мақсаттары: CTR/CTCVR, кіріс/маржа/LTV, ұстап қалу, қанағаттану, жылдамдық.
Шектеулер: әртараптандыру, провайдерлердің/санаттардың квоталары, жиіліктер, RG/комплаенс, fairness/этика, 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
]
мұнда Penalty - квоталарды/RG/жиілікті/біркелкілікті бұзу.
5) Метрика және бағалау
Оффлайн
Сәйкестік/ранжирлеу: AUC/PR-AUC, Recall @k, MAP, NDCG @k.
Бизнес: eRPM/eCPM, proxy-LTV, күтілетін маржа.
Калибрлеу: Brier, ECE (табалдырықтар/саясат үшін маңызды).
Списки: coverage/diversity/novelty/serendipity.
Онлайн
A/B/көп рамалы тесттер: CTR, CTCVR, кіріс/сеанс, ұстап қалу, шағымдар/қайтарулар (guardrails), latency/timeout.
Каузальдық бағалау: CUPED, шектелген рандомизация кезінде квазиэксперименттер (DiD/синтетикалық бақылау).
Uplift-метриктер: Qini/AUUC, uplift @k - treatment-aware ұсынымдар үшін.
6) Суық бастау және сиреу
Жаңа пайдаланушылар: popular @segment, контент-сауалнама, контент-based бірінші клик бойынша, кең ауқымды барлау бандит.
Жаңа атемалар: метадеректер/мәтіндік эмбеддингтер/суреттер + студия/санат бойынша look-alike.
Шағын домендер: transfer learning, multi-task (shared tower), cross-domain distillation.
7) Әртараптандыру, жаңашылдық, серенділік
Алгоритмдер: MMR, xQuAD, PM-2; біркелкілік үшін айыппұлдар.
Квоталар: санаттар/брендтер/тәуекел сыныптары бойынша min/max.
Тізімдердің тұрақтылығы: позициялардың инерциясы, жаңартулардың гистерезисі; беру арқылы «жыпылықтамаңыз».
8) Инфрақұрылым және MLOps
Feature Store: PIT-рецептер, сессия үшін TTL, онлайн/оффлайн паритет.
ANN-сервистер: FAISS/ScaNN, шардинг/кэш, репликация.
Ranker: real-time фичи, калибрлеу, нұсқалардың қолтаңбалары.
Policy/Re-rank қабаты: шектеулер/квоталар/RG/жиілік/diversity.
SLA: end-to-end p95 ≤ 100–300 мс; деградация кезінде fallback (popular-safe).
Бақылануы: трассалау 'correlation _ id', фич-дрифт (PSI), онлайндық сапа өлшемдері, «стоп-кран».
9) Қауіпсіздік, құпиялылық, әдеп
PII, RLS/CLS барынша азайту, бүркемелеу.
RG/комплаенс-сүзгілер көрсетілгенге дейін, жиілік қақпақтары, «тыныш сағаттар».
сегменттер бойынша Fairness-диагностика; көрсету себептерін түсіндіру; апелляция жолы.
10) Псевдо-код: гибрид 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 креативтерге арналған
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) Псевдо-SQL: теріс кері байланыс және жиілік қақпақтары
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 (саясаттың нобайы)
13) Қарсы үлгілер
Инкремент пен құндылықтың орнына «шикі CTR» оңтайландыру.
re-rank қабатының жоқтығы → біртектілік артығы, «көру туннелі».
Болашақтан келген тұлғалар; TZ араластыру; сигналдардың тіркелмеген анықтамалары.
Мүмкіндіктерді калибрлеу жоқ → Қате табалдырықтар/саясат.
Ignor RG/этика/fairness → шағымдар/тәуекелдер/айыппұлдар.
Онлайн/офлайн рассинхрон фич және метрик - «шөгу».
fallback және «тоқтату кранының» болмауы.
14) Ұсынушыны іске қосу чек-парағы
- Жүйенің паспорты: мақсаттары, шектеулері, өлшемдері, иелері, нұсқалары
- Recall/Rank/Re-rank ажырасқан; ANN жылытылды, кэштер теңшелді
- PIT-фичтер, калибрлеу, офлайн-бенчмарктер (NDCG/PR-AUC) өтті
- A/B-дизайн және guardrails; decision-ready есебі (әсер/тәуекел)
- Шектеулер: diversity/квоталар/RG/жиілік клапандары - іске асырылды және мониторингіленді
- SLA p95, трассалар, алерталар, «тоқтату краны» және popular-safe fallback
- Құжаттама, рунибуктер, инкрементальдық жақсартулар жоспары
Жиынтық
Күшті ұсыным жүйесі - бұл policy-aware конвейері: жылдамдықты, этиканы және алуан түрлілікті шектеумен инкременттік құндылықты оңтайландыратын гибридті Recall/Rank/Re-rank. Онлайн бейімделу үшін қарақшыларды/RL, MLOps тәртібін және дұрыс каузалды бағалауды қосу арқылы сіз «тізім үшін тізімдерді» емес, ROMI, LTV және пайдаланушылардың қанағаттануын арттыратын басқарылатын шешімдерді тұрақты және қауіпсіз аласыз.