1
/
5

Wantedly RecSys 2020 参加レポート④ - 推薦システムにおける「Similarity / 類似性」とは ~ Netflix における事例 ~

こんにちは、ウォンテッドリーでデータサイエンティスト及びデータを活用したプロダクトのマネージャーを務めている松村です。2020年9月22日から9月26日にかけてオンラインで開催された RecSys 2020 に参加してきました。

Wantedly RecSys 2020 参加レポート① - Wantedly Data チームで RecSys 2020 にオンライン参加しました | Wantedly Engineer Blog
こんにちは、ウォンテッドリーでデータサイエンティスト及びデータを活用したプロダクトのマネージャーを務めている松村です。2020年9月22日から9月26日にかけてオンラインで開催された RecSys 2020 に当社のデータサイエンティスト及び機械学習エンジニア5名で聴講参加及び、そのうちの3名が併設の RecSys Challenge の Workshop において口頭発表を行いました。その参加報告を行いたいと思います。 本記事では概要報告に留まりますが、明日からは参加メンバーが実際に発表を聴講して気にな
https://www.wantedly.com/companies/wantedly/post_articles/285471

せっかくなので参加メンバーで面白かったセッションを紹介するブログを書こうとなってついに自分の順番が来てしまったので重い腰を上げた次第です。上記の最初のブログに他の紹介ブログへのリンクも記載していますので是非ご覧になってください。

はじめに

今回は Industrial Talks の Netflix のセッションで発表された『A Human Perspective on Algorithmic Similarity』という調査報告について紹介します。 これは Netflix の様々な推薦システムのアルゴリズムでも利用されている「Similarity / 類似性」という概念、つまり、アイテムとアイテムが「似ている」とはどういう意味や状態を表すのかについて調査した結果についての報告発表です。

Netflix は推薦システムの研究開発・実サービスでの応用に大変積極的で、推薦システムのトップカンファレンスである RecSys のスポンサーにも RecSys2010 から今回の RecSys2020 までの11回のうち RecSys2013 を除く(なんでだろ) 10回なっており、論文もたくさん通しています。推薦システムの関するブログなどの発信もたくさんあり私自身普段から大変お世話になっています。Netflix のサービスにおいて推薦システムは大変重要な立ち位置にあり、少し昔のブログでの言及にはなりますが、Netflix の全ての視聴のうち 75% はユーザの能動的な検索活動ではなく、推薦システムによるレコメンドから発生しているとのことです。 ちなみにこのブログで語られている「Everything is a Recommendation」という言葉が私は好きです。

We have adapted our personalization algorithms to this new scenario in such a way that now 75% of what people watch is from some sort of recommendation.

https://netflixtechblog.com/netflix-recommendations-beyond-the-5-stars-part-1-55838468f429 より引用

また、エンドユーザ向けのヘルプページに推薦システム・レコメンド機能の説明ページが準備されており、ユーザにうまくレコメンド機能を使いこなすことを勧めています。 ここまで推薦システム・レコメンド機能をエンドユーザに向けて推しているサービスはなかなかないので大変興味深いです。 ちなみに自分の知る限りでは他には TikTok とかも同じようなページを持っています。

Netflixは、お客様が興味を持っているTV番組や映画を見つけるお手伝いをするためにパーソナライズされたレコメンド機能を提供しているサブスクリプションサービスです。 このサービスを提供するため、Netflixは独自の複雑なレコメンド機能のシステムを作りました。 この記事では高度なレコメンド機能のシステムを分かりやすい言葉で説明しています。

レコメンド機能ありきのサービス。

観たい作品が表示されていない場合には、いつでもお客様の国でご利用いただけるようカタログ全体から検索することができます。 Netflixでは、お客様ができる限り簡単にすばやく検索できるよう努めています。 検索項目を入力した時に上位に表示される検索結果は、同様の検索項目を入力した他のメンバーの行動に基づいて出てくる結果です。

推薦が先。検索が後。

Netflixがレコメンド機能のシステムを向上する方法
Netflixサービスを使用するたびにフィードバックを収集し、アルゴリズムを繰り返し鍛え続けることでお客様が最も視聴する作品を予測する正確さを向上します。 Netflixのデータやアルゴリズム、算出システムは引き続き相互的に働きかけ、お客様が楽しめる商品を提供できる新鮮なレコメンド機能を作ります。

