![見出し画像](https://assets.st-note.com/production/uploads/images/45567790/rectangle_large_type_2_95662f0a3da5c03e3ecd11ff39feeb79.jpg?width=1200)
レコメンドシステム3つの基本課題
最近、レコメンドを題材にしたSpotifyの論文「Algorithmic Effects on the Diversity of Consumption on Spotify」を解析者仲間から紹介してもらい、読んでみました。
内容は、新しいレコメンドのアルゴリズムの提案ではなく、「視聴するコンテンツの多様性と解約率や有償化などの指標の関係性」と、「長期的な視点でレコメンドにおける多様性の重要性を喚起」しているものでした。
細かい内容は論文を読んで頂いたほうが良いと思いますが、以下が論文の内容の抜粋です。
Algorithmic Effects on the Diversity of Consumption on Spotify
・多様な曲を聞く人はそうでない人に比べ、最大25%離脱率が低く、最大35%有償会員になりやすい
・レコメンドをすることによって聞く曲の多様性が減ってしまう
・短期的にはユーザが楽しめるようにレコメンドをしていく必要があるが、長期的にはユーザ自身がコンテンツを探索し満足感を維持できるようにしたほうがよい
一般的にレコメンドシステムでは、データに基づきパーソナライズされた良いコンテンツをユーザに提供することが期待されています。良いコンテンツが提供されることで、ユーザの満足度が上がり、さらにユーザの利用が促進されるという流れです。
レコメンドシステムの基礎なアルゴリズムとしては、「Contents-based Filtering」や「Collaborative Filtering」などが広く知られています。
シンプルなアルゴリズムのレコメンドシステムはサービスに組み込むことがそれほど難しいことではないため、多くのサービスでレコメンドシステムが利用されています。
しかし、レコメンドシステムは最初の組み込みは簡単ではあるものの、実際運用してみると期待していたものと違ったということが起きがちです。
そこで今回は、レコメンドシステムを導入しようとしている企業に向けて、レコメンドシステムが直面する基本的な課題を3つピックアップしてお伝えしようと思います。
1. レコメンドは予測ではなく発見を支援するものである
レコメンドシステムで重要なのは「予測精度の高さ」ではなく、「ユーザが新しい発見をできるか」ということです。
本のオンラインショップを例として考えてみましょう。
特定のシリーズの本を買った人へは、その次の巻をレコメンドするほうが予測精度は高くなります。1巻を買った人なら2巻をレコメンド、2巻を買った人には3巻をレコメンドするということです。
しかし、本来レコメンドで欲しいものは、同じシリーズのものではなく、自分が今まで知らなかった自分の好みに合った面白い本です。
つまり、当たり前のように買うものをレコメンドされてもユーザにとってはあまり価値がないということです。
このように当たり前に買うものをレコメンドされてしまうことがしばしばあります。
レコメンドシステムでは、ユーザが買うものを予測するのではなく、ユーザが何かを発見することを支援するものだということを忘れないようにしましょう。
2. レコメンドの効果検証はサービス上で実施しなければならない
レコメンドの効果検証は静的なデータでは実施できません。静的なデータは過去に集めたデータなどで、中身が変わることがないデータです。
レコメンドの効果検証では、レコメンドを提示することによりユーザの行動がどう変わったかが重要となります。
そのため静的なデータでは、レコメンドによってユーザの行動が変わったことを検証することができません。過去のデータにアルゴリズムを当てはめて過去のデータで検証しようとしても意味がないということです。
実は、研究の世界ではこの静的データのみを使った研究が多かったりします。
研究の世界では、多くの場合、自分で運用しているサービスを持っていないため、既存のデータだけで効果検証をやらざるを得ない状況があったりします。こうのような効果検証の仕方では、最悪の場合、机上の空論になってしまいかねません。
3. レコメンドは自身に都合の良い結果をもたらすことがある
レコメンドシステムは特にフィードバックループになりやすいです。
フィードバックループとは、アルゴリズムが下した判断が現実世界に影響を与えて、その判断を正しかったとアルゴリズムが認識してしまうような現象です。
レコメンドシステムでは、レコメンドした結果が提示されるので、他のコンテンツよりも選ばれる可能性が高くなります。そのため、レコメンドシステムはフィードバックループになる可能性が高いです。
レコメンドが表示されたことによって選ばれたのか、レコメンドの内容が本当に良くて選ばれたのかを区別することは難しいです。
しかし、レコメンドシステムのアルゴリズムが自身を騙すように強化されるフィードバックループにならないように、通常のコンテンツをレコメンドに混ぜるなど工夫をしてみましょう。
まとめ
今回はレコメンドシステムの基本課題を3つピックアップして説明しました。
どの課題もレコメンドシステムを作るときの壁となりやすいものです。
この壁をどのようにぶち壊していくかが、データサイエンティストの腕の見せどころだと思います。
最後に、実はレコメンドシステムは私がコンピューターサイエンスに魅力を感じたきっかけとなった技術の一つでもあります。
人の行動をモデル化してレコメンドシステムを作るコンピュータサイエンスに、当時コンピューターサイエンスと無縁だった私は、非常に感銘を受けました。そして、こんな世界を自分でも作りたいと思い、研究の世界に飛び込み、その後、研究の技術を実務の世界に持ち込むために起業をしました。
まだまだ道半ばですが、レコメンドシステムだけに限らず、コンピューターサイエンスで人の行動をいい方向に変えられる、そんな世界を作っていきたいと思います。
この記事が気に入ったらサポートをしてみませんか?