再ランキング

レコメンデーション システムの最終ステージでは、候補を再ランク付けして、追加の基準や制約を検討します。再ランキングのアプローチの 1 つは、一部の候補を削除するフィルタを使用することです。

再ランキングを行うもう一つの方法は、ランカーによって返されたスコアを手動で変換することです。

このセクションでは、鮮度、多様性、公平性について簡単に説明します。 これらの要因は、レコメンデーション システムの改善に役立つ多くの要因の一部です。多くの場合、このプロセスのさまざまな段階を変更する必要があります。各セクションでは、個別または一括で適用できるソリューションを示しています。

鮮度

ほとんどのレコメンデーション システムは、現在のユーザー履歴や最新のアイテムなど、最新の使用状況情報を組み込むことを目的としています。モデルを最新の状態に保つことで、モデルによる適切な推奨ができるようになります。

ソリューション

  • トレーニングをできる限り頻繁に再実行して、最新のトレーニング データについて学習する。モデルをゼロから再学習する必要がないように、トレーニングをウォーム スタートすることをおすすめします。ウォーム スタートにより、トレーニング時間を大幅に短縮できます。たとえば、行列分解では、モデルの前のインスタンスに存在していたアイテムのエンベディングをウォーム スタートします。
  • 行列分解モデルで新しいユーザーを表す「平均」ユーザーを作成します。ユーザーごとに同じエンベディングは必要ありません。ユーザー機能に基づいてユーザーのクラスタを作成できます。
  • softmax モデルや Two-Tower モデルなどの DNN を使用している。モデルは特徴ベクトルを入力として受け取るため、トレーニングでは見えなかったクエリまたはアイテムに対してモデルを実行できます。
  • ドキュメント年齢を機能として追加します。たとえば、YouTube は動画の年齢や最後に視聴した時刻を特徴として追加できます。

フクロウに関するおすすめの動画を 4 枚表示している画像。

多様性

システムが常にクエリ エンベディングに「最も近い」アイテムを推奨する場合、候補は互いによく似ている傾向があります。この多様性の欠如は、ユーザー エクスペリエンスの低下や退屈を引き起こす可能性があります。たとえば、YouTube が、ユーザーが現在視聴している動画とよく似た動画(フクロウ動画など)をおすすめするだけの場合(図を参照)、興味をすぐに失う可能性があります。

ソリューション

  • 異なるソースを使用して複数の候補生成ツールをトレーニングする。
  • さまざまな目的関数を使用して、複数のランカーをトレーニングします。
  • ジャンルなどのメタデータに基づいてアイテムをランク付けし、ダイバーシティを確保します。

公平さ

モデルはすべてのユーザーを公平に扱う必要があります。そのため、モデルがトレーニング データから無意識のバイアスを学習していないことを確認してください。

ソリューション

  • 設計と開発に多様な視点を取り入れる。
  • 包括的なデータセットで ML モデルをトレーニングします。データが不足しすぎている場合(たとえば、特定のカテゴリが過小評価されている場合)、補助データを追加します。
  • バイアスがないかモニタリングするために、各ユーザー属性の指標(精度や絶対誤差など)を追跡します。
  • 十分なサービスを受けていないグループごとに別個のモデルを作成します。