レコメンド機能をあなた好みに育てよう!

以上、https://help.netflix.com/ja/node/100639 より引用

話題がそれてしまいましたが、そんな Netflix による、推薦システムにおける「Similarity / 類似性」とは、という発表について紹介していきます。

イントロ

Netflix の叡智を結集した高度なアルゴリズムによってレコメンドされたコンテンツであっても、コンテンツの詳細を確認する限り自分が視聴したいと思えるものではないと何度も拒否をした(視聴しなかった)というスピーカーの原体験から話が始まります。 実際のコンテンツ(I Don't Feel at Home in This World Anymore)を例に出していて面白かったです。(Netflix オリジナルコンテンツだからセーフなのだろう。)

このスピーカーは、説明文を見るだけではよくわらかないコンテンツが他のどんなコンテンツに似ているのかを知るために「More Like This(こちらもオススメ; 特定のコンテンツの詳細の下部に表示されるコンテンツ推薦セクション)」に表示されるコンテンツを見るのが好きらしく(この使い方がそもそも面白いなと思った。ぼくの思ってるより一般的なのかな?)、実際に見てみると、自分が視聴したことのあるものもいくつかあったのだが、それらが元のコンテンツとどのような関係であるのかは分からなかったとのことです。

最終的にウェブでそのコンテンツについて調べてみると面白そうであったため、視聴してみて実際に面白かったからよかったのだが、「More Like This」をよりよいものにするためには、推薦されるコンテンツを見たその瞬間その人にとって、そのコンテンツが推薦されている理由が分かりやすく、その推薦結果をユーザが信じられるようなコンテンツを推薦するべきだという思いに至ったとのことだ。

そして、スピーカーと同じように、Netflix における「似ている」コンテンツの推薦に対して不満、たとえば、"もっと「似ている」コンテンツを出してほしい(Want more like it)" であったり、 "これがなぜ「似ている」と言われているのかよくわからない(Cannot understand)" であったり、"「似ている」のは分かるが普通すぎる。こんなのは明らかなのでもっと意外性のあるものを教えてほしい。(Want a surprise)" などのような不満を持っている実際のユーザの声がいくつも見られたそうです(Twitter のエゴサ)。

このような経験から、”「類似性」とはいったいなんなのか"という疑問が生まれた。あるコンテンツを説明するためにはどれほど「似ている」コンテンツである必要があるのか。その「似ている」に求められる程度は場合によって変わるのだろうか。「似ている」と「似ていない」の境界線はどこにあるのか。これらの疑問を解消するために、実際に Netflix のユーザ(Netflix は user という表現をあまり使わずにmember とう表現を利用するが、このブログでは特に留意していない。)を対象に調査してみた、というのがこの調査報告の内容となっています。

「類似性」の調査

「類似性」とは何なのか調査するために大きく3種類の方法が取られました。

1つ目に、Netflix と同じようなビデオストリーミングサービス、そしてそれ以外の分野において「類似性」というのがどのような使われ方をしているのか他社事例が徹底的に調査されました。 2つ目に、Netflix 内で「類似性」という概念が推薦アルゴリズムで利用されている箇所において、どれほど適切なものが推薦されていて、どれほどユーザからして良い体験が得られているかの定性的な調査が Netflix のユーザに対して行われました。 最後に、inverse Multi-dimensional Scaling (iMDS) を利用して、コンテンツ間の「類似性」の程度が定量的に評価されました。

それらの調査の結果、「類似性」の意味は「the Placement」、「the Person」、「the Context」という3つの要素によって変化するという結論になったとのことで、 これらについて順に説明していきます。

「the Placement」

まず「類似性」の意味に影響を与える1つ目の要素は「the Placement」、つまり、Netflix のサービスの UI においてレコメンデーションが配置されている場所です。

Netflix のサービス内の様々な場所において「類似性」を考慮したアルゴリズムが配置されています。

1:1 のレコメンデーション、つまり、1つのソースとなるコンテンツに対して1つの別のコンテンツを推薦するシーン(A を見たあなたには B がおすすめです)においては、ユーザの「類似性」に対する期待値が高くなるということが分かりました。1:1 のレコメンデーションにおいては、推薦したコンテンツがなぜ推薦されたのか/なぜ似ているのかをユーザが容易に理解できなければ、推薦が間違っているという認識を与えてしまいます。1つのコンテンツしか推薦していないため、他の一緒に推薦されているコンテンツと合わせたグルーピングなどで元のコンテンツとの関係性を類推することができないからです。また、推薦したコンテンツがユーザの意図にそぐわない際にバックアップとなるコンテンツがないという意味でも、ユーザ体験を考えると大変リスキーなものとなります。

一方で、1:多 のレコメンデーション、つまり、1つのソースとなるコンテンツに対して複数のコンテンツを推薦するシーン(A を見たあなたには B, C, D, ... がおすすめです)においては、ユーザの「類似性」に対する期待は比較的低いということが分かりました。この場合、ユーザに対して「A を見たから絶対に B を見るべきなんだ!」という確信を持たせるのは難しいかもしれませんが、たとえば、「B, C, D はリアリティ番組なので一緒に推薦されているんだろうなぁ」という、推薦結果に対する一定の理解を得ることができ、その結果として B, C, D のどれかを選んで視聴してくれる可能性が高まります。

また、ユーザがある特定のコンテンツを検索している場合や、特定のコンテンツを視聴した後に「More Like This」をクリックした場合のように、ユーザの明示的な行動に対して推薦を提示する場所は全般的にユーザの「類似性」への期待値は高くなる傾向になることも分かりました。

以上のように、サービス内でコンテンツを推薦する場所において表示するコンテンツの個数や、その場所へたどり着くに至るユーザのアクションの性質によって、「類似性」に対するユーザの期待値は異なるため、Placement に応じて適切な「類似性」をアルゴリズムに反映する必要があることが分かります。

「the Person」

「類似性」の意味に影響を与える2つ目の要素は「the Person」、つまり、サービスを利用してレコメンデーションを提示されるユーザ自身の性質や、そのユーザがコンテンツに対して何を感じるかということです。

調査において Netflix のユーザに対して、iMDS という手法を用いて複数のコンテンツを「似ている」ものが近くなるように配置するという実験を行いました。 この実験により、コンテンツとコンテンツが「似ている」とユーザに判断させる要素への理解が深まりました。

『Stranger Things』というコンテンツを例に挙げて説明していきます。この1つのコンテンツには、「Sci-fi」や「Fantasy」、「Teen」、「Horror」、「80's」、「Starring Winona Ryder」、「Exciting」といった様々な観点における様々な特徴があります。

これらの特徴の大部分を同様に持つようなコンテンツ(例では『IT』や『ゴーストバスターズ』、『E.T.』が挙げられていました)は、元の『Stranger Things』と大変「似ている」と実験でも判定されており、1:1のレコメンデーションのような「類似性」への期待値が高い場所における推薦コンテンツとしても十分有用であると考えられます。

一方で、1つのコンテンツに対して大部分の特徴が一致するような高い「類似性」を持つコンテンツが大量にあるわけでもないため、すぐに使い果たしてしまうという問題があります。1:多のレコメンデーションの場所でこのようなコンテンツばかりを提示するというのは難しいです。

そこで、大部分の特徴が一致しているわけではなく、一部の特徴が一致しているだけでコンテンツとコンテンツが「似ている」とユーザが判断したパターンについて考えてみた結果、「broad driver」「specific driver」という大きく2つの種類の特徴に分類されました。

「broad driver」とは、「Sci-fi」や「Exciting」のようなジャンルのように、そのコンテンツの表層的な部分を表現するような特徴のことです。このような特徴が一致している場合、ほとんどのユーザはコンテンツどうしが「似ている」という判断を下しました。「broad driver」をもってして「似ている」コンテンツを推薦した場合、ユーザは深くなくともある程度の興味をそそられますし、推薦のもととなるコンテンツとの関係性も明らかなので納得感もあります。

一方、「specific driver」とは、「Starring Winona Ryder(主演が Winona Ryder)」や「Group of misfit teens in the 80’s(80年代のはみ出しものの若者たちがテーマの作品)」、「nostalgia(懐かしさを感じる)」のように、一部の特定のコンテンツにしか現れないようなそのコンテンツを際立たせる特徴のことです。このような特徴は様々な観点で存在するため種類も豊富であり、推薦システムとしても活用するのが難しいですが、ユーザが満足する可能性も大変高いです。

一方でこのような特徴が一致しているからといって、コンテンツとコンテンツが「似ている」とすべてのユーザが判断するわけではありません。主演が同じだから似ていると判断するユーザもいれば、主演が同じだからといって似ていると感じないユーザもいます。「Group of misfit teens in the 80’s」という特徴はコンテンツの内容をある程度把握していて知識がないと存在にも気づけません。「nostalgia(懐かしさを感じる)」などはかなりユーザの感性に頼った特徴であり、特定のコンテンツに対して「nostalgia」とユーザが感じるかどうかはその人次第です。ユーザが「nostalgia」と感じていないのにも関わらず「nostalgia」という特徴が一致しているからという理由でコンテンツを推薦してしまうと、そのユーザにとっては推薦を大きく外しているように感じられてしまい、推薦システムへの信頼性を失ってしまう恐れがあります。

このように、「specific driver」は、そもそもうまく推薦システムの「類似性」として考慮することが難しく、ハマるときはハマるが外したときのリスクは高いという性質を持っています。

以上のように、サービス内でコンテンツを推薦される人自身の性質や知識、感性などによっても「類似性」に対するユーザの認識は異なります。そのため、「broader driver」と「specific driver」のバランスをとってうまく特定のユーザにフィットするような「類似性」を活用したアルゴリズムを推薦システムに反映することが必要になってきます。

「the Context」

「類似性」の意味に影響を与える最後の3つ目の要素は「the Context」、つまり、サービスを利用しているユーザがレコメンデーションを受け取るまさにその時に何が起こっているのか、そのときにユーザが何を必要としているのかということです。 推薦が行われる場所と推薦が提示されるユーザの性質を完全に把握した上であっても、まさに推薦を行う瞬間にユーザがどういう状況にあるのかを把握する必要があります。

たとえば、「nostalgia」という特徴に基づいた推薦がハマってコンテンツを「A -> B -> C」と視聴しているユーザに対して、突然「主演」という特徴が一致しているという理由で全く「nostalgia」でないけど主演が C と同じである D というコンテンツを推薦しても(たとえそのユーザにとって普段は「主演が一致している」という特徴が重要であったとしても)、そのユーザは C と D を「似ている」(というよりも視聴したい)と思わずその推薦は失敗に終わってしまうでしょう。このように、ユーザがまさに今サービス内でどのような観点でコンテンツを視聴しているかという状況によっても「類似性」への認識が変化してしまいます

また、たとえば、「前に一度観たものをもう一度観たい気分だ」であったり、「今は時間がないからもう一本映画を観ることはできないので、何か短いやつを適当に観よう」であったり、「刺激的な映画を見たから気分転換にライトな映画を観たい」といったような、ユーザが直前に視聴していたコンテンツとの「類似性」が全く必要でなかったり、もはや真逆のコンテンツが必要とされているような状況も存在するのです。

以上のように、推薦が行われる場所と推薦が提示されるユーザの性質が完全に一緒であったとしても、そのときの状況によって「類似性」への認識や必要性までもが変化し得ります。そのため、コンテキストを考慮に入れることができるようなアルゴリズムの導入や、複数の可能性を考慮してバランスよくコンテンツを推薦できるようなアルゴリズムが実際のサービスではうまくいくことが多いです。

おわりに

これらの「類似性」へ影響を及ぼす要素を考慮した新しい「類似性」を Netflix に取り入れた結果、それまでの「類似性」を利用した推薦システムと比較してサービスへの信頼性が低下するようなコンテンツの推薦の数は減少したとのことです(実験の詳細はよくわからない)。

少なくとも、このスピーカーにとっては新しい「類似性」に基づいたコンテンツの推薦のほうが良いものであると感じられているという結びで発表が終わったのが個人的にめちゃくちゃ好きでした。笑

わたくし自身も Wantedly Visit というサービスの中で日々推薦システムに向き合っており、一言に「Similarity」といってもいろんな側面があるなと感じてはいたのですが、今回の発表を聞いて「Similarity」への解像度が高くなったことは大きな収穫でした。また、もちろんサービスによってもユーザの「Similarity」への認識は大きく異なってくると思いますので、自分が関わるサービスにおいてもこのような調査や分析を行ってみたいという気持ちを抱きました。

この発表の資料は以下で公開されており、本ブログ中のスライドの画像はこちらから転載しております。


他にも様々な興味深いセッションを聞いていろんな感想や考えを抱いており話足りませんので、興味のある方は是非(もちろんオンラインで)話を聞きにきてください!


データサイエンティスト
ユーザにとって本当に良い推薦とは?を突き詰めたいデータサイエンティストへ
”究極の適材適所により、シゴトでココロオドルひとをふやす” ウォンテッドリーは、究極の適材適所を通じて、あらゆる人がシゴトに没頭し成果を上げ、その結果成長を実感できるような「はたらくすべての人のインフラ」を構築しています。 私たちは「シゴトでココロオドル」瞬間とは「シゴトに没頭し成果を上げ、その結果成長を実感できる状態」瞬間と定義しています。 その没頭状態に入るには、内なるモチベーションを産み出す3要素が重要と考えています。 ・自律:バリュー(行動指針)を理解していて、自分で意思決定しながらゴールへ向かっている状態 ・共感:ミッションを有意義なものであり、その達成が自分の使命と感じられる状態 ・挑戦:簡単/困難すぎないハードルを持ち、成長を実感しながらフロー状態で取り組んでいる状態 この要素に基づき、下記のプロダクトを開発しています。 ・「共感」を軸にした運命の出会いを創出する会社訪問アプリ「Wantedly Visit」 ・働き手同士のつながりを深めるつながり管理アプリ「Wantedly People」 2020年より従業員の定着・活躍を支援すべく提供開始したEngagement Suite ・新しい福利厚生「Perk」 ・モチベーション・マネジメント「Pulse」 ・社内報「Story」 目下の目標は全世界1000万人のユーザーにWantedlyを使っていただくこと。 そのため海外展開にも積極的に取り組んでおり、シンガポールに拠点を構えています。
Wantedly, Inc.


おまけ

ちなみに余談ですが、Netflix による『Recent Trends in Personalization at Netflix』という恒例の(?)発表が RecSys2020 でもありました。

ICML 2019 の Workshop での発表では以下が Personalization のトレンドだったんですが、


今回の RecSys 2020 における発表では以下のようなトレンドになっていました。

「Deep Learning」 がトレンドから外れて 「Objectives」 が新たにトレンドに入っていました。

ここでいう Objectives とは、実サービスにおいて推薦システムを最適化する際にどのような指標を最適化するかということを指しています。究極的にはユーザの長期的な利益を最適化してあげたいのですが、基本的にはその先行指標を追うこととなります。ユーザの長期的な利益の先行指標と一言でいっても様々で、コンテンツのクリック率かもしれませんし、コンテンツの購入率かもしれませんし、ページ滞在時間かもしれません。また、単純に1つの指標を最適化すればよいわけではなく、ユーザの期待を裏切らないことや Fairness や Cold-start 問題など、実サービスならではの問題が多々あります。そのような様々な指標の中から何をどんな形で最適化するように推薦システムを開発するのかというのは、実サービスにおける推薦システムの実現において最も難しい問題の1つであると思われます。

また、実際にサービスに推薦システムをリリースしてユーザが利益を被るという最終的なゴールまでには、学習における最適化、過去のデータを用いたオフラインテスト、実サービスにおけるABテストなどを用いたオンラインテストといった中間ゴールがあり、それぞれで適した指標を適した形で評価することも難しいよねという話も含まれていました。


このような話しが(Deep Learning を抑えて!)されていることにも、推薦システムの社会実装が進んでいる空気を感じられて個人的にはとても面白かったです!

37 いいね!
37 いいね!
同じタグの記事
今週のランキング
Wantedly, Inc.からお誘い
この話題に共感したら、メンバーと話してみませんか?