見出し画像

Spotifyはプレイリストにどう機械学習を活用しているのか?

音楽配信サービス最大手のSpotify。2019年6月末時点での月間アクティブユーザー数は有料/無料を合わせ全世界で2億3千万人余り、有料ユーザーだけでも1億人超と他を大きく引き離す勢いです。複数のポッドキャスト企業、過去には競合の音楽配信サービスの買収も試みるなど、『音楽のストリーミング』に関わるあらゆるリソースを確保し続ける巨人でもあります。

さて先日記事を公開したNetflix同様、こうしたコンテンツ配信サービスにおいて開発元が日々改善に改善を重ねているのが『おすすめ機能(パーソナライズ)のアルゴリズム』です。どちらも数億人規模のユーザーそれぞれに最適な形で届ける必要があるために機械学習やディープラーニングを活用しています。 Spotifyの場合プレイリストがその対象ですね。


不思議なことに全く見たことも聴いたこともないアーティストや楽曲が突然おすすめされるSpotify。一体どんなアルゴリズムが働いているのでしょうか?

前回のNetflixに続き、今回は音楽ストリーミングサービスのSpotifyがパーソナライズに用いている機械学習のモデル、およびそのアルゴリズムについて解説していきます(*’ω’*)

ホーム画面を設計するアルゴリズム“BaRT”

