コラボレーション フィルタリング

コンテンツ ベースのフィルタリングの制限に対処するため、コラボレーション フィルタリングではユーザーとアイテム間の類似点を同時に使用することで推奨事項を提供します。これにより、偶発的な推奨が可能になります。つまり、コラボレーション フィルタリング モデルは、類似のユーザー B の興味や関心に基づいて、ユーザー A にアイテムをおすすめできます。さらに、エンベディングは、特徴の手動設計に依存せずに自動的に学習できます。

おすすめの映画の例

映画おすすめシステムでは、トレーニング データがフィードバック マトリックスで構成され、次の条件を満たす必要があります。

  • 各行は 1 人のユーザーを表します。
  • 各列はアイテム(映画)を表します。

映画に関するフィードバックは、次の 2 つのうちの 1 つに分類されます。

  • 明示的 - ユーザーは、特定の映画をどの程度高く評価したかを数値で示します。
  • 暗黙的 - ユーザーが映画を視聴すると、システムはユーザーが興味を持っていると推測します。

わかりやすくするため、フィードバック マトリックスがバイナリであると仮定します。つまり、値が 1 の場合は映画への関心を示します。

ユーザーがホームページにアクセスすると、システムは以下の両方の情報に基づいて映画をおすすめする必要があります。

  • ユーザーが過去に高く評価した映画との類似性
  • 類似のユーザーが高く評価した映画

説明のために、次の表に示す映画の一部の機能は手動で操作します。

映画 評価 説明
ダークナイト ライジング PG-13 バットマンが、DC コミックの世界を舞台にしたダークナイトの続編で、ゴッサムシティを核消滅から救うことに取り組んでいます。
ハリー ポッターと魔法使いの石 PG 孤児の少年が魔法使いであることを発見し、ホグワーツ スクール オブ ウィッチクラフト ウィザードに入学しました。ここでは、邪悪なヴォルデモート王との初めての戦いに挑戦します。
シュレック PG かわいらしいオーガと、そのロバの仲間が、ドラゴンに魅了されたフィオナ王妃を救うという任務を遂行しました。
ベルビルの三つ子 PG-13 プロのサイクリング チャンピオンがツール ド フランスに誘われたとき、彼の祖母と太りすぎの犬の海外旅行で、3 人の高齢者ジャズ歌手の助けを借りて彼を救い出しました。
メメント R 栄養士が必死に妻の殺人を解き明かそうと、手がかりに手がかりを刺す。

1D 埋め込み

各映画に、映画が子ども向け(負の値)と大人(正の値)のどちらであるかを説明するスカラーを \([-1, 1]\) で割り当てたとします。また、 \([-1, 1]\) で、子供向けの映画(-1 に近く)または成人向けの映画(+1 に近く)に対するユーザーの興味や関心を表すスカラーを各ユーザーに割り当てるとします。映画のエンベディングとユーザー エンベディングの積は、ユーザーに好まれるよう期待される映画では高い(1 に近い)必要があります。

1 次元のエンベディング空間に配置された複数の映画やユーザーを示す画像。この軸に沿った各映画の位置は、子供向けの映画(左)と成人向けの映画(右)のどちらであるかを示しています。ユーザーの立場は、子供やアダルト映画への関心を表します。

下の図では、各チェックマークは特定のユーザーが視聴した映画を示しています。3 人目と 4 人目のユーザーは、この機能について詳しく説明した設定を利用できます。3 人目のユーザーは子ども向けの映画を、4 人目のユーザーは大人が映画を好みます。ただし、1 人目と 2 人目のユーザーは、この機能だけでは十分とは言えません。

フィードバック マトリックスの画像。行はユーザーに対応し、列は映画に対応する。ユーザーとユーザーの各映画は 1 次元のエンベディングにマッピングされます(前の図を参照)。2 つのエンベディングの積がフィードバック マトリックスのグラウンド トゥルースの値に近似するようにします。

2D 埋め込み

1 つの機能は、すべてのユーザーの好みを説明するのでは不十分でした。この問題を解決するために、第 2 の特徴として、各映画が大ヒット作またはアートハウス映画である度合いを追加しています。2 つ目の機能により、各映画を次の 2 次元の埋め込みで表現できるようになりました。

2 次元の埋め込み空間に配置された複数の映画やユーザーを示す画像。横軸の各位置は、子供向けの映画(左)と成人向けの映画(右)を表し、縦軸の位置は、大作映画(上)かアートハウス映画(下)かを示しています。ユーザーの位置は、各カテゴリに対する興味や関心を反映しています。

フィードバック マトリックスを適切に説明するために、再度同じエンベディング空間にユーザーを配置します。ユーザー エンベディングとアイテム エンベディングのドット積を、ユーザーが映画を視聴するときは 1 に、それ以外の場合は 0 に近づけます。

同じフィードバック マトリックスの画像。今回、ユーザーとユーザーの各映画は 2 次元のエンベディングにマッピングされます(前の図を参照)。2 つのエンベディングのドット積がフィードバック マトリックスのグラウンド トゥルースの値に近似されるようにします。

この例では、エンベディングを手動設計しました。実際には、エンベディングは自動的に学習できます。これは、コラボレーション フィルタリング モデルの能力です。次の 2 つのセクションでは、これらのエンベディングを学習して、それらのトレーニングを行う方法について説明します。

このアプローチのコラボレーションの性質は、モデルがエンベディングを学習するときに明らかです。映画のエンベディング ベクトルが固定されているとします。その後、モデルは、ユーザーが好みを適切に説明するためのエンベディング ベクトルを学習します。その結果、同様の選好を持つユーザーのエンベディングは密接になります。同様に、ユーザーのエンベディングが固定されている場合、映画のエンベディングを学習して、フィードバック マトリックスを適切に説明します。その結果、類似するユーザーに好まれている映画のエンベディングは、エンベディング空間で近くなります。

理解度をチェック

モデルは最近似たアプリをインストールしたため、ユーザーにショッピング アプリを推奨します。これはどのようなフィルタリングの例ですか。
コンテンツ ベースのフィルタリング
よくできました!コンテンツに基づくフィルタリングでは、他のユーザーは考慮されません。
コラボレーション フィルタリング
コラボレーション フィルタリングでは、他のユーザーが考慮されます。このシナリオでは、1 人のユーザーのみを扱います。