Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
AbemaTV における
推薦システム
2018/12/16
株式会社サイバーエージェント 秋葉原ラボ
福田 鉄也
自己紹介
•福田 鉄也 (ふくだ てつや)
•2016 年 6 月サイバーエージェント中途入社
•秋葉原ラボで推薦システムの開発と運用
2
サイバーエージェントと秋葉原ラボ
•サイバーエージェント
•メディア / インターネット広告 / ゲーム / スタートアップ
•秋葉原ラボ: メディア事業部門の研究開発組織
•サービスから生成される大規模データの収集, 蓄積, 処理基盤
•分析...
AbemaTV における
推薦システム
目次
•AbemaTV と推薦システム
•アルゴリズム / システム構成
•メディアサービスの推薦基盤
•まとめと今後の展望
5
目次
•AbemaTV と推薦システム
•アルゴリズム / システム構成
•メディアサービスの推薦基盤
•まとめと今後の展望
6
AbemaTV
•サイバーエージェントとテレビ朝日が共同で展開
•「インターネットテレビ局」
7
多チャンネル展開 / 24 時間 365 日編成型コンテンツ
Abemaビデオ
•SVOD (Subscription Video on Demand) 型のサービス
•放送枠に依存せず 1 話から視聴できる
•一部の番組は無料で視聴可能
8
AbemaTV における推薦
•2 種類:
•こちらもオススメ: 番組 → 番組の推薦
•番組ページ等に表示
•視聴履歴からのおすすめ: ユーザ → 番組の推薦
•ビデオトップページ等に表示
•推薦対象はいずれも「Abemaビデオ」の番組
9
目次
•AbemaTV と推薦システム
•アルゴリズム / システム構成
•メディアサービスの推薦基盤
•まとめと今後の展望
10
目的
•推薦結果の「精度」は重要
•一方で, オンラインの処理時間には制限がある
•大量の数値計算等は避けたい
11
アプローチ: 2 段階の処理
•粗いアルゴリズムによる候補選択: 計算時間削減
•すべての番組から推薦候補を絞る
•候補のリランキング※
: 精度の向上
•候補から最終的な上位の推薦結果を得る
12
※
「こちらもオススメ」のみ対応中
アプローチ: 2 段階の処理
13
•粗いアルゴリズムによる候補選択: 計算時間削減
•すべての番組から推薦候補を絞る
•候補のリランキング: 精度の向上
•候補から最終的な上位の推薦結果を得る
候補選択: 目的
•全番組から高速に推薦候補を選択したい
•全ユーザへの事前計算は避けたい
•効率的でない
•ユーザの行動に対する更新性は保ちたい
14
候補選択: アプローチ
•オフラインとオンラインの 2 ステップの処理
•オフライン: 類似番組の事前計算
•オンライン: ユーザの直近の行動に応じた集約
15
実装: 類似番組の事前計算 (1/2)
Client
Patriot
16
行動ログ
Recommendation job
ユーザの行動ログを
Patriot (データ解析基盤) に転送
実装: 類似番組の事前計算 (2/2)
Client
Patriot
17
ある番組に対する類似番組の上位を
バッチで計算して DB に書き出し
(次元削減 + コサイン類似度で探索)
DB (HBase)
Recommendation job
実装: 「こちらもオススメ」の場合
Client Recommendation API
Patriot
18
「こちらもオススメ」の場合は
この結果をそのまま候補として利用
DB (HBase)
Recommendation job
Zero
Client Recommendation API
Patriot
Stream
19
DB (HBase)
実装: 「視聴履歴からのおすすめ」の場合 (1/3)
ユーザの行動ログ (視聴履歴等) を

