レコメンダーシステム レコメンダーシステムシリーズの概要(前編)

今日の急速な情報発展の時代において、レコメンドシステムはホットなトピックおよび技術分野であり、一部のクラウドベンダーは、Amazon Cloud Technology の Amazon Personalize など、レコメンドシステム用の SaaS サービスも提供しており、レコメンドシステムをゼロから迅速に構築するという顧客の問題を解決しています。 . 問題点と困難。私たちの日常生活では、Amazon eコマースショッピング、iQiyiビデオ、Meituan Waimai、Douyinのショートビデオ、今日のヘッドライン、アンカーライブブロードキャストプラットフォームなど、レコメンデーションシステムはどこでも見ることができ、私たちがよく使用しています。私がここ数年参加したレコメンデーションシステムとコンピューティング広告プロジェクトに基づいて、実践的な経験をまとめ、レコメンデーションシステムに関する連載記事の形で皆さんに共有したいと思います。読むと、レコメンデーション システムについてより新しく、より深く理解できます。この一連の記事には、レコメンデーション システムの概要、レコメンデーション システムのリコール フェーズの詳細な説明、ランキング タスクのサンプル プロジェクト、およびランキング モデルのチューニングの実践が含まれています。詳細については、私の github リポジトリを参照してください。

Amazon クラウド テクノロジー開発者コミュニティは、開発者にグローバルな開発テクノロジー リソースを提供します。技術ドキュメント、開発事例、技術コラム、トレーニングビデオ、アクティビティやコンテストなどがあります。中国の開発者が世界最先端のテクノロジー、アイデア、プロジェクトとつながることを支援し、優れた中国の開発者やテクノロジーを世界のクラウド コミュニティに推奨します。まだ注目/お気に入りをしていない場合は、これを見たときに慌てずにクリックして、ここを技術の宝庫にしてください。

まず推薦制度の概要を紹介しますが、大まかな内容は以下のとおりです。

  • レコメンダー システムの概要
  • レコメンダー システムの共通概念
  • レコメンダー システムで一般的に使用される評価指標
  • ホームページ推奨シナリオの一般的なリコール戦略
  • 詳細ページの推奨シナリオのリコール戦略
  • 仕分けフェーズで一般的に使用される仕分けモデル
  • 再配置段階
  • レコメンダー システムのコールド スタートの問題
  • 推奨されるシステムアーキテクチャ

レコメンダー システムの概要

推奨システムは、広範な推奨システムと狭い推奨システムに分類できます (今後の説明では狭い推奨システムのみに焦点を当てます)。次の表を参照してください。

画像.png

レコメンドシステムは、ユーザーの過去の行動、社会的関係、関心のあるポイント、およびコンテキストに基づいて、ユーザーが現在必要としているアイテムやサービス、または興味があるアイテム/サービスを判断するアプリケーションの一種です。レコメンドシステム自体も情報フィルタリング手法の一つであり、検索やカテゴリナビゲーションと合わせて3つの主流の情報フィルタリング手法を形成します。ユーザーにとって、レコメンデーション システムは、ユーザーがお気に入りの商品やサービスを見つけて意思決定を行うのに役立ちます。サービス プロバイダーにとって、レコメンド システムは、ユーザーにパーソナライズされたサービスを提供し、ユーザーの改善に役立ちます。信頼と粘り強さを高め、収益を増加させます。Netflix で視聴された映画の 2/3 は推奨システムによるもの、Google ニュースのクリック数の 38% は推奨システムによるもの、Amazon の電子商取引売上の 35% は推奨システムによるものであると言われています。

(かつての私も含めて) 多くの人にとって、レコメンデーション システムのエンジニアリング実装はコンピュテーショナル広告の実装と似ているというよくある誤解がありますが、実際には、次の表に示すように、この 2 つの実装はまったく異なります。

画像.png

レコメンダー システムの共通概念

レコメンデーション システムの一般的なシナリオ: ホームページのレコメンデーション (ユーザー中心をより重視) と詳細ページのレコメンデーション (アイテム中心をより重視)。

