コンテンツ ベース フィルタリングでは、アイテムの機能を使用して他のアイテムをおすすめしています 過去のアクションや明示的なリクエストに基づいて ユーザーが好むものと類似しています できます。
コンテンツ ベースのフィルタリングのデモを行うために、いくつかの機能をハンドエンジニアリングしてみましょう。 ダウンロードしてください次の図は、特徴量行列を示しています。 各行はアプリを表し、各列は機能を表します。機能 カテゴリ(教育、カジュアル、健康など)や 多岐にわたります。簡単に説明すると、この特徴マトリックスはバイナリであるとします。 ゼロ以外の値は、アプリにこの機能があることを意味します。
また、同じ特徴空間でユーザーを表します。ユーザー関連イベントには、 ユーザーが明示的に提供することもできます。たとえばユーザーが "エンタメアプリ"選択します。暗黙的に指定することも、 アプリを自動インストールできますたとえば、ユーザーが Science R Us が公開している別のアプリをインストールしました。
モデルは、このユーザーに関連するアイテムをおすすめします。そのためには、 まず類似性指標(ドット積など)を選択します。次に、 システムをセットアップし、この類似性に従って各候補アイテムをスコア付けします。 表示されます。レコメンデーションは、このユーザーに特有のものであり、 他のユーザーに関する情報は使用していませんでした。
類似度尺度としてドット積を使用する
ユーザーのエンベディングと \(x\) アプリが Embeddings \(y\) はどちらもバイナリ ベクトルです。以降 \(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\)、 両方に表示される特徴が \(x\) \(y\) 求められます。つまり、 \(\langle x, y \rangle\) は 両方のベクトルで同時にアクティブになる特徴の ペア数です高 ドット積は、より一般的な特徴を示すため、類似性が高くなります。
実際に試してみましょう。
前述のアプリの問題で、各アプリのドット積を計算します。 その情報を元に、以下の質問に答えてください。