コンテンツ ベースのフィルタリング

コンテンツ ベース フィルタリングでは、アイテムの機能を使用して他のアイテムをおすすめしています 過去のアクションや明示的なリクエストに基づいて ユーザーが好むものと類似しています できます。

コンテンツ ベースのフィルタリングのデモを行うために、いくつかの機能をハンドエンジニアリングしてみましょう。 ダウンロードしてください次の図は、特徴量行列を示しています。 各行はアプリを表し、各列は機能を表します。機能 カテゴリ(教育、カジュアル、健康など)や 多岐にわたります。簡単に説明すると、この特徴マトリックスはバイナリであるとします。 ゼロ以外の値は、アプリにこの機能があることを意味します。

また、同じ特徴空間でユーザーを表します。ユーザー関連イベントには、 ユーザーが明示的に提供することもできます。たとえばユーザーが "エンタメアプリ"選択します。暗黙的に指定することも、 アプリを自動インストールできますたとえば、ユーザーが Science R Us が公開している別のアプリをインストールしました。

モデルは、このユーザーに関連するアイテムをおすすめします。そのためには、 まず類似性指標(ドット積など)を選択します。次に、 システムをセットアップし、この類似性に従って各候補アイテムをスコア付けします。 表示されます。レコメンデーションは、このユーザーに特有のものであり、 他のユーザーに関する情報は使用していませんでした。

ユーザーとおすすめのアプリを示したマトリックスの画像

類似度尺度としてドット積を使用する

ユーザーのエンベディングと x アプリが Embeddings y はどちらもバイナリ ベクトルです。以降 x,y=i=1dxiyi、 両方に表示される特徴が x y 求められます。つまり、 x,y は 両方のベクトルで同時にアクティブになる特徴の ペア数です高 ドット積は、より一般的な特徴を示すため、類似性が高くなります。

実際に試してみましょう。

前述のアプリの問題で、各アプリのドット積を計算します。 その情報を元に、以下の質問に答えてください。

おすすめするアプリ
Healthcare が作成した健康アプリ。
Science R Us が開発した教育アプリ。
TimeWastr が作成したカジュアル アプリ。