レコメンデーションの概要

レコメンデーション システムは、ビジネス向けの ML が最も成功し広く普及しているアプリケーションの一つです。レコメンデーション システムを使用すると、ユーザーは大量のコンテンツの中から魅力的なコンテンツを見つけやすくなります。たとえば、Google Play ストアには何百万ものアプリがあり、YouTube には数十億本もの動画が用意されており、さらに多くのアプリや動画が毎日追加されています。ユーザーは検索を使用して新しいコンテンツを見つけることができますが、それは検索キーワードによって限定されます。レコメンデーション システムは、ユーザーが自分で検索しようと考えなかったようなコンテンツを提示できます。詳細については、レコメンデーション システムの概要をご覧ください。

通常、レコメンデーション システムの ML アルゴリズムは、次のカテゴリに分類されます。

  • コンテンツ ベースのフィルタリング: アイテム間の類似度を使用して、レコメンデーションを提供します。たとえば、ユーザーが可愛い猫の動画を 2 本見ると、レコメンデーション システムはそのユーザーにさらに可愛い動物の動画を推奨します。
  • コラボレーション フィルタリング: ユーザー間の類似度(ユーザークエリに基づく)を使用して、レコメンデーションを提供します。たとえば、ユーザー A がユーザー B に類似した内容を検索し、ユーザー B が動画 1 を好む場合、ユーザー A が動画 1 に類似した動画を視聴していなくても、レコメンデーション システムはユーザー A に動画 1 をおすすめします。

行列分解モデルは、レコメンデーション システムのコラボレーション フィルタリング手法として広く利用されています。行列分解モデルを ML.RECOMMEND 関数とともに使用して、レコメンデーションを作成できます。詳細については、行列分解をご覧ください。

コラボレーション フィルタリング ベースのレコメンデーション システムを、行列分解モデルで可能な範囲を超えて拡張するには、ディープ ニューラル ネットワーク(DNN)モデルとワイド&ディープ モデルを ML.PREDICT 関数とともに使用して、レコメンデーションを作成します。これらのモデルによって、クエリの特徴やアイテムの特徴を組み込んで、レコメンデーションの関連性を改善できます。詳しくは、次のリソースをご覧ください。