Zero (ストリーム処理基盤...
実装: 「視聴履歴からのおすすめ」の場合 (2/3)
Zero
Client Recommendation API
Patriot
20
DB (HBase)
リクエストしたユーザの

直近の行動ログを取得
Recommendation job
実装: 「視聴履歴からのおすすめ」の場合 (3/3)
Zero
Client Recommendation API
Patriot
21
DB (HBase)
行動ログに類似した番組を
DB から batch get, 集約して
候補として利用...
アプローチ: 2 段階の処理
22
•粗いアルゴリズムによる候補選択: 計算時間削減
•すべての番組から推薦候補を絞る
•候補のリランキング: 精度の向上
•候補から最終的な上位の推薦結果を得る
リランキング: 目的
•候補から, より「良い」数件の結果を得たい
23
リランキング: アプローチ
•推薦対象の番組を, ユーザが一定時間以上視聴するかの

二値分類
•予測確率をスコアとして候補番組を並べ替え
•そのときユーザが見そうな番組を推薦する
•スコアが上位のもののみを最終的な推薦結果とする
24
Recommendation job
実装: 概要
Zero
Client Recommendation API
Patriot
Ranking Service
25
DB (HBase)
リランキング用のコンポーネントに
推薦候補のスコアリン...
実装: モデルの学習
Learner
Model Server
Patriot
Ranking Service
26
ユーザの行動ログ, マスタ情報等から
オフラインでモデルを学習して,
モデル配信サーバにデプロイ
Learner
Model Server
Ranking API
Patriot
Recommendation API
Feature DB
Ranking Service
27
実装: 予測 (1/2)
Recommendation API ...
Learner
Model Server
Ranking API
Patriot
Recommendation API
Feature DB
Ranking Service
28
実装: 予測 (2/2)
予測スコア順に結果を
並べ替えて, 上...
目次
•AbemaTV と推薦システム
•アルゴリズム / システム構成
•メディアサービスの推薦基盤
•まとめと今後の展望
29
メディアサービスの推薦基盤
•秋葉原ラボでは, 複数のメディアサービス向けに共通の

推薦基盤を開発, 運用している
•今回はバッチ処理部分の共通化のために開発している

フレームワークについて紹介
30
AbemaTV とバッチフレームワーク
Zero
Client Recommendation API
Patriot
31
DB (HBase)
Recommendation job
AbemaTV の推薦システムでは,
「候補選択」の部分のバ...
バッチフレームワーク: 背景と目的 (1/2)
•推薦システムのバッチ処理には定型的な部分が多い
•学習データの取得, 整形
•モデルの学習, 推薦結果の生成
•推薦結果のデータストアへの書き出し
•(+ サービス固有の処理)
•各サービスへの...
•単一のサービスであっても:
•推薦したいコンテンツが複数種類あれば, 同様の問題になる
•単一のサービス, 一種類のコンテンツであっても:
•複数のデータセットやアルゴリズムを, 手軽に試したい
33
バッチフレームワーク: 背景と目的 (2...
実装の構成要素
•ジョブ: バッチの一連の処理をまとめたもの
•バッチはこの単位で実行される
•推薦ジョブ, モデルのオフライン評価ジョブ, ……
•タスク: ジョブを構成する処理の単位
•データの読み込み, モデルの学習, 推薦結果の書き出し...
例. 推薦ジョブ
35
Reader Processor
ServiceProcessor
Recommender Writer
……
……
ItemRecommenderJob
Hive
HDFS
Swift
HBase
HDFS
例. 推薦ジョブ: Reader タスク
36
Reader Processor
ServiceProcessor
Recommender Writer
……
……
ItemRecommenderJob
Hive
HDFS
Swift
HBas...
例. 推薦ジョブ: Processor タスク
37
Reader Processor
ServiceProcessor
Recommender Writer
……
……
ItemRecommenderJob
Hive
HDFS
Swift
H...
例. 推薦ジョブ: Recommender タスク
38
Reader Processor
ServiceProcessor
Recommender Writer
……
……
ItemRecommenderJob
Hive
HDFS
Swift...
例. 推薦ジョブ: ServiceProcessor タスク
39
Reader Processor
ServiceProcessor
Recommender Writer
……
……
ItemRecommenderJob
Hive
HDFS
...
例. 推薦ジョブ: Writer タスク
40
Reader Processor
ServiceProcessor
Recommender Writer
……
……
ItemRecommenderJob
Hive
HDFS
Swift
HBas...
•ジョブの中身を記述する YAML 形式の設定ファイル
レシピ
41
目次
•AbemaTV と推薦システム
•アルゴリズム / システム構成
•メディアサービスの推薦基盤
•まとめと今後の展望
42
まとめと今後の展望
•まとめ
•AbemaTV における推薦システムの紹介
•2 段階のアプローチ: 候補選択 + リランキング
•メディアサービス向けの推薦基盤の紹介
•今後の展望
•より良いアルゴリズム: より精緻な機械学習モデルの採用
•...
Prochain SlideShare
Chargement dans…5
×

sur

AbemaTVにおける推薦システム Slide 1 AbemaTVにおける推薦システム Slide 2 AbemaTVにおける推薦システム Slide 3 AbemaTVにおける推薦システム Slide 4 AbemaTVにおける推薦システム Slide 5 AbemaTVにおける推薦システム Slide 6 AbemaTVにおける推薦システム Slide 7 AbemaTVにおける推薦システム Slide 8 AbemaTVにおける推薦システム Slide 9 AbemaTVにおける推薦システム Slide 10 AbemaTVにおける推薦システム Slide 11 AbemaTVにおける推薦システム Slide 12 AbemaTVにおける推薦システム Slide 13 AbemaTVにおける推薦システム Slide 14 AbemaTVにおける推薦システム Slide 15 AbemaTVにおける推薦システム Slide 16 AbemaTVにおける推薦システム Slide 17 AbemaTVにおける推薦システム Slide 18 AbemaTVにおける推薦システム Slide 19 AbemaTVにおける推薦システム Slide 20 AbemaTVにおける推薦システム Slide 21 AbemaTVにおける推薦システム Slide 22 AbemaTVにおける推薦システム Slide 23 AbemaTVにおける推薦システム Slide 24 AbemaTVにおける推薦システム Slide 25 AbemaTVにおける推薦システム Slide 26 AbemaTVにおける推薦システム Slide 27 AbemaTVにおける推薦システム Slide 28 AbemaTVにおける推薦システム Slide 29 AbemaTVにおける推薦システム Slide 30 AbemaTVにおける推薦システム Slide 31 AbemaTVにおける推薦システム Slide 32 AbemaTVにおける推薦システム Slide 33 AbemaTVにおける推薦システム Slide 34 AbemaTVにおける推薦システム Slide 35 AbemaTVにおける推薦システム Slide 36 AbemaTVにおける推薦システム Slide 37 AbemaTVにおける推薦システム Slide 38 AbemaTVにおける推薦システム Slide 39 AbemaTVにおける推薦システム Slide 40 AbemaTVにおける推薦システム Slide 41 AbemaTVにおける推薦システム Slide 42 AbemaTVにおける推薦システム Slide 43
Prochain SlideShare
What to Upload to SlideShare
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

2 j’aime

Partager

Télécharger pour lire hors ligne

AbemaTVにおける推薦システム

Télécharger pour lire hors ligne

SENDAI X-TECH Innovation Project 2018-2019
「AbemaTVにおける推薦システム」の発表スライドです。

AbemaTVにおける推薦システム

  1. 1. AbemaTV における 推薦システム 2018/12/16 株式会社サイバーエージェント 秋葉原ラボ 福田 鉄也
  2. 2. 自己紹介 •福田 鉄也 (ふくだ てつや) •2016 年 6 月サイバーエージェント中途入社 •秋葉原ラボで推薦システムの開発と運用 2
  3. 3. サイバーエージェントと秋葉原ラボ •サイバーエージェント •メディア / インターネット広告 / ゲーム / スタートアップ •秋葉原ラボ: メディア事業部門の研究開発組織 •サービスから生成される大規模データの収集, 蓄積, 処理基盤 •分析, 機械学習等によるデータの活用 …… AbemaTV Ameba AWA タップル誕生 3
  4. 4. AbemaTV における 推薦システム
  5. 5. 目次 •AbemaTV と推薦システム •アルゴリズム / システム構成 •メディアサービスの推薦基盤 •まとめと今後の展望 5
  6. 6. 目次 •AbemaTV と推薦システム •アルゴリズム / システム構成 •メディアサービスの推薦基盤 •まとめと今後の展望 6
  7. 7. AbemaTV •サイバーエージェントとテレビ朝日が共同で展開 •「インターネットテレビ局」 7 多チャンネル展開 / 24 時間 365 日編成型コンテンツ
  8. 8. Abemaビデオ •SVOD (Subscription Video on Demand) 型のサービス •放送枠に依存せず 1 話から視聴できる •一部の番組は無料で視聴可能 8
  9. 9. AbemaTV における推薦 •2 種類: •こちらもオススメ: 番組 → 番組の推薦 •番組ページ等に表示 •視聴履歴からのおすすめ: ユーザ → 番組の推薦 •ビデオトップページ等に表示 •推薦対象はいずれも「Abemaビデオ」の番組 9
  10. 10. 目次 •AbemaTV と推薦システム •アルゴリズム / システム構成 •メディアサービスの推薦基盤 •まとめと今後の展望 10
  11. 11. 目的 •推薦結果の「精度」は重要 •一方で, オンラインの処理時間には制限がある •大量の数値計算等は避けたい 11
  12. 12. アプローチ: 2 段階の処理 •粗いアルゴリズムによる候補選択: 計算時間削減 •すべての番組から推薦候補を絞る •候補のリランキング※ : 精度の向上 •候補から最終的な上位の推薦結果を得る 12 ※ 「こちらもオススメ」のみ対応中
  13. 13. アプローチ: 2 段階の処理 13 •粗いアルゴリズムによる候補選択: 計算時間削減 •すべての番組から推薦候補を絞る •候補のリランキング: 精度の向上 •候補から最終的な上位の推薦結果を得る
  14. 14. 候補選択: 目的 •全番組から高速に推薦候補を選択したい •全ユーザへの事前計算は避けたい •効率的でない •ユーザの行動に対する更新性は保ちたい 14
  15. 15. 候補選択: アプローチ •オフラインとオンラインの 2 ステップの処理 •オフライン: 類似番組の事前計算 •オンライン: ユーザの直近の行動に応じた集約 15
  16. 16. 実装: 類似番組の事前計算 (1/2) Client Patriot 16 行動ログ Recommendation job ユーザの行動ログを Patriot (データ解析基盤) に転送
  17. 17. 実装: 類似番組の事前計算 (2/2) Client Patriot 17 ある番組に対する類似番組の上位を バッチで計算して DB に書き出し (次元削減 + コサイン類似度で探索) DB (HBase) Recommendation job
  18. 18. 実装: 「こちらもオススメ」の場合 Client Recommendation API Patriot 18 「こちらもオススメ」の場合は この結果をそのまま候補として利用 DB (HBase) Recommendation job
  19. 19. Zero Client Recommendation API Patriot Stream 19 DB (HBase) 実装: 「視聴履歴からのおすすめ」の場合 (1/3) ユーザの行動ログ (視聴履歴等) を
 Zero (ストリーム処理基盤) に転送, ニアリアルタイムで保存, 更新 Recommendation job
  20. 20. 実装: 「視聴履歴からのおすすめ」の場合 (2/3) Zero Client Recommendation API Patriot 20 DB (HBase) リクエストしたユーザの
 直近の行動ログを取得 Recommendation job
  21. 21. 実装: 「視聴履歴からのおすすめ」の場合 (3/3) Zero Client Recommendation API Patriot 21 DB (HBase) 行動ログに類似した番組を DB から batch get, 集約して 候補として利用する Recommendation job
  22. 22. アプローチ: 2 段階の処理 22 •粗いアルゴリズムによる候補選択: 計算時間削減 •すべての番組から推薦候補を絞る •候補のリランキング: 精度の向上 •候補から最終的な上位の推薦結果を得る
  23. 23. リランキング: 目的 •候補から, より「良い」数件の結果を得たい 23
  24. 24. リランキング: アプローチ •推薦対象の番組を, ユーザが一定時間以上視聴するかの
 二値分類 •予測確率をスコアとして候補番組を並べ替え •そのときユーザが見そうな番組を推薦する •スコアが上位のもののみを最終的な推薦結果とする 24
  25. 25. Recommendation job 実装: 概要 Zero Client Recommendation API Patriot Ranking Service 25 DB (HBase) リランキング用のコンポーネントに 推薦候補のスコアリングをリクエスト
  26. 26. 実装: モデルの学習 Learner Model Server Patriot Ranking Service 26 ユーザの行動ログ, マスタ情報等から オフラインでモデルを学習して, モデル配信サーバにデプロイ
  27. 27. Learner Model Server Ranking API Patriot Recommendation API Feature DB Ranking Service 27 実装: 予測 (1/2) Recommendation API からの リクエスト時に DB から素性を取得, モデル配信サーバに予測リクエスト
  28. 28. Learner Model Server Ranking API Patriot Recommendation API Feature DB Ranking Service 28 実装: 予測 (2/2) 予測スコア順に結果を 並べ替えて, 上位を クライアントに返却
  29. 29. 目次 •AbemaTV と推薦システム •アルゴリズム / システム構成 •メディアサービスの推薦基盤 •まとめと今後の展望 29
  30. 30. メディアサービスの推薦基盤 •秋葉原ラボでは, 複数のメディアサービス向けに共通の
 推薦基盤を開発, 運用している •今回はバッチ処理部分の共通化のために開発している
 フレームワークについて紹介 30
  31. 31. AbemaTV とバッチフレームワーク Zero Client Recommendation API Patriot 31 DB (HBase) Recommendation job AbemaTV の推薦システムでは, 「候補選択」の部分のバッチ処理が このフレームワーク上で実装されている
  32. 32. バッチフレームワーク: 背景と目的 (1/2) •推薦システムのバッチ処理には定型的な部分が多い •学習データの取得, 整形 •モデルの学習, 推薦結果の生成 •推薦結果のデータストアへの書き出し •(+ サービス固有の処理) •各サービスへの推薦システムの導入コストを削減したい 32
  33. 33. •単一のサービスであっても: •推薦したいコンテンツが複数種類あれば, 同様の問題になる •単一のサービス, 一種類のコンテンツであっても: •複数のデータセットやアルゴリズムを, 手軽に試したい 33 バッチフレームワーク: 背景と目的 (2/2)
  34. 34. 実装の構成要素 •ジョブ: バッチの一連の処理をまとめたもの •バッチはこの単位で実行される •推薦ジョブ, モデルのオフライン評価ジョブ, …… •タスク: ジョブを構成する処理の単位 •データの読み込み, モデルの学習, 推薦結果の書き出し, …… 34
  35. 35. 例. 推薦ジョブ 35 Reader Processor ServiceProcessor Recommender Writer …… …… ItemRecommenderJob Hive HDFS Swift HBase HDFS
  36. 36. 例. 推薦ジョブ: Reader タスク 36 Reader Processor ServiceProcessor Recommender Writer …… …… ItemRecommenderJob Hive HDFS Swift HBase HDFS ユーザの行動ログなど, 必要なデータの読み込み
  37. 37. 例. 推薦ジョブ: Processor タスク 37 Reader Processor ServiceProcessor Recommender Writer …… …… ItemRecommenderJob Hive HDFS Swift HBase HDFS 読み込んだデータへの前処理
  38. 38. 例. 推薦ジョブ: Recommender タスク 38 Reader Processor ServiceProcessor Recommender Writer …… …… ItemRecommenderJob Hive HDFS Swift HBase HDFS モデルの学習, 推薦結果の生成
  39. 39. 例. 推薦ジョブ: ServiceProcessor タスク 39 Reader Processor ServiceProcessor Recommender Writer …… …… ItemRecommenderJob Hive HDFS Swift HBase HDFS 各サービスで固有の 前処理 / 後処理を集約
  40. 40. 例. 推薦ジョブ: Writer タスク 40 Reader Processor ServiceProcessor Recommender Writer …… …… ItemRecommenderJob Hive HDFS Swift HBase HDFS データストアへの 推薦結果の書き出し
  41. 41. •ジョブの中身を記述する YAML 形式の設定ファイル レシピ 41
  42. 42. 目次 •AbemaTV と推薦システム •アルゴリズム / システム構成 •メディアサービスの推薦基盤 •まとめと今後の展望 42
  43. 43. まとめと今後の展望 •まとめ •AbemaTV における推薦システムの紹介 •2 段階のアプローチ: 候補選択 + リランキング •メディアサービス向けの推薦基盤の紹介 •今後の展望 •より良いアルゴリズム: より精緻な機械学習モデルの採用 •ビデオ以外のコンテンツの推薦: 放送枠 (時間の制約がある), …… 43
  • yoshihirotakahashi8

    Aug. 7, 2019
  • KenichiTakahashi1

    Jun. 24, 2019

SENDAI X-TECH Innovation Project 2018-2019 「AbemaTVにおける推薦システム」の発表スライドです。

Vues

Nombre de vues

1 850

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

197

Actions

Téléchargements

9

Partages

0

Commentaires

0

Mentions J'aime

2

×