レコメンデーションシステム
レコメンデーションシステム
推奨システムは「CTRモデル」だけではありません。"データ→候補→ランキング→ポリシー→アクション、→フィードバックのパイプラインで、現実世界の制約(速度、周波数キャップ、多様性、倫理/コンプライアンス)の下で増分値を最適化します。
1)データ、信号および表現
イベント:ビュー/クリック/追加/購入/預金、滞在時間、キャンセル。
コンテンツ/カタログ:属性(カテゴリ/ジャンル/スタジオ/価格/鮮度/ボラティリティ)。
ユーザープロファイル:RFM、環境設定、デバイス/チャンネル、タイムスロット。
コンテキスト:時間/日/祝日/試合、ロケール/TZ、表示サイト。
品質:ポイント・イン・タイム・レシピ、イベントの偶然性、デッドアップ/アンチブート、PIIマスキング。
埋め込み:共有スペース内のユーザー/アイテム/コンテキスト(MF/Word2Vec2Rec/transformers)、マルチモーダル(text/images)。
2)アーキテクチャ: リコール→ランク→リランク→アクション
1.候補者リコール(200-5000候補):ANN (FAISS/ScaNN)、人気/トレンド、ルールベースのフィルタ。
2.ランキング(20-200): LTR (GBM/NN)、タワーアーキテクチャ、バイナリ/マルチターゲットターゲット(クリック、変換、値)。
3.政策認識再ランク(最終リストで5-30):多様化/ノベルティ/セレンディピティ、ブランド/カテゴリーのクォータ、RG/コンプライアンス、周波数キャップ、公平性。
4.アクション:クールダウンと「静かな時間」で表示/プッシュ/電子メール/パーソナルショーケース。
5.フィードバック:ログ'impression→click→action→value'、負のフィードバック(スキップ、苦情)。
3)モデルパラダイム
コンテンツベース:IT機能とプロファイルによる近接;アイテムのコールドスタートに最適です。
共同フィルタリング:インタラクションマトリックスによるuser-user/item-item。
分解/埋め込み:MF/BPR/NeuMF、 2タワーMLP(ユーザータワー×アイテムタワー)。
Learning-to-Rank: pairwise/listwise (LambdaMART、 RankNet)、 NDCG最適化@k。
セッション/シーケンシャル:GRU4Rec、 SASRec、トランスフォーマー(T5-style)-セッションの順序/コンテキスト。
コンテキストバンディット:迅速なオンライン適応とクリエイティブのためのLinUCB/Thompson。
RL: SlateQ/DQN/Policy Gradient for multi-step award (retention/LTV)。
因果/アップリフトのアプローチ:「生のCTR」ではなく、増加を考慮した推奨事項。
4)タスクの目的、制限および策定
目標:CTR/CTCVR、 収益/マージン/LTV、保持、満足度、スピード。
制限事項:多様化、プロバイダ/カテゴリクォータ、周波数キャップ、RG/コンプライアンス、公平性/倫理、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 {Petal}_j
]
ここでペナルティはクォータ/RG/頻度/単調違反です。
5)指標と採点
オフラインで
関連性/ランキング:AUC/PR-AUC、 Recall@k、 MAP、 NDCG@k。
ビジネス:eRPM/eCPM、プロキシ-LTV、予想証拠金。
キャリブレーション:Brier、 ECE(しきい値/ポリシーに重要)。
^^^^:coverage/diversity/novelty/serendipity。
オンラインでのお問い合わせ
A/B/マルチラベルテスト: CTR、 CTCVR、収入/セッション、保持、苦情/購読解除(ガードレール)、レイテンシ/タイムアウト。
因果評価:CUPED、限られたランダム化での準実験(DiD/合成制御)。
アップリフトメトリクス:Qini/AUUC、 uplift@k-治療に関する推奨事項。
6)冷たい開始およびsparseness
新しいユーザー:人気のある@セグメント、コンテンツ調査、最初のクリックに基づいたコンテンツ、幅広いインテリジェンスを持つ盗賊。
新しいaytems: metadata/text embeddings/images+look-alike by studio/category。
小規模ドメイン:転送学習、マルチタスク(共有タワー)、クロスドメイン蒸留。
7)多様化、目新しさ、serendipity
アルゴリズム:MMR、 xQuAD、 PM-2;単調のための罰金。
クォータ:min/max by category/brand/riskクラス。
リストの安定性:位置慣性、更新のヒステリシス;出力を「フラッシュ」しないでください。
8)インフラとMLOps
機能ストア:PITレシピ、セッション機能のTTL、オンライン/オフラインのパリティ。
ANNサービス:FAISS/ScaNN、 sharding/cache、レプリケーション。
Ranker:リアルタイム機能、キャリブレーション、バージョン署名。
Policy/Re-rank layer: limits/quotas/RG/frequencies/diversity。
SLA:エンド・ツー・エンドのP95 ≤ 100-300ミリ;低下の下のフォールバック(普及安全)。
観測性:相関_idトレース、フィーチャードリフト(PSI)、オンライン品質指標、ストップクレーン。
9)セキュリティ、プライバシー、倫理
PII最小化、RLS/CLS、マスキング。
表示、頻度帽子、静かな時間の前のRG/complianceフィルター。
セグメント別の公平性診断;ショーの理由の説明;アピールの道。
10)疑似コード: リコール→ランク→リランクハイブリッド
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]
クリエイティブのためのトンプソンサンプリング(スケッチ)
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)決定表
13)アンチパターン
incrementとvalueではなく「raw CTR」の最適化。
再ランク層の欠如→過剰単調、「ビジョントンネル」。
未来からの顔;混合TZ;非通信信号定義。
確率→誤ったしきい値/ポリシーのキャリブレーションはありません。
RG/倫理/公平性→苦情/リスク/罰金を無視します。
オンライン/オフラインの非同期機能とメトリクス-食品の「ドローダウン」。
フォールバックとストップバルブがない。
14)推薦の進水のチェックリスト
- システムパスポート-目的、制限事項、指標、所有者、バージョン
- リコール/ランク/再ランク離婚;ANNがウォームアップし、キャッシュが設定されました
- PIT機能、キャリブレーション、オフラインベンチマーク(NDCG/PR-AUC)渡される
- A/Bの設計およびガードレール;意思決定の準備ができたレポート
- 制限:多様性/クォータ/RG/周波数キャップ-実装および監視
- SLA p95、トレース、アラート、ストップクレーン、人気のある安全なフォールバック
- ドキュメント、Runibooks、インクリメンタル改善計画
[結果]
強力な推奨システムは、政策に配慮したパイプラインです。スピード、倫理、多様性の制約の下で増分値を最適化するハイブリッドリコール/ランク/再ランクです。オンライン適応、MLOps規律、正しい因果評価のための盗賊/RLを追加することで「、リストのためのリスト」ではなく、ROMI、 LTV、およびユーザー満足度を高めるマネージドソリューション-安定して安全。