WantedlyのDataチームでデータサイエンティストとして働いてる関根です。先日、推薦システムに関するカンファレンスであるRecSys2020に参加させていただきました。
RecSys2020では、推薦システムを研究するAcademyとIndustryの間でアイディアを交換し、課題について話し合い、解決策を共有する機会のために、 Industrial Session という枠が設けられています。
The ACM Conference on Recommender Systems (RecSys 2020) is the premier venue for research and applications of recommendation technologies. One of our goals is to connect communities of researchers and practitioners from both academia and industry in order to exchange ideas, discuss problems, and share solutions. ( https://recsys.acm.org/recsys20/call/#content-tab-1-7-tab より引用)
Industrial Sessionの発表は全部で10本あり、その中から自分が気になったIKEA AppとAmazon Videoにおける推薦事例をご紹介します。
Balancing relevance and discovery to inspire customers in the IKEA App 一つ目はIKEAアプリにおける推薦事例で、これは3日目のReal-World Applications IIセッションで、IKEAのデータサイエンティストであるBalázs Tóthさんによる発表でした。
モチベーション IKEAアプリでは商品のイメージを膨らませるためのInspiration Feedというものがあります。そこに表示されるのは、IKEAの商品とその商品の使用用途が想像できるような画像の一覧です。以下はInspiration Feedの画面です。
このInspiration Feedは新たに開発されたものなので、(1)データが揃ってないことと、(2) 選択バイアス に左右されすぎないことの2点のために、よく使用されるCollaborative Filteringではなく、 バンディットアルゴリズム の一つであるContextual Banditsという手法を用いています。
選択バイアス とは、モデルが推薦を行った結果からしか学習できないことで、似たような商品のみを推薦してしまい、まだ推薦したことがない商品が推薦されにくくなってしまうことです。
バンディットアルゴリズム 上記の問題を解決するためにバンディットアルゴリズムを用いています。バンディットは、限られた試行回数で最終的な報酬を最大化することを目的としています。選択バイアスにより、ユーザーが本来閲覧したいアイテムが推薦されなくなってしまった場合でも、そのアイテムが推薦された場合の報酬を考慮できるため、より探索的な推薦を行いやすくなります。
今回の場合でいうと、報酬は累計クリック数であり、それを最大にするためにInspiration Feedに表示する商品の画像を選択します。具体的には、 ログとして観測できなかった商品のクリックのしやすさを、ユーザーのクリック履歴や実際に推薦した商品、実際にクリックした商品から統計的に推定しています。
Contextual Banditsとは、通常のバンディットに加えてユーザーの行動履歴や特徴を考慮して選択肢を決めることができる方法です。Contextual Banditsの説明は以下が分かりやすかったです。
A/Bテスト また、実際にInspiration Feedの表示する商品について、Contextual BanditsとCollaborative Filteringの二種類のアルゴリズムで1週間程度のA/Bテストを行った結果、 Contextual Banditsの方がCTRが20%上昇 という結果になったそうです。
Exploration(探索) は良い推薦システムの要素の一つであり、IKEAアプリではA/Bテストより、Contextual BanditsによりCTRを向上させることができたと結論づけています。
Q&A Collaborative Filteringはユーザーのフィードバックから似ている商品を推薦するため、Relevance(推薦する商品の関連性)が高くなるのに対し、Contextual Banditsでは似ている商品だけではなく、ユーザーにとって新たな発見となる商品も積極的に推薦しようとしています。そのため、Relevanceが下がっていることを懸念した質問がありました。それに対し、「特に悪い影響は見られなかった。」と回答していました。
また、今回目的関数にCTRを用いていたことについて、「CTRではなく、他の指標については改善しましたか?」という質問がありました。Relevanceを犠牲にしてExplorationを上げることで、本来ユーザーが見つけたいアイテムが推薦されなくなってしまい、それによりクリック数が増えてしまったのではないかと懸念していました。これに対し、「実際の売り上げについては確認できていない。CTRを増やすことでInspirationをわかせ、実際に店舗に行ったり、あとで購入することが考えられるが、これらの観測は難しい。」と回答していました。
まとめ・感想 今回のIKEAアプリでは、 Contextual Banditsを推薦に用いることで、推薦のExplorationを向上させることを目的としていました。 ExplorationとRelevanceはトレードオフの関係にあり、開発するサービスによりどこまでExplorationを行うかを決定する必要があると感じました。また、Q&Aにもあった通り、Explorationを求めることで目的のアイテムまでのクリックが多くなり、CTRが上がってしまうというNegativeな面も考慮する必要があり、推薦のExplorationの評価は難しいと感じました。
Reference Balázs Tóth, Sandhya Sachidanandan, and Emil S. Jørgensen. 2020. Balancing Relevance and Discovery to Inspire Customers in the IKEA App. In Fourteenth ACM Conference on Recommender Systems ( RecSys '20 ). Association for Computing Machinery, New York, NY, USA, 563. DOI: https://doi.org/10.1145/3383313.3411550
Behavior-based Popularity Ranking on Amazon Video 二つ目はAmazon Videoの推薦事例です。こちらは1日目のReal-World Applications IセッションでAmazonのLakshmi Ramachandranさんによる発表です。
モチベーション Amazon Videoには Discoveryモード というものがあります。Discoveryモードとはユーザーが自分から見たいVideoを探しに行くためのページのことです。Video StreamingサービスではこのようなDiscoveryモードの需要が高く、 AmazonVideoではSessionの約80%、Netflixでは約70%がDiscoveryモードによるもの だといいます。
Discoveryモードでは、ユーザーは何が見たいか分からずにVideoを探索してるため、 人気のある作品やトレンドの作品を表示する必要があります 。従来は人気の作品をHeuristicで判定してあげていましたが、Amazon Videoではデータセットが巨大なため大変です。そこで、スケーラブルに推薦を行えるように、 人気度(Popularity) を推定できるモデルを作成し、推薦に用いています。
アルゴリズム Videoの人気を推定するために、「Popurality」の定義を以下のように定式化しています。
Popularityというのはユーザーのストリーミングが多いものであると仮定 して、 Videoがストリーミングされる確率( P(t) ) と 配信されたときのストリーミング回数の期待値 ( E[s|t] ) の積として定義していました。つまり、よくストリーミングされるVideoほど、Popularityが高くなることを表しています。
今回はオンラインでの予測も考えて、推論時間のかかるDeep Neural Networkではなく、Tree Ensamble Modelを用いて、上記のストリーミングされる確率とストリーミングされる回数を予測するモデルを作成しています。特徴量には(1)ユーザーの行動履歴の集計結果 (2)Videoのメタデータ (3) Videoの新しさを用いています。(1)では動画がストリーミングされた総回数やストリーミングされた視聴時間の割合や、実際に購買された割合などが用いられています。
Cold Start問題 推薦システムはユーザーの行動履歴をもとに推薦するアイテムを決めることが多いのですが、新規ユーザーや新規アイテムに対してはログが存在していないため、推薦することが難しいという問題があります。これを Cold Start と言います。
Amazon Videoでも、話題の最新映画やスポーツのライブ映像は新規アイテムのため、ログが少ないことが問題でしたが、特徴量にVideoの新しさを加えていたことで、新規アイテムでもストリーミングされやすく学習されていました。下のグラフを見ると、Videoがストリーミングされてから0〜100日のときにスコアがブーストしていることが分かります。
まとめ・感想 この発表では、Discoveryモードに表示するべきアイテムはどんな用件を満たす必要があるか考え、そこから人気度を定義し、Videoの人気度に影響を及ぼしそうな特徴量を見つけてモデルを作成するという一連の流れが実用的だと感じました。ユーザーのことを考えて推薦を行っている良い事例でした。
Reference Lakshmi Ramachandran. 2020. Behavior-based Popularity Ranking on Amazon Video. In Fourteenth ACM Conference on Recommender Systems ( RecSys '20 ). Association for Computing Machinery, New York, NY, USA, 564–565. DOI: https://doi.org/10.1145/3383313.3411555
https://vimeo.com/455639105
RecSys2020に参加してみて 自分自身RecSysに参加するのは今回が初めてとなります。今年はオンラインだったこともあり、例年とは異なる形での発表でしたが、スムーズに開催されていて参加しやすかったです。Industrial Session以外にもKeynote講演やTutorial Sessionなど様々なコンテンツが提供されていました。ぜひ来年も参加したいです。
RecSys2020を通して、良い推薦システムとは何かを考えさせられました。この経験を通して、Wantedlyでも本当の意味で 「良い推薦システム」 を開発していきたいと思います。
最後になりますが、Wantedlyではユーザーにとって良い推薦を行うために日々務めています。そのため、ユーザーファーストの推薦システムを開発したいという データサイエンティスト・機械学習エンジニア・データエンジニア などを探しています。もし少しでも興味がありましたら、下の募集からぜひ「話を聞きに行きたい」ボタンを押してください。まずは、カジュアルにお話ししましょう。