სარეკონსტრუქციო სისტემები
სარეკონსტრუქციო სისტემები
სარეკონსტრუქციო სისტემა არა მხოლოდ CTR მოდელია. ეს არის კონვეიერის მონაცემები - კანდიდატები - რანჟირება - პოლიტიკა - მოქმედება - გამოხმაურება, რომელიც ოპტიმიზაციას უწევს სავარაუდო მნიშვნელობას რეალური შეზღუდვების ქვეშ (სიჩქარე, სიხშირის ქუდი, მრავალფეროვნება, ეთიკა/შესაბამისობა).
1) მონაცემები, სიგნალები და იდეები
მოვლენები: ნახვა/დაწკაპუნება/დამატებები/შესყიდვები/ანაბრები, ორმაგი დრო, გაუქმება.
შინაარსი/კატალოგი: ატრიბუტები (კატეგორიები/ჟანრები/სტუდიები/ფასი/სიახლე/ცვალებადობა).
მომხმარებლის პროფილები: RFM, პრეფერენციები, მოწყობილობები/არხები, დროის სლოტები.
კონტექსტი: საათი/დღე/არდადეგები/მატჩები, ლოკალი/TZ, შოუს ადგილი.
ხარისხი: point-in-time რეცეპტები, მოვლენების იდემპოტენტობა, დედოპი/ანტიბოტი, შენიღბვა PII.
ემბედინგი: user/item/context საერთო სივრცეში (MF/Word2Vec2Rec/ტრანსფორმერები), მულტიმოდური (ტექსტი/სურათები).
2) არქიტექტურა: Recall - Rank - Re-rank - Action
1. Candidate recall (200-5000 კანდიდატი): ANN (FAISS/ScaNN), პოპულარობა/ტენდენციები, დაჩქარებული ფილტრები.
2. Ranking (20-200): LTR (GBM/NN), Tower არქიტექტურა, ორობითი/მრავალ დანიშნულების ტარგეტები (კლიკი, კონვერსია, ვალუ).
3. policy-aware re-rank (საბოლოო სიაში 5-30): დივერსიფიკაცია/სიახლე/serendipence, ბრენდის/კატეგორიის კვოტები, RG/შესაბამისობა, სიხშირის ქუდები, fairness.
4. Action: შოუ/en/e-mail/პერსონალური ვიტრინა, რომელსაც აქვს ფეხები და „მშვიდი საათი“.
5. Feedback: log 'impression - click - action - value', უარყოფითი გამოხმაურება (skip, საჩივარი).
3) სამოდელო პარადიგმები
შინაარსის ბასი: სიახლოვე აიტემისა და პროფილის საფუძველზე; იდეალურია აიტემის ცივი დაწყებისთვის.
თანამშრომლობითი ფილტრაცია: user-user/item-item ურთიერთქმედების მატრიქსის მიხედვით.
ფაქტორიზაცია/ემბედინგი: MF/BPR/NeuMF, ორსართულიანი MLP (user tower × item tower).
Learning-to-Rank: pairwise/listwise (LambaMART, RankNet), NDCG @ k ოპტიმიზაცია.
სესია/თანმიმდევრული: GRU4Rec, SASRec, 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), latence/timeout.
კაუზალური შეფასება: CUPED, კვაზიექსპერიმენტები (DiD/სინთეზური კონტროლი) შეზღუდული რანდომიზაციით.
Uplift მეტრიკები: Qini/AUUC, uplift @ k - რეკომენდაციების გასაცემად.
6) ცივი დასაწყისი და იშვიათობა
ახალი მომხმარებლები: popular @ segment, შინაარსის გამოკითხვა, შინაარსის შევსება პირველ კლიშეზე, ფართო დაზვერვის ბანდიტი.
ახალი items: მეტამონაცემები/ტექსტური ემბედინგი/სურათები + 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: რეალურ დროში ჩიპები, კალიბრაცია, ვერსიების ხელმოწერა.
policy/Re-rank ფენა: შეზღუდვები/კვოტები/RG/სიხშირე/განვითარება.
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 ნაზავი; სიგნალის გამოუყენებელი განმარტებები.
არ არსებობს ალბათობის კალიბრაცია - არასწორი ბარიერები/პოლიტიკა.
RG/ეთიკის/გირაოს უგულებელყოფა საჩივრები/რისკები/ჯარიმები.
ონლაინ/offline rassinchron fich და metrick - გაყიდვაში „ჩაძირვა“.
fallback და „გაჩერების ამწე“ არარსებობა.
14) რეკომენდატორის გაშვების ჩეკის სია
- სისტემის პასპორტი: მიზნები, შეზღუდვები, მეტრიკა, მეპატრონეები, ვერსიები
- Recall/Rank/Re-rank განქორწინებულია; ANN გაათბეთ, ქეშები
- PIT ფიჩები, კალიბრაცია, ოფლაინ-ბენჩეკები (NDCG/PR-AUC) დასრულდა
- A/B დიზაინი და guardrails; decision ready (ეფექტი/რისკი)
- შეზღუდვები: diversity/კვოტები/RG/სიხშირის ქუდები - ხორციელდება და აკონტროლებს
- SLA p95, ტრეკები, ალერტები, „გაჩერებული ამწე“ და პოპ-safe fallback
- დოკუმენტაცია, რუნიბუკები, სავარაუდო გაუმჯობესების გეგმა
შედეგი
ძლიერი სარეკონსტრუქციო სისტემა არის კონვეიერის პოლიცია: ჰიბრიდული Recall/Rank/Re-rank, რომელიც ოპტიმიზაციას უწევს სავარაუდო მნიშვნელობას სიჩქარის, ეთიკისა და მრავალფეროვნების შეზღუდვებით. Bandits/RL ონლაინ ადაპტაციისთვის, MLOps დისციპლინის და სწორი კაუზური შეფასების დამატება, თქვენ მიიღებთ არა „სიებს სიების გულისთვის“, არამედ კონტროლირებადი გადაწყვეტილებები, რომლებიც ზრდის ROMI, LTV და მომხმარებელთა კმაყოფილება სტაბილური და უსაფრთხოა.