推奨システムでよく使用される推奨アルゴリズム

推奨システムでよく使用される推奨アルゴリズム

[[172692]]
1. 推奨システムと共通評価指標の概要

1.1 推薦システムの特徴

私は Zhihu で推奨システムを検索しましたが、確かに結果は比較的少なく、ニッチなトピックのようでした。推奨システムに関する人々の一般的な意見は次のとおりです。

(1)重要性 UI>データ>アルゴリズム、つまり、推奨システムで盲目的に高度なアルゴリズムを追求するのは誤解です。通常、研究論文の推奨方法の中には、多くの仮定と制限があるものもありますが、エンジニアリング実装の問題をあまり考慮していないものもあります。推奨システムは、多くのデータの収集と変換を必要とします。同時に、企業のビジネス特性と既存システムとの統合を考慮して、推奨システムとビジネスの間に好循環を形成する必要もあります。

(2)レコメンデーションシステムはオフラインテストは良好だが、オンライン化後は厳密なテスト結果がなく感覚に頼るしかなく、実際の効果も不十分である。これは主にオフラインテストの方が理想的であるのに対し、オンラインABチャンピオンテストはフロントエンドとバックエンドの両方に非常に高い要件があり、強力な研究開発能力がなければ実現が難しいためだと考えられる。

(3)推薦システムは多くの外部干渉要因(季節、人気要因など)の影響を受け、システム全体を継続的に反復して更新する必要があります。一度きりの解決策というものは存在しません。

1.2 推薦システムの評価指標

推奨システムは比較的複雑なため、多くの評価指標が関係します。もちろん、ユーザー満足度は推奨システムの最終的な目標であるため、最も効果的ですが、リソースが限られており、コストが高すぎるため、推奨システムは他の客観的な評価指標にも依存します。

(1)推奨精度:このパラメータはオフラインで計算でき、比較的客観的であるため、主要な研究論文ではアルゴリズムの最も重要な参照指標となっている。

一般的に、推奨システムには「予測」と「推奨」という 2 つの主要なタスクがあるため、推奨システムの精度スコアには次のものが含まれます。

評価予測: ユーザーの評価モデルを学習することで、ユーザーがまだ触れていないものに対するユーザーの評価を予測します。実際には、これは回帰モデルと見なすことができ、一般的には二乗平均平方根誤差または絶対誤差によって測定されます。

TopN 推奨: ユーザーにパーソナライズされた推奨リストを提供します。これは通常、精度や再現率などの指標によって評価されます。 N も可変パラメータであり、異なる N に応じて対応するアルゴリズムの ROC 曲線を描き、推奨効果をさらに評価することができます。

(2)カバレッジ:マイニングアルゴリズムのロングテール製品を発見する能力を反映します。最も単純な定義は、ユーザーが推奨するすべての製品の和集合を取り、この和集合が製品の総数に占める割合を見ることです。この方法は比較的大まかです。マシュー効果は推奨システムで頻繁に発生するため、優れた推奨アルゴリズムでは、すべての製品が推奨される確率が同等で、適切なユーザーを見つけられるようにする必要があります。そのため、実際には情報エントロピーやジニ係数などの指標が考慮されます。

(3)多様性:この原則は、一つの木に命を懸けないこととして表現することができます。推奨システム全体には多くの要素が関係しているため、1 つのカテゴリの類似アイテムのみをユーザーに推奨すると、失敗するリスクが比較的高くなり、推奨全体の有効性を最大化することが困難になります。

(4)新規性:ユーザーがこれまで接触したり操作したことのない製品や、あまり知られていない製品は、ユーザーにとって比較的新しく、予期しない効果をもたらすことが多いという原則です。個人的にこの指標はちょっとおかしいと思うよ~~

(5)信頼:この指標は比較的主観的なものであり、推奨システムによる推奨が事実と理由に基づいていること、また推奨システムが内部的にどのように機能しているかをユーザーに信頼させることを目的としています。たとえば、Amazon の商品のおすすめにはおすすめの理由が示されますが、これはユーザーとしては非常に配慮のあることだと私は思います。そうでなければ、ユーザーは販売者が利益を優先していると感じ、抵抗感を抱くでしょう。

