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
[論文紹介] Using Navigation to Improve Recommendati...
Search
ysekky
June 13, 2017
Research
1
150
[論文紹介] Using Navigation to Improve Recommendations in Real time / recsys-2016-netflix
ysekky
June 13, 2017
Tweet
Share
More Decks by ysekky
See All by ysekky
スタートアップの開発サイクルに学ぶ 研究活動の進め方 / research practices inspired by startup business strategy
ysekky
0
2k
[論文紹介] A Method to Anonymize Business Metrics to Publishing Implicit Feedback Datasets (Recsys2020) / recsys20-reading-gunosy-datapub
ysekky
3
2.6k
JSAI2020 OS-12 広告とAI オープニング / JSAI2020-OS-12-ads-and-ai-opening
ysekky
0
2k
JSAI2020インダストリアルセッション - Gunosyにおける研究開発 / jsai2020-gunosy-rd-examples
ysekky
1
740
ウェブサービス事業者における研究開発インターン[株式会社Gunosy] - テキストアナリティクスシンポジウム2019 / research-intern-case-study-at-gunosy
ysekky
0
2.7k
Gunosyにおけるニュース記事推薦/ news-recommendation-in-gunosy-webdbf2019
ysekky
1
1.4k
DEIM2019技術報告セッション - Gunosyの研究開発 / deim-2019-sponsor-session-gunosy-research
ysekky
0
1k
Analysis of Bias in Gathering Information Between User Attributes in News Application (ABCCS 2018)
ysekky
1
2.2k
世代による政治ニュース記事の閲覧傾向の違いの分析 - JSAI2018 / Analysis of differences in viewing behavior of politics news by age
ysekky
0
3.8k
Other Decks in Research
See All in Research
最近のVisual Odometryと Depth Estimation
sgk
1
340
第79回 産総研人工知能セミナー 発表資料
agiats
3
190
Weekly AI Agents News! 11月号 論文のアーカイブ
masatoto
0
260
The Fellowship of Trust in AI
tomzimmermann
0
200
機械学習による言語パフォーマンスの評価
langstat
6
860
KDD論文読み会2024: False Positive in A/B Tests
ryotoitoi
0
260
PostgreSQLにおける分散トレーシングの現在 - 第50回PostgreSQLアンカンファレンス
seinoyu
0
190
CUNY DHI_Lightning Talks_2024
digitalfellow
0
270
2038年問題が思ったよりヤバい。検出ツールを作って脅威性評価してみた論文 | Kansai Open Forum 2024
ran350
8
3.7k
Tiaccoon: コンテナネットワークにおいて複数トランスポート方式で統一的なアクセス制御
hiroyaonoe
0
260
[輪講] Transformer Layers as Painters
nk35jk
4
580
チュートリアル:Mamba, Vision Mamba (Vim)
hf149
6
2k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Designing Experiences People Love
moore
139
23k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Documentation Writing (for coders)
carmenintech
67
4.5k
Adopting Sorbet at Scale
ufuk
74
9.2k
Side Projects
sachag
452
42k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
How to train your dragon (web standard)
notwaldorf
89
5.8k
We Have a Design System, Now What?
morganepeng
51
7.3k
Transcript
Using Navigation to Improve Recommendations in Real time Chao-Yuan Wu@UT
Austin Christopher V. Alvino@Netflix Alexander J. Smola@CMU Justin Basilico@Netflix Recsys’16 Yoshifumi Seki@Gunosy Inc. GunosyDM研究会 2017.06.13
自己紹介 • 関 喜史 ◦ Gunosy 共同創業者 ◦ データ分析部研究開発チーム (仮)
◦ 東大松尾研, 工学博士(2017年3月卒) • 研究テーマ: ニュース推薦システムのサービス応用について • 関心領域 ◦ 推薦システム, ユーザ行動分析 • 趣味 ◦ アイドル、日本酒、将棋
概要 • Netflixのリアルタイムな推薦システムの仕組み • オンライン機械学習 • 利用におけるcontextは様々 ◦ 一人で使う、二人で使う、家族と使う ◦
複数人でアカウントを共有している ◦ 感情とか • ユーザのスクロールの情報を元に、どの列を見せるかを逐次決める •
Model • r: row • s: session • i: i-th
video • S: scrolled or not {0, 1} • C: played or not {0, 1} • I: interested or not {0, 1}
この事後確率を最大化するパラメータを作りたい
この事後確率を最大化するパラメータを作りたい セッションと行に分解する
この事後確率を最大化するパラメータを作りたい セッションと行に分解する
この事後確率を最大化するパラメータを作りたい セッションと行に分解する 興味関心変数を導入
この事後確率を最大化するパラメータを作りたい セッションと行に分解する
Play prediction • 劣モジュラ関数で推定する • <>は何らかの関数: コサイン類似度でも、FMでもよい ◦ f_tiはビデオiの特徴ベクトル •
qの各次元はf_tiのその次元の総和を凸関数にかけたもの • パラメータはshared, user-specific, row-specific, {row-user}-specificの4種を分け てる
User Intentの導入 • User intentの導入をする ◦ 先程の定義と同様 • I_s,rが0のときは, C=1の確率は0になるという仮定を置く
この事後確率を最大化するパラメータを作りたい セッションと行に分解する
User Intentの推定 • セッションとrowに対する興味関心 • vとwはplay prediction同様にshared, user-specific, session-specificで校正され る
• v_ρはvの潜在変数
この事後確率を最大化するパラメータを作りたい セッションと行に分解する
Scroll prediction • I_s,r=1のとき、δ_ρにのみ依存するロジスティック関数になる • I_s,r=0のときはS_s,r=1の確率は0になる
Online Page Adaptation • 目的はコンテンツ行の並びと、行内のビデオの並びを最適化すること • 足した時の閲覧率が最も高くなる行/ビデオをえらんでいく
Impression Fatigue and Repeated Plays • 式(2)に加える • x_tはユーザが再生した回数 •
何度も再生する動画もある ◦ Binaryなindicatorを追加する ◦ Repeated play
Inference • EMアルゴリズムで推定 • E-step: I_s,rの事後確率を計算する • M-step: S, Cの事後確率が最大になるパラメータを計算する
None
Online-Update • Session中に学習して、パラメータを更新していきたい ◦ つまり上部をみたユーザの行動から、下部の行を生成する • EMアルゴリズムのM-stepでセッションのパラメータだけを更新する
Experiment • Playstation 3のセッション ◦ 同一の国 • 2015/4 ~ 2015/5
• 294k sessions • Testデータは2015/6, 59k sessions • 40 rows, max 75 videos
Evaluation • 10行のデータが与えられたときに残りの行を生成する • 再生されてたビデオが含まれる行が生成できたら、positive ◦ Mean Reciprocal Rank(MRR) ▪
平均逆順位 ▪ 初めて正解がでた順位の逆数を足し合わせて平均化する ◦ Precision at 5(P@5) • ベースラインはユーザと行のFactorization Machine(libFM) • オフラインモデルからのgain値で比較する
• FMより強い • 観測が増えるに連れて、改善している
• 過去のSessionが無いユーザにおいて強い -> Cold startで成果を上げている
Fatigue Effect and repeated plays
まとめ • セッション内での動きから推薦結果を徐々に改善していく ◦ Cold-startでも強い ◦ ただ、これ本当にアプリで実装できんの???無理じゃね??? • スクロールや再生をモデリングする方法として参考になった •
ただ特徴量の設計がわかんないので、うーん • オンラインで実験してほしかった感 • Factorization Machineとの比較って、相手弱すぎない? •
References • Slide: https://www.cs.utexas.edu/~cywu/RecSys2016_slides.pdf • Youtube: https://www.youtube.com/watch?v=rYinLmOWRtM •