取得

エンベディング モデルがあるとします。あるユーザーについて、どのように おすすめするアイテムを決めますか?

サービング時に、あるクエリを指定して、まず次のいずれかを行います。

  • 行列分解モデルの場合、クエリ(またはユーザー)のエンベディングが既知 静的に検索され、システムは ユーザー エンベディング マトリックスを使用します。
  • DNN モデルの場合、システムがクエリのエンベディングを計算する \(\psi(x)\) 特徴ベクトルでネットワークを実行することで、配信時に \(x\)というラベルを作成します。

クエリ エンベディング \(q\)を取得したら、アイテムのエンベディングを検索します。 近似値を求めます。 \(q\)\(V_j\) これは最近傍問題です。たとえば、上位 k 個の 類似度スコアに従ってアイテムが生成されます \(s(q, V_j)\)。

複数の映画とユーザーが配置された 2 次元スペクトルの画像
子ども向け映画、アートハウスから大ヒット映画まで、多岐にわたります。1 人のユーザーは
付近の 2 本の映画が表示されます。

関連アイテムのおすすめでも同様のアプローチを使用できます。たとえば ユーザーが YouTube 動画を視聴していると、システムはまず そのアイテムのエンべディングを見つけてから、他のアイテムのエンべディングを探す \(V_j\) の類似パターンを検出できます。

大規模な取得

エンべディング空間内の最近傍を計算するために、 網羅的にすべての候補を採点できます網羅的なスコアリング 非常に大規模なコーパスの場合はコストがかかる可能性がありますが、 次の戦略によって効率性を高めます。

  • クエリのエンベディングが静的にわかっている場合、システムは オフラインでの網羅的なスコア付け、リストされた 上位候補を表示しますこれは、Cloud Monitoring で おすすめします。
  • 近似最近傍を使用する。