(6)堅牢性:例えば、関連する推奨アルゴリズムの場合、商人が商品の推奨頻度を高めるために悪意を持って注文したり、インターネット荒らしが悪意のあるコメントを投稿したりする可能性がある。

2. 静的データの推奨

基本的に、ほとんどのアルゴリズムは、ユーザーと製品のインタラクション データを使用して、パーソナライズされた推奨事項を動的に生成します。静的データとは、ユーザー インタラクション データが生成される前の期間を指します。これは、システムがコールド スタートされたときに特によく使用されます。よく使用される静的データには、次のものがあります。

(1)登録時のユーザーの性別、年齢、地域、教育水準、興味などの人口統計情報。

(2)認可されたソーシャルネットワークアカウントの友達情報

このタイプの推薦ベースの方法は簡単です。各タイプのユーザーにプッシュコンテンツを事前に設定したり、類似ユーザー間でコンテンツをプッシュしたりできます。ただし、この方法は、推薦の粒度が大きいという問題に直面しています。個人の好みや趣味に関連する高度にパーソナライズされた製品の場合、参照価値が限られています。同時に、人々のプライバシー意識が高まるにつれて、このタイプのデータは簡単に入手できなくなる可能性があります。2番目のタイプのソーシャルネットワークの友人情報は、より良い効果をもたらしますが、対応するプラットフォームの承認アクセスも必要です。

これにより、新規ユーザーと新製品にコールド スタートの問題が発生します。

新規ユーザー: 人気商品をプッシュします。粗粒度のプッシュに上記の人口統計情報を使用することを選択します。パートナーデータを取得できる場合は、その友人情報を取得し、UserCF 推奨用に親しい友人を選択します。ユーザーにいくつかの商品 (人気があり、代表的で特徴的で、多様な商品) を表示し、ユーザーからのフィードバックを得て、学習します (Nadav Golbandi アルゴリズム)。

新しく追加された製品: UserCF は、新しく追加されたアイテムのコールドスタートにはあまり敏感ではありません。ユーザーがこの新しい製品を発見する限り、新しい製品は徐々に広まっていくからです。 ItemCF の場合、問題はさらに深刻です。たとえば、コンテンツベースの推奨から始めて、一定量のデータが蓄積されたら協調フィルタリングの推奨に切り替えることを検討できます。

3. コンテンツベースの推奨

主にユーザーの過去の好みに基づいて類似アイテムを推奨します。このシステムは、ユーザー属性と製品属性の 2 つの側面から構成されています。前者には、ユーザーの固有の属性 (人口統計情報など) と、ユーザーの過去の製品インタラクション情報 (視聴した映画の評価、お気に入りの映画に関するユーザーの属性説明の取得など) が含まれます。後者は製品自体の属性の説明であり、単純なコサイン類似度によって推奨を実現できます。同時に、このアルゴリズムは、同様の説明ディメンションを持つ同じタイプのアイテムに対してはより効果的に機能すると思われますが、さまざまな電子商取引製品に対してはうまく機能しない可能性があります。

この方法が解決しようとしている中心的な問題は、推奨がスケーラブルであるかどうかです。ユーザーの過去の好みに基づいて類似の製品のみを推奨する場合、推奨システム全体の価値は非常に限られます。ただし、他の異なるカテゴリの製品を正確に推奨できれば素晴らしいでしょう。

Pandora の音楽推奨は、典型的なコンテンツベースの推奨システムです。さまざまな次元の属性を使用して音楽を説明し、ユーザーの過去の興味や趣味に基づいて、同様の属性とスタイルの音楽を推奨します。

4. 協調フィルタリングアルゴリズム

協調フィルタリング アルゴリズムは、推奨システムで最も古典的なアルゴリズムであり、ドメイン ベース アルゴリズムとも呼ばれます。協調フィルタリングには、ユーザーと製品間の相互作用、つまりユーザーの行動が関係します。一般的に、ユーザーは製品の動作に関して次のようなフィードバックを提供します。

明示的なフィードバック動作 - ユーザーが製品に対する好みを、ユーザー評価や製品に対するコメントなどによって明確に表現します。

