本文へスキップ
適応システム

レコメンドの「コールドスタート問題」をどう乗り越えるか

Response Calibration 編集部 · 約4分 ·

要点

  • 新しいユーザーや新しい商品には行動履歴がない。推薦システムはここで最も弱くなる——これがコールドスタート問題だ。
  • 対処は大きく二つ。属性情報で当面をしのぐ方法と、最初の数回を「探索」に充てる方法である。
  • 探索は短期的には体験を損なうが、長期の精度を上げる。ここに短期と長期のトレードオフがある。
  • もっとも、探索の負担をユーザーだけに負わせる設計は、離脱を招きやすい。

あるニュースアプリを初めて開いたとき、何が表示されただろうか。多くの場合、それはあなた個人の好みではなく、その時点で多くの人に読まれている記事だったはずだ。理由は単純で、アプリはまだあなたについて何も知らない。推薦システムにとって、この「何も知らない」状態は技術的な難所であり、コールドスタート問題と呼ばれる。本稿では、この問題がなぜ生じ、現場でどう扱われているのかを見ていく。

履歴がないと、なぜ推薦が崩れるのか

協調フィルタリングと呼ばれる代表的な手法は、「似た行動をとる人は似たものを好む」という前提に立つ。あなたと近い読書傾向を持つ人々が好んだ記事を、あなたにも勧める。この仕組みは、あなたの行動履歴が一定量たまって初めて機能する。履歴がゼロの段階では、誰と似ているかを判定できない。新規ユーザーだけでなく、登録されたばかりの新商品も同じ困難を抱える。まだ誰にも評価されていないものは、推薦の網に乗らないからだ。

これはフィードバックループの起動に必要な最初の信号が欠けている状態だ、と言い換えられる。循環は信号があって初めて回り出すが、その最初の一周を回すための材料がない。

属性で当面をしのぐ

第一の対処は、行動以外の手がかりを使うことである。ユーザーが登録時に選んだ関心分野、記事に付与されたカテゴリやタグ、商品の価格帯やジャンル——こうした属性情報は、行動履歴がなくても最初から存在する。これらを使えば、「料理に関心があると申告した人には、まず料理の定番記事を」といった粗い推薦が可能になる。精度は高くないが、まったくの当てずっぽうよりはましだ。

ただし、属性に頼りすぎると別の硬直が生まれる。申告された関心は、実際の関心の一部でしかない。料理に関心があると答えた人が、旅行の記事にも反応するかもしれない。属性だけで固めると、その可能性は最初から排除されてしまう。

探索に充てるという発想

第二の対処は、最初の数回を意図的に「探索」に使うことだ。確実に当たりそうなものばかりを出すのではなく、あえて少し外れた候補も混ぜ、反応を観測する。これは多腕バンディット問題として定式化される、探索と活用のバランスの話である。短期的には、外れた候補を見せられたユーザーの体験は下がる。だが、そこで得られた反応が、長期的にはより的確な推薦を可能にする。

一方で、この探索のコストを誰が負うのかは見過ごせない論点だ。系にとっての学習材料は、ユーザーにとっては「ピンと来ない表示」である。探索の比率を上げれば学習は速いが、初期離脱も増える。裏を返せば、コールドスタートの巧拙は、アルゴリズムの精度よりも、最初の体験をどう設計するかにかかっている部分が大きい。

問題を消すのではなく、薄める

コールドスタート問題に、きれいな解は存在しない。属性で当座をしのぎ、探索で履歴を育て、十分なデータがたまった段階で本来の推薦に移行する——現場で行われているのは、おおむねこの段階的な移行である。重要なのは、初期段階を「精度が低い不完全な期間」とみなすのではなく、後の精度を準備する投資期間として設計に組み込むことだ。「あなたへのおすすめ」の設計でも触れるが、推薦の質は完成時点だけでなく、立ち上がりの体験を含めて評価されるべきものである。

出典・参考

  • 協調フィルタリングおよびコールドスタート問題に関する推薦システムの一般的文献
  • 探索と活用のトレードオフ(多腕バンディット問題)に関する標準的な定式化

関連するガイドと選択肢を、まとめて確認できます。

選択肢を見る

ニュースレター

最新の記事と論点を、まとめて受け取る。

✓ 登録ありがとうございます。確認メールをお送りします。