パーソナライズされたレコメンデーションとパーソナライズされていないレコメンド: パーソナライズされたレコメンデーションは現在のほぼ主流であり、各ユーザー、つまり数千人、数千の顔に対して異なるレコメンドを行うことです。ホーム ページの推奨事項ではパーソナライゼーションが考慮され、詳細ページの推奨事項ではパーソナライゼーションがますます考慮されるようになります。非パーソナライズされた推奨の一般的な方法には、市場全体の過去のランキング リストの推奨 (1 年以内、1 か月以内、1 週間以内など)、各カテゴリの過去のランキング リストの推奨 (1 年以内、1 週間以内など) が含まれます。 1ヶ月以内、1週間以内)、お祭り関連の定期勧告(国慶節ゴールデンウイークやクリスマス時期の商品の推薦など)、緊急事態関連の勧告(突発性感染症関連の商品の推薦など)、勧告新しくリリースされたアイテムの場合(例:1週間以内)。

レコメンドシステムの商品形態:アイテムとは、アイテムの露出形態(ページを上下にめくったり、ページを左右にめくったり、その混合方法など)、露出パーティションの配置(レコメンド方法の場合、パーソナライズされた TOP-N レコメンデーションとして、他のメソッドをリコール戦略としてパーソナライズされた TOP-N レコメンデーションのリコールフェーズに組み込むことを検討できます。複数のレコメンデーションメソッド、Netflix のホームページレコメンデーションの各行がレコメンデーションメソッドに対応します (その各行はを左右に反転して映画アイテムを参照できます)、これはパーティションごとの混合おすすめとも呼ばれます。たとえば、1 行は独占再生のおすすめ、1 行は人気のおすすめ、1 行は新製品のおすすめ、1 行はパーソナライズされた TOP です。 -N推奨)。記述の便宜上、以下の議論では、パーソナライズされた推奨方法のみが使用され、パーソナライズされた推奨の想起戦略として他の方法が使用されることを前提とします。

想起ステージ、並べ替えステージ、および再配置ステージ: これらは、パーソナライズされた Top-N レコメンデーションのプロセス全体の 3 つの細分ステージです。さまざまなシナリオ (ホームページの推奨や詳細ページの推奨など) では、さまざまなタイプのユーザー (ロングテール ユーザーかコールドスタート ユーザーかなど) に 3 つの段階すべてが必要なわけではありません。詳細については、この記事の別の部分で説明します。シリーズ記事「レコメンダー システムのリコール フェーズに関する詳細な議論」の記事に参加。再配置フェーズには、モデルの後処理フェーズや業務運用介入フェーズなど、さまざまな名前があります。

探索と活用: 探索とは、ユーザーの行動に反映できない趣味関連の項目を掘り出すことを指し、活用とは、ユーザーの過去の行動に基づいてレコメンドシステムが学習した知識を指し、ユーザーが興味を持っている可能性が高いものを予測することを指します。 。コールドスタート項目とロングテール項目の場合、再配置フェーズ中に探索を行うのが一般的なアプローチです。実際には、多くの場合、コールドスタート品目とロングテール品目用に予約された固定露出位置が存在します。

オフライン推奨とオンライン推奨: いわゆるオフライン推奨とは、オフライン時に推奨結果リストが事前に計算され、メモリベースの NoSQL (Redis 用 Amazon ElastiCache など) に保存されることを意味します。いわゆるオンライン推奨とは、ユーザーが要求すると、システムがルール、戦略、またはモデルの組み合わせに基づいて推奨リストを一時的に生成することを意味します。

オフラインリコールとオンラインリアルタイムリコール:いわゆるオフラインリコールとは、リコールが必要な項目候補セットを事前に計算し、オフライン時にメモリベースのNoSQLに保存することを指します。重要なのは、ユーザー要求が来ると、リコールサービスは特定のロジックに基づいてリコール候補を一時的に取得することです (モデルを使用してリアルタイムのユーザー関心ベクトルを取得し、このユーザー関心ベクトルを使用してTopK の類似アイテム ベクトルを検索するベクトル検索ライブラリ) を設定します。