暗黙的なフィードバック動作 - ページ閲覧動作など、製品に対するユーザーの好みを明確に表すことができない動作。このタイプのデータは比較的大きく、大量のノイズを伴うことが多く、実際に使用するには処理および変換する必要があります。

4.1 ユーザーベース協調フィルタリングアルゴリズム(UserCF)

これは、類似のアイテムを好むユーザーは、同じまたは類似の趣味や嗜好を持っている可能性が高いという仮定に基づいています。 UserCF を実装する手順は次のとおりです。

(1)ターゲットユーザーと興味が似ているユーザーグループを見つける

ユーザーuとvの肯定的なフィードバックの積集合がN(u)とN(v)であると仮定すると、彼らの興味の類似性は次のように記録できる。

(2)このコレクションの中で、ユーザーが気に入っているが対象ユーザーが聞いたことのない商品を見つけて推奨する。

UserCF が提供するパラメータ K は、対象ユーザーと興味が最も似ている人の数を表します。精度を確保しながらも、K が大きすぎると、推奨結果が人気商品になりがちになり、人気指数とカバレッジ指数が低下します。

4.2 コンテンツベースの協調フィルタリングアルゴリズム(ItemCF)

現在最も広く使用されている推奨アルゴリズムは、商品自体ではなく、商品に対するユーザーの行動を通じて商品間の類似性を計算します。ユーザーの興味を喚起できる商品は、以前に高く評価された商品と類似しているはずだと想定しています。 ItemCF の操作手順は次のとおりです。

(1)製品間の類似度を計算する。

アイテムの類似性は次のように表現できます(実際に以前のサポートと類似)

2 番目の式は、過熱した製品 j にペナルティを課すことができる点で、最初の式よりも優れています。

(2)商品の類似性とユーザーの過去の行動に基づいてユーザーへの推奨リストを生成する。

4.3 モデルベース協調フィルタリングアルゴリズム

ユーザー CF とアイテム CF は総称してメモリベース CF と呼ばれますが、モデルベース CF は一般的な機械学習手法を使用してサンプルのユーザー嗜好情報に基づいて推奨モデルをトレーニングし、その後、リアルタイムのユーザー嗜好情報に基づいて推奨を予測および計算します。

一般的に使用されるモデルには、LSI、ベイジアン ネットワークなどがあります。

4.4 UserCFとItemCFの比較

現実世界では、アイテムの数はユーザー数よりはるかに少ないことが多く、アイテムの数と類似度は比較的安定しています。最も作業負荷が大きい類似度計算ステップはオフラインで完了できるため、オンライン計算量が大幅に削減され、ユーザーベースのリアルタイムパフォーマンスが向上します。ただし、具体的な使用シナリオは、具体的なビジネス タイプに応じて区別する必要があります。User-CF は、少数のユーザーのホット スポットを反映することに重点を置いており、よりソーシャルですが、Item-CF は、次のようなユーザーの履歴的な関心を維持することを目的としています。

ニュースや読書のレコメンデーションは、ニュースや読書の情報がリアルタイムで更新されるため、この場合、ItemCF を継続的に更新する必要があります。ただし、ニュースに対するユーザーパーソナライズされたレコメンデーションは特に強力ではなく、ユーザーの新しい行動が類似ユーザーの劇的な動きにつながることはありません。

電子商取引の場合、ユーザーの消費コストが比較的高いため、パーソナライゼーションの精度も比較的高くなければなりません。ユーザーが新しい行動をとれば、推奨コンテンツもリアルタイムで変化します。

協調フィルタリングのアルゴリズムの欠点も明らかです。前述のコールドスタートに加えて、マーチャントはユーザーと製品の数が多いことが多いため、行列計算の量は非常に大きくなりますが、特定のユーザーは限られたものを購入することが多いため、データも非常にスパースです。

5. タグベースの推奨方法

タグベースの推奨アルゴリズムも、Douban や JD.com の製品レビューなど、非常に一般的です。タグ情報は、一般的に、専門家や学者が付与するタグと、一般ユーザーが商品に付与するタグ(UGC、ユーザー生成コンテンツ)の2つに分けられます。タグの内容は通常、名前、カテゴリ、産地など商品自体を説明するものか、安い、使いやすい、性能が良いなど商品に対するユーザーの意見や評価のいずれかです。トリプル(ユーザー、アイテム、タグ)は、タグを介してユーザーとアイテムを結び付けます。

