BaRT: Spotifyのコアレコメンデーションエンジン

BaRT(Bandits for Recommendations as Treatments)は、Spotifyの中核となるレコメンデーションエンジンです。マルチアームドバンディットアプローチを使用し、馴染みのある音楽と新しいトラックの発見のバランスを取ります。

FAQ
1 min read
An Art Deco machine with two levers, 'Explore' and 'Exploit,' emitting streams of light that form into music recommendation c

BaRTは「Bandits for Recommendations as Treatments」の略です。これは、Spotifyユーザーのホーム画面に表示されるもの、つまりプレイリストの順序、それらのプレイリスト内の曲、およびレコメンデーションに伴う説明テキストを制御するAIシステムです。

この名前は、「マルチアームドバンディット」と呼ばれる機械学習の手法に由来しており、アルゴリズムが慣れ親しんだ音楽で安全策を取るべきか、それとも何か新しいものを導入すべきかを決定するのに役立ちます。

BaRTがホーム画面を整理する方法

Spotifyのホーム画面は、「おすすめ」(「あなたへのおすすめ」や「最近の再生履歴からインスピレーションを得た」など)と呼ばれるプレイリストの行で構成されており、それらの「おすすめ」の中にある個々のプレイリストは「カード」と呼ばれます。

BaRTには2つの役割があります。

  1. 各シェルフ内のカードのランク付け - どのプレイリストを最初に表示するかを決定します
  2. シェルフ自体のランク付け - どのコンテンツの行を画面の上部に表示するかを決定します

このランキングは、リスニング履歴、時刻、および以前のレコメンデーションへの応答に基づいてリアルタイムでパーソナライズされます。

BaRTはどのように探索と活用のバランスを取るのか?

BaRTは常に2つのモードのバランスを取っています。

活用(Exploitation)モードは、システムがあなたが楽しむと確信しているコンテンツを推奨します。リスニング履歴、保存した曲、スキップしたトラック、プレイリストの活動を活用して、ストリーミングを維持するために何を予測するかを導き出します。

探索(Exploration)モードは、システムが不確実なコンテンツを推奨します。これは2つの目的を果たします。Spotifyがあなたの好みをより多く学習するのを助け、そうでなければ見つけられなかったかもしれない音楽を紹介します。

これらのモード間のバランスは、「イプシロン・グリーディ」戦略によって管理されます。ほとんどの場合、BaRTはあなたについて知っていることを活用します。時折、新しい情報を収集するために探索を行います。

リスニング履歴がほとんどない新規ユーザーの場合、BaRTは探索により重点を置きます。確立された好みが定着している長年のユーザーの場合、活用により重点を置きます。

30秒の成功シグナルとは?

BaRTは、単純なしきい値を使用して独自のパフォーマンスを測定します。リスナーが推奨されたトラックを30秒以上ストリーミングした場合、そのレコメンデーションは成功としてカウントされます。

誰かが推奨されたプレイリストやラジオセッションを長く聴くほど、BaRTはそのユーザーに対する予測に自信を持つようになります。これが、早期スキップがアルゴリズムによるリーチに悪影響を与える理由です。それはBaRTにレコメンデーションが失敗したことを教えるからです。

BaRTが使用する3つのデータソースは?

BaRTは単独では機能しません。3つの主要なデータパイプラインからデータを取得します。

データソース 取得するもの どのように役立つか
協調フィルタリング 類似のリスナーが楽しむパターンの分析 「アーティストXのファンはアーティストYも好き」
音声分析 テンポ、キー、エネルギー、音色 Radioのために音響的に類似したトラックを見つける
自然言語処理 歌詞、プレイリストのタイトル、ブログでの言及 気分とジャンルの文脈を理解する

これらのシグナルがBaRTにフィードされ、BaRTが個々のユーザーに対してそれらをどのように重み付けするかを決定します。

アーティストにとっての意味

BaRTは、ピッチングできるゲートキーパーではありません。リスナーの行動から学習する予測エンジンです。

高いsavesと低いスキップは、あなたの音楽が提示されたリスナーを満足させていることをBaRTに教えます。これにより、将来のレコメンデーションの可能性が高まります。

高いスキップと低いsavesは、レコメンデーションがミスマッチであったことをBaRTに教えます。システムは、あなたのトラックを類似のリスナーに表示する可能性が低くなります。

BaRTに影響を与える唯一の方法は、真のリスナーエンゲージメントを通じてポジティブなシグナルを送ることです。これは、生のストリーム数ではなく、save率、完了率、およびリピート再生を最適化することを意味します。

BaRTはSpotifyの他のシステムとどう違うのか?

BaRTは特にホーム画面とパーソナライズされたシェルフのレコメンデーションを処理します。他のアルゴリズムのサーフェスには独自のロジックがあります。

  • Discover Weeklyは毎週月曜日に協調フィルタリングを使用して更新されます
  • Release Radarは毎週金曜日に更新され、フォローしているアーティストを優先します
  • RadioAutoplayは音声の類似性とセッション継続のシグナルを使用します

これらのシステムはデータを共有しますが、独立して動作します。BaRTのホームレコメンデーションでパフォーマンスが良かったトラックがRadioで取り上げられることもありますが、保証されたクロスオーバーはありません。

BaRTの背後にある研究は?

基礎研究は、2018年にSpotifyのエンジニアによって「Explore, Exploit, Explain: Personalizing Explainable Recommendations with Bandits」というタイトルで発表されました。この論文では、BaRTがいかにしてアイテム、説明、コンテキストの任意の組み合わせに対するユーザー満足度を予測するように学習するかを説明しています。

それ以来、Spotifyはこのアプローチの改善を続けています。2025年の研究論文では、コンテクスチュアルバンディットを使用してレコメンデーションリスト内のコンテンツタイプ(音楽、ポッドキャスト、オーディオブック)を調整し、ユーザーの進化する好みにリアルタイムで適応させる方法について説明しています。