電子商取引の支払い推奨システムと、ニュース/映画/ビデオなどのコンテンツ消費推奨システムでは、リコール戦略に違いがあります。ホームページの推奨シナリオの場合、リコール戦略や推奨方法はそれほど変わらない可能性があります。詳細ページで推奨されるシーンについては、それぞれの想起戦略が大きく異なるため、ニュース/映画/ビデオなどのコンテンツ消費推奨システムでは、アイテム表現ベクトルの類似性に基づく推奨手法で得られたリストがより有利に配置される可能性があります。露出位置、または商品表現ベクトルの類似性に基づいたリコール戦略を最優先する方が良いでしょう(コンテンツ消費シナリオでは、ユーザーは商品コンテンツ自体の類似性を好むため)、および電子商取引の支払い推奨の場合コンテンツ消費推奨システムよりも多くの推奨方法またはリコール戦略があります。たとえば、アイテムベースの関連付け推奨メソッドまたはリコール戦略は、電子商取引の詳細ページの推奨では必要になる場合がありますが、コンテンツ消費推奨システムではオプションですたとえば、「よく一緒に購入されている」という関連する推奨事項や「このアイテムを閲覧したユーザーは次のアイテムも閲覧する」という関連する推奨事項 (このシナリオでは、現在のユーザーは注意を払うだけでなく次のアイテムにも興味がある可能性があるため)詳細ページの商品へ(この商品がよく一緒に表示される他の商品)

電子商取引の支払い推奨システムの場合、ショッピング カート ページの推奨や支払い完了ページの推奨などのシナリオが考えられます。このようなシナリオの場合、関連推奨方法によって取得されたリストをより有利な露出位置に置くか、関連推奨の想起戦略を最優先にし、その一方で、関連推奨方法の類似性に基づくリコール戦略または推奨方法を優先する方がよい場合があります。このシナリオは適切ではありません。つまり、現在の購入意図が非常に確実である場合、ユーザーはおそらく類似した別のアイテムを購入したくないため、ユーザーはアイテム間の共起を好みます。すぐに内容がわかります。

レコメンダー システムで一般的に使用される評価指標

評価指標には大きく分けて「オンライン評価指標」と「オフライン評価指標」の2種類があります。一般に、オンライン ビジネスの評価指標の方が重要です (多くの場合、複数の指標を一緒に見る必要があります)。これには、コンバージョン指標 (コンバージョン率、クリック率、GMV 総売上高など) やコンテンツ消費満足度指標 (維持率など) が含まれます。レート、滞在時間、視聴時間など)

オフライン評価指標の中で最も一般的に使用される指標は AUC と GAUC、特に AUC です。AUC は AUC-ROC と AUC-PR に細分されますが、おそらく AUC-ROC の方が一般的に使用されます。AUC-ROC は、ランダムな陽性サンプルと陰性サンプルが与えられた場合、分類器が陽性サンプルを陽性として出力する確率が、分類器が陰性サンプルを陽性として出力する確率よりも大きいことを意味します。GAUC (グループ AUC) は、各ユーザーの AUC を計算し、平均値に重みを付け、最終的にグループ AUC を取得します。実際の処理では、重みは一般的に各ユーザーの閲覧数またはクリック数に設定できます。単一のユーザーがすべて肯定的であるか否定的であるかをフィルターで除外します。サンプル状況の場合、具体的な式は次のとおりです。

画像.png

オフラインの場合は、AUC インジケーターと GAUC インジケーターの両方に注意を払うことをお勧めします。実際には、オフライン検証セットの AUC をあまり意図的に追求しないでください。検証セットの AUC が高すぎると、モデルがこの検証セットに過剰適合していることを示し、オンライン効果が不十分になる可能性があります。一般に、オンラインになる前のオフライン AUC は 0.7 ~ 0.85 になります。

ホームページ推奨シナリオの一般的なリコール戦略

ヒート/人気/リーダーボードに基づいたリコール戦略

これは、統計期間と項目の最上位カテゴリの 2 つの次元から組み合わせることができます。例えば、一定期間内の同じ目的の全項目の評価数とその項目の平均点をカウントし、評価順に並べ替えますが、項目ごとに評価数が大きく異なる場合があるため、直接並べ替えることができます。平均スコアに基づく評価は効果的ではありません。公平性を保つために、加重スコアリングを使用する方が合理的です。次の式を参照してください。

画像.png

v はアイテムの採点に参加したユーザーの数、m はスクリーニングの対象となる評価ユーザー数のしきい値です。つまり、アイテムによって評価されたユーザーの数がしきい値よりも低い場合、そのアイテムは無視されます。 (たとえば、評価されたユーザーの数の 20% がしきい値の決定に使用されます)、R は項目の平均スコア、C はすべての項目の平均スコアです。

アイテムのポートレートに基づいたリコール戦略