Spotifyのホーム画面はBaRT(Bandits for Recommendation as Treatments)というAIシステムによって運用されています。端的に言うとそれぞれのユーザーに対してパーソナライズされた画面(≒プレイリスト)を表示するためのものですが、もちろん単に履歴やユーザー情報だけで判断している訳ではありません(`・∀・´)

画像1

Spotifyのホーム画面例。『あなただけのプレイリスト』はデバイスの言語設定を英語にすると“made for you”と表示されます。

利用している方はよく知っていると思いますが、ホーム画面は複数のプレイリストのサムネイルが横一列に並び、まるでCDストアの『棚(shelf)』のように表示されています。“BaRT”は『棚』の曲の中で、ユーザーが「何を聴いたのか」、「どれくらい長く聴いたのか」をもとにUIを最適化しているようです。

もう少し詳しく見ていきましょう。“BaRT”は大きく“Exploit(利用)”と“Explore(探索)”という2つのコンセプトに分類出来るとされています。

まず“Exploit”では、
・再生履歴
・再生しなかった(スキップした)曲
・作成したプレイリスト
・ユーザーの位置情報
など、Spotifyのサービス上での行動履歴を“利用”し、最適なリスト作成を実現しています。

ちなみに同社のリサーチディレクターRoelleke氏によれば、『その曲をどれくらい再生したのか?』というのはレコメンドを判断する上で大きなポイントらしく、“BaRT”によって表示された楽曲の再生時間が30秒に満たなければ『気に入られなかった』、30秒を超えれば『提示した楽曲が適切だった』と判断され、後々のパーソナライゼーションがより正確になっていくということ。

一方の“Explore”ですが、こちらは何となく語義から想像がつくように上記で蓄積された情報とは別のところからアルゴリズムに組み込んでいます。

・自分と類似した嗜好を持つユーザーのプレイリスト、楽曲
・他アーティストの人気
…など。

ところで上記モデルを採用したとして、旧来のサービスにありがちな『全ユーザー⇔全プレイリスト』という単純な情報の蓄積では、各ユーザーごとに最適なUXを設計することはできません。一方『各ユーザー×各プレイリスト』のパターンを分析しようとすると、今度は数が多すぎ&細かすぎでパーソナライズが大変。ということで、類似したユーザーをグループでまとめ、そのグループ毎に同じくグループ化したプレイリストを届けているのが、Spotifyの基本的なアルゴリズムとなっています。このグループ化をRoelleke氏は“Co-cluster”と呼んでいます。

そしてこの“Co-cluster”で最終的に形となっているのが、ホーム画面で毎回表示される『メイド・フォー・ユー(made for you)』と呼ばれるプレイリストですね。

Spotifyのヘルプにも

『お客さまの視聴習慣 (お気に入り、保存またはシェアした音楽、スキップした曲など) と、好みの似ている他のユーザーの視聴履歴をもとにして、お客さまに様々な専用プレイリストをお届け』

と記載されており、まさに“BaRT”の仕組みと合致していることが分かります。

ホーム画面の基本的な仕組みについて見たところで、次はプレイリストのアルゴリズムについてより具体的に触れていきましょう(*'ω'*)

機械学習の賜物“Discover Weekly”

『メイド・フォー・ユー』には“Daily Mix(頻繁に聞くジャンルについて最大6つのプレイリストを表示)”、“Release Radar(各ユーザーのために選ばれた新曲を表示)”などいくつか種類があります。中でもとりわけざっくりしているのが毎週月曜に更新され、30曲をおすすめされる“Discover Weekly”。

サービスのヘルプには、

『Spotifyがあなたのために選んだおすすめ』

とのみ書かれており、他に比べると随分漠然としてます(;´・ω・)
つまりそれだけユーザーによって内容が大きく変わるということと考えられます。一体どのようなアルゴリズムが存在するのでしょう?

“BaRT”の仕組みから考えるとサービス上の情報や行動履歴からリストを作成しているように思えますが、実はそれだけではありません。

“Discover Weekly”を成り立たせる3つのモデル

“Discover Weekly”は、3つのモデルを組み合わせることでプレイリストのパーソナライズを行っています。いずれも機械学習を活用したものです。

1.協調フィルタリング

行動が似ているユーザーは嗜好も似ている、という仮説から自動でパーソナライズを行っていくモデルで、Pythonなど機械学習でポピュラーな手法ですね。協調フィルタリングは以前ご紹介したNetflixも活用しているのですが、Spotifyはユーザーの嗜好を示す上で重要と思われる『評価(いわゆる星など)』のシステムがありません。その代わり、

・特定の曲の再生回数
・プレイリストに保存された曲
・再生中にアーティストのページをクリックしたか

など、ユーザーの行動から間接的に出されるフィードバックを基にしています。

2.自然言語処理

こちらも有名なモデルですね。Spotifyでは楽曲のメタデータだけでなく、楽曲のアーティストについて言及しているブログ記事やウェブニュースなど、インターネット上に散見されるテキスト情報を収集・分析しています。この時ネット上で人々が話題としている、加えてその際一緒に言及されている楽曲・アーティスト、更にはそれらと関連するフレーズまでAIでチェックしているとされています。

そうして集められたキーワードは、“ユーザーがその用語をどれくらい、好きなアーティスト・楽曲について言及するために使ったか”という点に関する“重要度合い”が割り振られており、プレイリストに選ぶ基準が割り振られているようです。うーんまさに機械学習って感じ(*'ω'*)

3.オーディオ・モデル

先ほどの自然言語処理がテキスト情報から得られるモデルなら、こちらは文字通り生の楽曲音声を分析して各楽曲をカテゴライズするモデルです。これは、特に無名ミュージシャンにとって重要なアプローチと言えます。

というのも、自然言語処理はあくまで『インターネット上の話題』を基にしたモデルなので、新しい楽曲やアーティストはいつまで経ってもおすすめに上がることができません。しかし、協調フィルタリングとオーディオ・モデルを組み合わせることで、新しい楽曲と既存の似ている曲がグルーピングされるため、既存の曲が好きなユーザーに対して新曲をおススメすることが可能になります。

オーディオ・モデルを可能にしているのは、顔認証などで活用される畳み込みニューラルネットワーク(Convolution Neural Network)。基本的には画像の識別をピクセルを基に行うネットワークですが、Spotifyでは代わりに音声データを判定しているとのこと。

これにより人気アーティストはもちろん、日の目を見ないアーティストの楽曲までユーザーに届けることが出来るんですね。

最後に

アルゴリズムの要素にプラットフォーム外の情報まで活用しているのは、先日ご紹介したNetflixとの大きな違いですね(Netflixもすべての情報を開示している訳では無いと思いますが…)。Netflixではユーザーの視聴作品のうち約80%がレコメンド機能で表示されたものであるとされており、恐らくSpotifyでも高い数値が出るのではないかと思います( ゚Д゚)

自分たちで『自分が良いと思ったから見る(聴く)んだ!』と思っていても、実はアルゴリズムによって“体験させられている”ことが良くわかりますね。NetflixもSpotifyも日々AI技術を発展させて、更なる驚きのパーソナライゼーションが実装されることでしょう。

参照サイト

https://www.google.com/amp/s/jp.techcrunch.com/2019/08/01/2019-07-31-spotify-108-million/amp/
https://onezero.medium.com/how-spotifys-algorithm-knows-exactly-what-you-want-to-listen-to-4b6991462c5c
https://outsideinsight.com/insights/how-ai-helps-spotify-win-in-the-music-streaming-world/
https://www.slideshare.net/mobile/mounialalmas/recommending-and-searching-research-spotify
https://support.spotify.com/jp/using_spotify/playlists/made-for-you-playlists/



いいなと思ったら応援しよう!