Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ABEMAにおけるContextual Banditを用いた推薦システムの導入と効果検証
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shota Inoue
July 17, 2025
650
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ABEMAにおけるContextual Banditを用いた推薦システムの導入と効果検証
Shota Inoue
July 17, 2025
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Rails Girls Zürich Keynote
gr2m
96
14k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
290
For a Future-Friendly Web
brad_frost
183
10k
Typedesign – Prime Four
hannesfritz
42
3.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Navigating Team Friction
lara
192
16k
We Are The Robots
honzajavorek
0
250
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
GitHub's CSS Performance
jonrohan
1033
470k
Leo the Paperboy
mayatellez
7
1.8k
Transcript
AbemaTV, Inc. All Rights Reserved AbemaTV, Inc. All Rights Reserved
1 ABEMAにおける Contextual Banditを用いた 推薦システムの導入と効果検証 2025 July 16th 井上翔太
AbemaTV, Inc. All Rights Reserved 井上 翔太 • 2024年度 株式会社AbemaTV
新卒入社 • 機械学習エンジニア • レコメンド機能の運用・開発をしてます • X: @show_5821 • 趣味:蕎麦をうつのを練習してます 2 Profile
AbemaTV, Inc. All Rights Reserved ABEMA について 3 登録不要で、いつでも無料で楽しめる 24時間365日編成されているリニア配信と
見逃した作品を好きなタイミングでオンデマンドでも楽しむこともできます。 国内最大級のオリジナルエピソード数 オリジナルエピソード数は国内発の動画サービスで日本No.1(※)を誇り、 注目の新作映画、国内外の人気ドラマ、話題のアニメなど豊富なラインナップの作品や、 様々な音楽や舞台のオンラインライブも展開。 ※2024年8月時点、自社調べ 100%プロコンテンツ サイバーエージェントとテレビ朝日 それぞれの強みを活かした制作体制で高品質なコンテンツを配信しています。 多彩なラインナップ 24時間編成のニュース専門チャンネルをはじめ、 オリジナルのドラマや恋愛番組、アニメ、スポーツなど、 多彩なジャンルの約25チャンネルを24時間365日放送しています。
AbemaTV, Inc. All Rights Reserved 目次 • ABEMAの推薦について • 推薦における課題
• 採用したContextual Banditロジックについて • アーキテクチャ • 効果検証 • まとめ
AbemaTV, Inc. All Rights Reserved ABEMAの推薦について
AbemaTV, Inc. All Rights Reserved ユーザーに推薦を提示するまでの流れ モジュール コンテンツ 何らかのルールで 候補生成+リランク
設定されたリスト を表示
AbemaTV, Inc. All Rights Reserved ABEMAの推薦分類 手動 ルールベース 機械学習 編集者がテーマを元に
コンテンツを選定 ABEMAとして推したいコンテンツ / 特集がある場合 選定方法 ユースケース ユーザーごとに好みそうなコンテンツ を提示したい場合 決められたルールを元に コンテンツを選定 モデルがユーザーごとに コンテンツを選定 例 特定ルールに従ってコンテンツ を提示したい場合 あなたへの関連度が高い作品 〇〇をみたあなたへ ランキング 視聴中の作品 人気・注目 今週のおすすめ
AbemaTV, Inc. All Rights Reserved ABEMAの推薦分類 手動 ルールベース 機械学習 編集者がテーマを元に
コンテンツを選定 ABEMAとして推したいコンテンツ / 特集がある場合 選定方法 ユースケース ユーザーごとに好みそうなコンテンツ を提示したい場合 決められたルールを元に コンテンツを選定 モデルがユーザーごとに コンテンツを選定 例 特定ルールに従ってコンテンツ を提示したい場合 あなたへの関連度が高い作品 〇〇をみたあなたへ ランキング 視聴中の作品 今回のターゲット 人気・注目 今週のおすすめ
AbemaTV, Inc. All Rights Reserved ABEMAの手動推薦 編集者による コンテンツ選定 コンテンツの入稿 ロジックによる
並べ替え
AbemaTV, Inc. All Rights Reserved ABEMAの手動推薦 編集者による コンテンツ選定 コンテンツの入稿 ロジックによる
並べ替え テーマを元にコンテンツを選定 20-30件前後をピックアップ ex) • ABEMAの目玉コンテンツ • 時期ごとの特集枠(GW特集など)
AbemaTV, Inc. All Rights Reserved ABEMAの手動推薦 編集者による コンテンツ選定 コンテンツの入稿 ロジックによる
並べ替え モジュール・コンテンツごとに設定を行う • どのターゲットに提示するか ex) 年齢層・性別・嗜好ジャンル • ユーザーへの訴求回数
AbemaTV, Inc. All Rights Reserved ABEMAの手動推薦 編集者による コンテンツ選定 コンテンツの入稿 ロジックによる
並べ替え 配信実績に基づいてコンテンツを並び替える
AbemaTV, Inc. All Rights Reserved ABEMAの手動推薦 編集者による コンテンツ選定 コンテンツの入稿 ロジックによる
並べ替え 最終的なロジックの並び替えにContextual Banditを適用
AbemaTV, Inc. All Rights Reserved 従来手動推薦で適用していたロジック 年齢 性別 嗜好 ジャンル
セグメント セグメント セグメント Thompson Sampling 集計ベースのバンディットを使用していた
AbemaTV, Inc. All Rights Reserved 従来手動推薦で適用していたロジック 年齢 性別 嗜好 ジャンル
セグメント セグメント セグメント Thompson Sampling ユーザー属性の組み合わ せでセグメントを分類
AbemaTV, Inc. All Rights Reserved 従来手動推薦で適用していたロジック 年齢 性別 嗜好 ジャンル
セグメント セグメント セグメント Thompson Sampling セグメントごとに実績を集計し Beta分布からサンプリング
AbemaTV, Inc. All Rights Reserved 従来ロジックの課題
AbemaTV, Inc. All Rights Reserved 従来ロジックの課題 • ロジック自体の課題 ◦ ユーザーを捉えるための特徴量追加が難しい
◦ データの少ないセグメントでの精度低下がみられた • 手動運用の課題 ◦ 運用が煩雑になることで設定ミスが発生する可能性が高い
AbemaTV, Inc. All Rights Reserved ユーザーを捉えるための特徴量追加が難しい 25歳 男性 嗜好ジャンル 1.
アニメ 2. ドラマ 20代男性アニメ好き 20代男性 アニメ・ドラマ好き 特徴量を新しく増やす際にコストがかかる セグメント セグメントを構成する特徴 を増やそうとすると 組み合わせが爆発する 例)ジャンル数が10の場 合、2ジャンルを捉えよう とすると10倍増える
AbemaTV, Inc. All Rights Reserved 集計がセグメントごとに行われている 25歳 男性 嗜好ジャンル 1.
アニメ 2. ドラマ 20代男性アニメ好き 25歳 男性 嗜好ジャンル 1. ドラマ 2. バラエティ 20代男性ドラマ好き 20代男性の部分は共通しているが、 別のセグメントとして表現している ためお互いのデータを実績として 取り込めない データの少ないセグメント での精度低下
AbemaTV, Inc. All Rights Reserved コンテンツごとにターゲティングを設定している 10代 女性 アニメ好き プレミアム
コンテンツA 30代 男性 スポーツ好き 無料 コンテンツB 従来のバンディットでは表現しきれない条件があったため、 人間がコンテンツごとにターゲティングを設定していた 編集者 複雑なターゲティングにより設定ミスなどが発生する可能性が増大
AbemaTV, Inc. All Rights Reserved セグメント分けの限界とContextual Banditの導入 特徴量での改善が難しい ユーザー情報の表現力が限定的 データ数の少ない
セグメントの精度低下 集計がセグメントごとに行われている 運用負荷が高い コンテンツごとにターゲティングを設定 Contextual Banditの導入 ユーザー表現の柔軟性向上 特徴量ベクトルを活用し多様な嗜好に対応 学習効率向上 他セグメントのデータも効率的に使用可能に 手動設定の削減 必要最低限の設定のみを目指す セグメントごとに分けることで引き起こされている
AbemaTV, Inc. All Rights Reserved 採用したContextual Banditについて
AbemaTV, Inc. All Rights Reserved 採用したロジックについて 年齢 性別 嗜好ジャンル etc
A B C B C 0.82 0.65 0.47 A パラメータをサンプリング Contextual Bandit × Logistic Thompson Sampling を使用 ユーザー コンテキスト 予測報酬 予測報酬をもとに 並び替え
AbemaTV, Inc. All Rights Reserved 報酬の集計方法 人気・注目 ABEMAはユーザが左にスワイプを行うことによって 表示コンテンツを切り替えられるカルーセルUIとなっている 閲覧したコンテンツの条件下のみを報酬としてみなす
クリックまでにスルーしたコンテンツには罰則を与える 閲覧していない コンテンツ 閲覧した コンテンツ クリックした コンテンツ
AbemaTV, Inc. All Rights Reserved 適用時における考慮事項 課題 • ABEMAでは秒間十数万リクエストが発生する •
Contextual Banditでは各リクエストごとに計算 (サンプリング/推論/並び替え)が必要 → 元のロジックよりも計算コストがかかる懸念があった • Go製の推薦サーバーで計算ロジックをもった • 多段キャッシュの導入(後述) • 事前に計算ロジックの最大実行時間を計測 • 負荷試験の実施
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ (パイプライン ) Vertex AI
Pipelinesを用いて モデルの学習を1時間に1回実行
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ (パイプライン ) 行動ログから 報酬の計算
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ (パイプライン ) パラメータの学習
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ (パイプライン ) 学習した パラメータを格納
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ (パイプラインからサーバーへの連携 ) Redis Clusterへの連携
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ (サーバー) 大量のリクエストに耐えるために Redis Clusterに加えて
サーバー内にインメモリキャッシュを設置した 多段キャッシュの構成を採用
AbemaTV, Inc. All Rights Reserved システムアーキテクチャ (サーバー) 推薦サーバーでリアルタイムに パラメータをサンプリングして推論
AbemaTV, Inc. All Rights Reserved 効果検証
AbemaTV, Inc. All Rights Reserved A/Bテストの検証デザイン 検証期間 • 2週間 対象モジュール
• 手動で運用していたモジュール全て 検証対象 • ベースライン:従来のBanditロジック • 報酬にクリックを用いたContextual Bandit • 報酬に視聴を用いたContextual Bandit
AbemaTV, Inc. All Rights Reserved A/Bテストの検証結果 A/Bテストの検定結果 / 時系列の変化合わせて みても視聴KPIが向上していることを確認
適用したモジュール経由視聴KPIの ベースラインに対する比を表す図
AbemaTV, Inc. All Rights Reserved A/Bテストの検証結果 適用したモジュール経由視聴KPIの ベースラインに対する比を表す図 期間中にコンテンツの設定を一斉に更新した タイミングで実績がリセットされていたために
低下していた A/Bテストの検定結果 / 時系列の変化合わせて みても視聴KPIが向上していることを確認
AbemaTV, Inc. All Rights Reserved A/Bテストの検証結果 一部では効果の悪いモジュールもあった 適用したモジュール経由視聴KPIの ベースラインに対する比を表す図
AbemaTV, Inc. All Rights Reserved A/Bテストの検証結果 一部では効果の悪いモジュールもあった モジュールごとに学習をしていたため、 利用の少ないモジュールに発生していた 適用したモジュール経由視聴KPIの
ベースラインに対する比を表す図
AbemaTV, Inc. All Rights Reserved まとめ まとめ • ABEMAにおける手動で運用しているモジュールに対して Contextual
Banditを導入した • サーバーの負荷を考慮したアルゴリズムの設計を行った • A/Bテストでは適用モジュール経由の視聴KPIの向上を確認した • 利用の少ないモジュールではうまく学習ができないことを確認した 今後の展望 • モジュール間で実績を共有できるような設計 • 他のロジックへの応用 • 事業KPIに結びつくような報酬の設計