いわゆるアイテムのポートレートは、アイテム自体の特定の側面の描写を指します。たとえば、アイテムのブランド、アイテムの価格、アイテムのカテゴリーなどは、アイテムのポートレートと呼ばれます。これらのポートレートには明らかな物理的意味があり、明示的なポートレートと呼びます。アイテムのモデルは学習された「黒の知識」に渡されます。この黒の知識は埋め込みと呼ばれます。この埋め込みは説明不可能であり、暗黙のポートレートと呼ばれます。明示的なポートレートと暗黙的なポートレートの観点から、アイテムのポートレートに基づくリコール戦略は、アイテムの内容に基づくリコールとアイテムの全体的な埋め込みに基づくリコールに自然に分割されます。

画像.png

ホームページのレコメンデーション シナリオにおけるアイテム ポートレート ベースの想起は、現在のユーザーの密集した行動に基づいています (密集した行動とは、ユーザーが 3 つまたは 4 つのアイテムだけでなく、多くのアイテムに対して行動したことを意味します)。これについては後で紹介します。詳細ページのレコメンデーション シーンにおけるアイテム表現ベクトルの類似性については、現在のユーザーの密な行動を考慮する必要はありません。アイテムの内容に基づく再現プロセスの場合、アイテムの構造化表現と非構造化表現は、同じ空間からの表現ではないため、直接連結してベクトル間の類似性を計算するために使用すべきではありません。表現ベクトルの類似性を計算したい場合は、それをアイテムの 2 つの異なる表現として、また 2 つの異なる想起戦略として使用するのが最善です。ユーザーの好みを分類およびモデル化する教師ありモデルに基づいている場合は、構造化表現と非構造化表現は、特徴としてモデル化してまとめてモデル化できます。

協調フィルタリングに基づくリコール戦略

このメソッドは、ユーザーの行動データ、つまりユーザーとアイテムのマトリックスまたはユーザーとアイテムで構成されるグラフに基づいてのみ設計されており、他の機能は含まれていません。要は行列補完の考え方ですが、行列ベースの処理だからこそ、ユーザーやアイテムが変わったり、アクションが変わったりすると、再計算や再学習が必要になる場合があります(現在は、増分協調フィルタリングまたはほぼリアルタイムの協調フィルタリングを実行する業界の手法)。協調フィルタリングに基づくリコール戦略は、ユーザーベースの協調フィルタリング/UserCF、アイテムベースの協調フィルタリング/ItemCF、モデルベースの協調フィルタリングの 3 つの方法に細分されます。

  • ユーザーベースの協調フィルタリングに基づいた中心的なアイデアは、まず類似度に従ってターゲット ユーザーの近隣セットを計算し、次に近隣ユーザーのスコア/インタラクションの重み付けされた組み合わせを使用してターゲット ユーザーに推奨を行うことです。通常、これは 3 つのステップに分かれています: まず、すべてのユーザーのアイテム評価/インタラクション マトリックスを使用して、ターゲット ユーザーと他のユーザーの間の類似性を計算します (ピアソン相関係数、コサイン類似度などを使用)。次に、最も類似しているものを選択します。ターゲットユーザを K ユーザとし、最後に、近隣ユーザの評価/インタラクションの加重合計により、自分自身で評価/インタラクションを行っていない各アイテムに対するターゲット ユーザの評価/関心レベルを予測します。ここでの重み付けとは、下図の式のsim(u,ui)のように、ユーザー間の類似性をスコアリング・インタラクションの重みとして利用することを指します。

画像.png

上式の U は、ターゲット ユーザー u の近隣ユーザーの集合 (つまり、上位 K 個の類似ユーザーの集合) を表し、s は、ユーザー - アイテム インタラクション マトリックスに出現し、近隣ユーザーによってインタラクションされたアイテムを表します。過去のアイテムはターゲット ユーザーによってインタラクションされていません。スコア(ui,s) は項目 s に対するユーザー ui の好みであり、暗黙的なフィードバックの場合は 1 です (操作動作がユーザーによって直接評価されない限り、閲覧、クリック、再生、お気に入り、コメント、いいね、リツイートなど)、暗黙的でないフィードバックの場合、値はアイテムに対するユーザーの評価です。