タグベースの推奨の最も単純な例は、ユーザーの最もよく使用されるタグをカウントし、各アイテムの最もよく使用されるタグをカウントし、特定の関係に基づいて 2 つを推奨することです。もちろん、タグ クラウドを表示して、ユーザーが興味のあるタグをクリックできるようにし、これに基づいてパーソナライズされた推奨を行うこともできます。

JD.com、Taobao、Doubanなどの国内企業は、いずれもタグ情報を広範に使用しています。

ラベルに対するユーザーの評価は主観性が高いため、一方では、同じ意味であってもユーザーが異なる用語を使用することがあるため、標準化を検討することができます。ユーザーが評価する際に共通のラベルを提供し、ユーザーがクリックして入力の違いを減らすことができ、推奨ラベルにはアイテムをより説明するラベルとユーザーがよく使用するラベルが含まれます(ユーザーの一貫性)。ラベルを手動または自然言語処理技術で整理し、肯定的なユーザー評価と否定的なユーザー評価を区別します。ラベルにはロングテール分布効果もあるため、人気のあるラベルに加えて、差別化された有用なラベルをどのように抽出してより正確な推奨を行うかも検討すべきトピックです(カイ2乗分布/SVD)。

<<:  自然言語処理がヒラリーとトランプの「話し方」を分析

>>:  データ構造の8つの一般的なソートアルゴリズム

推薦する

陳一然教授の論文が2024 IEEE優秀論文賞を受賞しました! STN-iCNN: エンドツーエンドの顔解析フレームワーク

陳一然教授の論文が賞を受賞しました!この顔認識/分析に関する論文は、2024 IEEE CIS TE...

音声認識:市場の見通しは有望だが、コア技術にはまだブレークスルーが必要

人工知能製品が私たちの生活の中でますます普及するにつれて、テクノロジーの発展は社会の関心の焦点となっ...

...

アダムとイブ: ディープラーニングの問題を解決するための強力なツール

[[242433]] [51CTO.com クイック翻訳] 近年、ディープラーニングの波がインターネ...

12ページの線形代数ノートがGitHubのホットリストに掲載され、ギルバート・ストラングからの手書きの署名も受け取っている。

すでに誰かが線形代数の要点を描くのを手伝ってくれています。全12ページ、半分がイラストなので初心者で...

パーソナライズされた推奨事項は、馴染みのあるものに偏っていますか?アルゴリズムは公平性を侵害できない

北京日報によると、異なる消費者が同じ電子商取引プラットフォーム上で同じキーワードを使用して商品を検索...

CoCoPIE 主任科学者との対話: AI は審判になれるが、ショーを乗っ取ることはできない | T Frontline

「サッカーのフィールドで最もタブーなことは、誰もが明らかなファウルに気づいているのに審判が見て見ぬ...

スマートセキュリティカメラの3つの主要市場

2020 年に企業のオーナーや管理者が直面した健康、安全、セキュリティの課題は、非常に明確になりまし...

...

製造、小売、医療の事例から:エッジコンピューティングと人工知能がどのように収益向上に役立つか

[[403666]]ストラトキャスターとテレキャスターのギターを製造するカリフォルニア州コロナに本社...

スマート製造に関する新しい規制が8月に施行されます。これらは大きな影響力を持っており、知っておく必要があります

顔認識アプリケーションは司法解釈を受ける7月28日、我が国の最高人民法院は「顔認識技術を用いた個人情...

...

...

[文字列処理アルゴリズム] 入力文字列の各単語の順序を逆にするアルゴリズム設計とCコード実装

1. 要件の説明文字列を入力し、文字列内の単語を逆順に組み立てて出力するプログラムを作成します。たと...

30 行の JavaScript コードで、わずか数分でニューラル ネットワークを作成する方法を学びます。

[[203712]]ニューラルネットワークを自分で構築するのは複雑すぎますか? [[203713]...