UserCF の主な欠点は、Web サイトのユーザー数が増加するにつれて、計算の時間的複雑さと空間的複雑さがユーザーの増加に伴って爆発的に増加することです。ニュース・情報・知識系のWebサイトでは、リコールするためにユーザーベースのCFが一般的ですが、この種のWebサイトでは記事の更新が速く、記事数が多すぎるため、アイテムベースのCFを使用するのは適さない場合があります。

  • アイテムに基づく協調フィルタリング (アイテムベース) の核となるのは、コンテンツベースの推奨方法とは異なり、類似性尺度を通じてアイテム間共起行列に基づいて 2 つのアイテムの類似性を計算することです。ここではアイテムの機能は必要ありません。モデリング自体は、アイテムの動作に関するユーザーの履歴データに完全に基づいています。この方法は主に 3 つのステップに分かれています。まず、アイテム間共起行列を構築し、トレーニング データを走査し、2 つまたは 2 つのアイテムを好むユーザーの数を計算し、行列に記入する必要があります。次に、アイテム間の類似性を計算し、人気のあるアイテムとアクティブなユーザーを罰する必要があります。式は次のとおりです。

画像.png

アイテムの類似性とユーザーの過去の行動に基づいて、ユーザー向けの推奨リストを生成します。

画像.png

上の式の S はトレーニング セットに表示されるアイテムのコレクションを表し、i はユーザー u が操作したアイテムであり、トレーニング セットに表示されます。

画像.png

アイテム i に対するターゲット ユーザー u の評価を指します (明示的なフィードバックはユーザーの特定の評価であり、暗黙的なフィードバックの値は 1 です)。

ItemCF これは、業界で最も広く使用されているリコール戦略と言えます。たとえば、Amazon e-commerce、Netflix オンライン ビデオ、その他の Web サイトでは、ホームページの推奨事項のリコールの 1 つとして、ItemCF がよく使用されます。

  • モデルベースの協調フィルタリングは、上記の 2 つの近傍ベースの手法とは異なり、モデルベースの CF では、モデリングに従来の機械学習が使用されます。SVD とそのバリアント、SimRank などのグラフィカル モデルなど。SVD とそのバリアントは、行列分解のためのユーザーアイテム行列に基づいています。ユーザーアイテムスコアリング行列を 2 つの低ランク行列の積に分解します。これら 2 つの低ランク行列は、それぞれユーザーとアイテムの隠しベクトルセットです。 . 目に見えないアイテムに対するユーザーの関心は、ユーザーとアイテムの潜在ベクトルのドット積を通じて予測されます. この観点から、行列分解は埋め込み表現を生成する方法でもあります。
ユーザー像に基づいたリコール戦略

簡単に言えば、ユーザーポートレートはユーザーのタグです。ラベル付けの重要な目的の 1 つは、人々がコンピューター処理を理解し、容易にできるようにすることです。パーソナライゼーションはユーザーのポートレートを通じて反映されるため、ユーザーのポートレートに基づく想起は、パーソナライズされたレコメンデーションの本質です。ユーザーのポートレートには次の 3 つのカテゴリが含まれます。

画像.png

ユーザーポートレートの一般的な実装アイデアは次のとおりです。

画像.png

要約する

以上で、レコメンダシステムの概要についての第1回目の講義は終了です。この記事では、まずレコメンデーションシステムの共通概念と一般的に使用される評価指標を紹介し、その後、ホームページのレコメンデーションシナリオにおける一般的な4つのリコール戦略、すなわち、人気/知名度/ランキングリストに基づくリコール戦略、リコール戦略に基づくリコール戦略について詳しく紹介します。アイテムのポートレートに基づいたリコール戦略、およびコラボレーションに基づいたリコール戦略 フィルターされたリコール戦略とユーザーのポートレートに基づいたリコール戦略。推薦制度についての理解が深まったと思いますが、第2回の講義では、引き続き推薦制度の概要を紹介していきますので、お読みいただきありがとうございました。

画像.png

Liang Yuhui は、  Amazon クラウド テクノロジーの機械学習製品の技術専門家であり、Amazon クラウド テクノロジーに基づく機械学習ソリューションのコンサルティングと設計を担当し、機械学習の推進と応用に重点を置き、多くの実際のシステムの構築と最適化に深く参加しています。顧客の機械学習プロジェクト。彼は、深層学習モデル、レコメンデーション システム、コンピュテーショナル広告の分散トレーニングに豊富な経験を持っています。

記事のソース: https://dev.amazoncloud.cn/column/article/630b3545269604139cb5e9e8?sc_medium=regulatorytraffic&sc_campaign=crossplatform&sc_channel=CSDN 

おすすめ

転載: blog.csdn.net/u012365585/article/details/132329835