Amazonおすすめ機能はどのように機能しますか?


144

Amazon推奨テクノロジーの画面の背後にあるテクノロジーは何ですか?Amazonの推奨は現在市場で最高だと思いますが、それらはどのようにして関連する推奨を提供するのですか?

最近は似たようなレコメンデーションプロジェクトにも関わっていますが、技術的な観点からアマゾンレコメンデーションテクノロジーの内外について知りたいと思います。

任意の入力をいただければ幸いです。

更新:

この特許は、パーソナライズされた推奨事項がどのように行われるかを説明していますが、あまり技術的ではないため、いくつかの洞察を提供できれば非常に良いでしょう。

Daveのコメントから、Affinity Analysisはそのような推奨エンジンの基礎を形成します。また、トピックの読み物もいくつかあります

  1. マーケットバスケット分析の謎を解く
  2. マーケットバスケット分析
  3. アフィニティ分析

推奨読書:

  1. データマイニング:概念と手法

3
特許の山をふるいにかけてみましたか?google.com/patents
Dolph

はい、私は特許を通過しましたが、それはあまり技術的ではないので、メカニズムの技術的側面に関するいくつかの洞察に感謝します
Rachel

1
@Dave:この質問は今開いています。Amazonが推奨事項を提供するために使用する推奨エンジンのアーキテクチャと機能の背後にあるテクノロジーについて、もう少し洞察をいただければ幸いです。
レイチェル

1
私は、Amazonの推奨システムを「最高」と言ったり、役立たせたりすることはありません。マウスを注文すると、別のマウスも購入するように勧められます。通常のユーザーが一度に2つのマウスを必要とするのはなぜですか???

1
@レイチェル:アマゾンのシステムが特許を取得していることを知っていて、似たようなものを開発したいのであれば、私は彼らの特許を一瞥することすらしません---もちろん、それらを見ないこともあなたを保護しませんが、それは始まりです。

回答:


105

それは芸術であり科学でもあります。典型的な研究分野は、データマイニングの分野のサブセットであるマーケットバスケット分析(親和性分析とも呼ばれます)を中心に展開しています。このようなシステムの一般的なコンポーネントには、主要なドライバーアイテムの識別とアフィニティアイテム(アクセサリーのアップセル、クロスセル)の識別があります。

彼らがマイニングしなければならないデータソースを覚えておいてください...

  1. 購入したショッピングカート=実際のアイテムに費やした実際の人からの実際のお金=強力なデータとその多く。
  2. カートに追加されたが破棄されたアイテム。
  3. オンラインでの価格設定実験(A / Bテストなど)。同じ製品を異なる価格で提供し、結果を確認します。
  4. 異なる「バンドル」で異なる製品を提供したり、アイテムのさまざまな組み合わせを割引したりするパッケージング実験(A / Bテストなど)
  5. ウィッシュリスト-特にあなたのために何が付いているのか-まとめると、バスケット分析データの別のストリームと同様に扱うことができます
  6. 紹介サイト(どこから来たのかを特定すると、他の興味のあるアイテムのヒントになる場合があります)
  7. 滞留時間(クリックして別のアイテムを選択するまでの時間)
  8. あなたまたはあなたのソーシャルネットワーク/購入サークルの人々による評価-あなたが好きなものを評価すると、あなたはより多くのあなたが好きなものを得て、そして「私はすでにそれを所有している」ボタンで確認すると、彼らはあなたの非常に完全なプロフィールを作成します
  9. 人口統計情報(配送先住所など)-彼らはあなたの一般的な地域であなたの子供、あなた自身、あなたの配偶者などに人気があることを知っています。
  10. ユーザーセグメンテーション=幼児向けに3冊の本を別々の月に購入しましたか?子供がいるかもしれません。
  11. ダイレクトマーケティングのクリックスルーデータ-メールを受け取ってクリックスルーしましたか?彼らはそれがどのメールだったか、あなたが何をクリックしたか、そしてあなたが結果としてそれを買ったかどうかを知っています。
  12. セッション中のクリックパス-カートに入ったかどうかに関係なく、何を見ましたか
  13. 最終購入前にアイテムを閲覧した回数
  14. 実店舗を扱っている場合は、実際の購入履歴も消える可能性があります(例:おもちゃの私たち、またはオンラインであり、実店舗でもあります)。
  15. などなど

幸いなことに人々は全体として同じように振る舞うので、彼らが全体として購入する人口について知るほど、彼らは何が売れ、何が売れないかをよく理解し、すべてのトランザクションとすべての評価/ウィッシュリストの追加/閲覧は、より個人的に推奨を調整する方法を知っています。これは、推奨事項などに影響する一連の影響のほんの一部にすぎないことに注意してください。

今私はAmazonがどのようにビジネスをしているのか(そこで働いたことはありません)の内部知識がなく、私がしているのはオンラインコマースの問題への古典的なアプローチについて話しているだけです-私は以前、Microsoftのデータマイニングと分析に取り組んだPMでしたCommerce Serverと呼ばれる製品。Commerce Serverには、同様の機能を備えたサイトを構築するためのツールを出荷しましたが、販売量が多いほど、データが優れていて、モデルも優れています。Amazonは非常に優れています。コマース主導のサイトで大量のデータを持つモデルを操作するのがどれほど楽しいか想像できるだけです。現在、これらのアルゴリズムの多く(コマースサーバーで開始された予測子など)は、Microsoft SQL内に直接存在するようになりました。

あなたが持っているべき4つの大きな持ち帰りは次のとおりです:

  1. Amazon(または任意の小売業者)は、大量のトランザクションと大量の人々の集計データを調べています...これにより、サイトの匿名ユーザーにかなり適切に推奨することもできます。
  2. Amazon(または洗練された小売業者)は、ログインしているユーザーの行動と購入を追跡し、それを使用して大量の集計データをさらに詳細化しています。
  3. 多くの場合、蓄積されたデータを乗り越えて、特定のライン(「デジタルカメラ」の垂直または「ロマンス小説」の垂直または類似のものを所有する人など)の製品マネージャーに提案の「編集」制御を行う手段があります。専門家です
  4. 多くの場合、特定の「提案」が行われるプロモーション取引(つまり、ソニー、パナソニック、ニコン、キヤノン、スプリント、またはベライゾンが小売業者に追加のお金を支払うか、大量の割引を提供するなど)があります。他よりも頻繁にトップ-これには常に、各トランザクションをより多くすることや卸売りコストを削減することなどを目的とした、合理的なビジネスロジックとビジネス上の理由があります。

実際の実装に関しては?ほぼすべての大規模なオンラインシステムは、パイプラインのセット(またはフィルターパターンの実装やワークフローなど)に要約され、何らかの形のモジュールを適用する一連のモジュールによってコンテキストを評価できます。ビジネスの論理。

通常、ページ上の個別のタスクごとに異なるパイプラインが関連付けられます-推奨される「パッケージ/アップセル」を実行するパイプライン(つまり、見ているアイテムでこれを購入)と「代替」を実行するパイプライン(つまり購入これは、あなたが見ているものの代わりに)、ウィッシュリストから最も密接に関連しているアイテムを(製品カテゴリなどによって)プルする別のものです。

これらのパイプラインの結果は、ページのさまざまな部分(スクロールバーの上、スクロールの下、左、右、さまざまなフォント、さまざまなサイズの画像など)に配置でき、どのパフォーマンスを実行するかをテストして確認できます。ベスト。これらのパイプラインのビジネスロジックを定義する、簡単にプラグアンドプレイできる素晴らしいモジュールを使用しているので、別のパイプラインを構築するときに適用したいビジネスロジックから簡単に選択できる、レゴブロックと同等の道徳的なものになります。これにより、より迅速なイノベーション、より多くの実験、そして最終的にはより高い利益が可能になります。

それはまったく役に立ちましたか?これがAmazonだけでなく、ほぼすべてのeコマースサイトで一般的にどのように機能するかについて少し洞察が得られることを願っています。アマゾン(そこで働いていた友人と話すことから)は非常にデータに基づいており、そのユーザーエクスペリエンスと価格設定、プロモーション、パッケージなどの効果を継続的に測定しています-彼らは非常に洗練されたオンライン小売業者であり、彼らが利益を最適化するために使用するアルゴリズムの多く-そしてそれらはおそらく独自の秘密(KFCの秘密のスパイスの公式のように知っています)であり、そのように保証されています。


1
はい。それは私を大いに助けました、そして、私はトピックに関するあなたの意見を本当に感謝します。
Rachel

驚くべき洞察
Shobi '19

28

これはAmazonのレコメンデーションシステムとは直接関係ありませんが、Netflixユーザーデータを使用してより良いレコメンデーションシステムを開発するコンテストであるNetflix Prizeに参加した人々が使用した方法を研究することは役立つかもしれません。コミュニティには、データマイニング手法全般に関する優れた情報がたくさんあります。

優勝したチームは、さまざまなモデル/手法で生成された推奨事項を組み合わせて使用​​しました。使用した主な方法のいくつかは、主成分分析、最近傍法、およびニューラルネットワークでした。優勝チームによるいくつかの論文を以下に示します。

R.ベル、Y。コーレン、C。ヴォリンスキー、「Netflix賞へのBellKor 2008ソリューション」、(2008)。

A.Töscher、M。Jahrer、「Netflix Prize 2008へのBigChaosソリューション」、(2008)。

A.Töscher、M。Jahrer、R。Legenstein、「改良された近隣ベースのアルゴリズムの大規模レコメンダーシステム」、SIGKDD Workshop on Large-scale Recommender Systems and the Netflix Prize Competition(KDD'08)、ACM Press(2008) 。

Y.コーレン、「Netflix大賞へのBellKorソリューション」、(2009)。

A.Töscher、M。Jahrer、R。Bell、「Netflix Grand PrizeのBigChaosソリューション」、(2009)。

M.ピオット、M。シャベール、「ネットフリックス大賞の実用的理論による解決策」、(2009)。

2008年の論文は、初年度のプログレス賞からのものです。後の方は前の作品に基づいているため、最初の方を最初に読むことをお勧めします。


2
この回答について私が気に入っているのは、「完璧な」回答はなく、人々はこの分野で革新し続けているという事実を指していることです。常に改善の余地があり、時代の変化や新しい方法が問題に適用される別に解決され続けます。そして、詳細なリンクを読むと、賞品の大きな候補のそれぞれの中で、予測に対するいくつかのアプローチの「ブレンド」がどのように行われているかがわかります。素晴らしい参照。
Dave Quick


20

(Disclamer:以前はAmazonで働いていましたが、レコメンデーションチームでは働いていませんでした。)

ewernliの答えは正しいはずです-アマゾンの元の推奨システムへの紙のリンクと、私が言えること(アマゾンの買い物客としての個人的な経験と他の会社で同様のシステムに取り組んだことの両方から)から、ほとんど変わっていません:その中核となるAmazonのレコメンデーション機能は、依然としてアイテム間の協調フィルタリングに非常に大きく基づいています。

推奨事項の形式を確認してください。私のフロントページでは、「Xを表示した...これも表示した顧客も表示した...」という形式か、類似したアイテムのメランジのいずれかです。以前に購入または表示したことがあります。特に「あなたにおすすめ」ページにアクセスすると、すべての項目に、その理由が説明されています。「購入したためおすすめ...」、「ウィッシュリストにXを追加したためおすすめ...」などです。アイテム間の協調フィルタリングの古典的な兆候。

では、アイテム間の協調フィルタリングはどのように機能するのでしょうか。基本的に、各アイテムについて、関連するアイテムの「近所」を構築します(たとえば、一緒に見たアイテムや一緒に購入したアイテムを確認することにより、類似性を判断するには、Jaccardインデックスなどのメトリックを使用できます。相関別の可能性もありますが、Amazonは評価データをあまり使用していません。次に、アイテムXを表示したり購入Yをしたりすると、AmazonはXまたはYと同じ近所にあるものを提案します。

Amazonが使用できる可能性がありますが、実際には使用しない可能性がある他のいくつかのアプローチは、ここで説明されています:http : //blog.echen.me/2011/02/15/an-overview-of-item-to-item-collaborative-filtering -with-amazons-recommendation-system /

Daveが説明していることの多くは、ほぼ間違いなくAmazonでは行われていません。(私のソーシャルネットワークのユーザーによる評価?いいえ、Amazonには私のソーシャルデータがありません。これはいずれにしてもプライバシーの大きな問題になるため、Amazonがそのデータを持っている場合でも、それを行うのは難しいでしょう:人々は彼らの友人が彼らが買っているどんな本や映画を知っていることを望んでいない。人口統計情報?いいえ、彼らがこれを見ていることを示唆する勧告には何もない。[私の地域の他の人々が見ているものを表面化するNetflixとは異なり。])


Amazonは何年にもわたって購入サークルを公開していました-これは、会社のドメイン名と郵便番号に基づいて匿名化された購入傾向でした。それに関する情報を得る前に、購入サークルには少なくとも50人の異なるバイヤーがいなければなりませんでした。そのため、amazonは確かにその情報を保持、追跡、使用して、自分自身(および他の人)が人気を理解するのを助けました。あなたはあなたの地域やあなたの会社でCD、電子機器、本の購入を見ることができます。彼らは1999年から2002年にさらされた。 forum.dvdtalk.com/archive/t-122436.htmlには、それらを説明するamazonからのテキストのコピーと貼り付けさえあります。
Dave Quick

3

Amazonのアルゴリズムについては特に知識はありませんが、このようなアルゴリズムの1つのコンポーネントには、頻繁に一緒に注文される商品のグループを追跡し、そのデータを使用して、顧客がグループ。

別の可能性は、アイテムAを注文してからN日以内に注文されるアイテムBの頻度を追跡することです。


2

私の知る限り、それはそのためのエンジンとしてCase-Based Reasoningを使用しています。

あなたはこのソースで見ることができます:hereherehere

アマゾンとケースベースの推論のためのグーグル検索には多くの情報源があります。



0

(オープンソースRを使用した)実践的なチュートリアルが必要な場合は、これを実行するよりもさらに悪い場合があります。https//gist.github.com/yoshiki146/31d4a46c3d8e906c3cd24f425568d34e

これは、別の作業のランタイム最適化バージョンです:http : //www.salemmarafi.com/code/collaborative-filtering-r/

ただし、最初のリンクのコードのバリエーションははるかに速く実行されるので、それを使用することをお勧めします(yoshiki146のコードの遅い部分はユーザーレベルで推奨を生成する最後のルーチンだけであることがわかりました-私のデータを使用して約1時間かかりました私のマシン)。

このコードを、私が働いている小売業者のレコメンデーションエンジンとして機能するように変更しました。

使用されるアルゴリズムは、他の人が上で述べたように、協調フィルタリングです。このCFの方法では、コサイン類似度行列を計算し、その類似度で並べ替えて、各要素(例では音楽バンド、アプリケーションでは小売製品)の「最も近い隣人」を見つけます。

結果のテーブルでは、選択した別のバンド/製品に基づいてバンド/製品を推奨できます。

コードの次のセクションでは、USER(または顧客)ベースの協調フィルタリングをさらに進めます。

この出力は、特定のユーザー/顧客に推奨される上位100のバンド/製品を含む大きなテーブルです。


1
このリンクで質問に答えることができますが、回答の重要な部分をここに含め、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。- 口コミより
コス

真...使用されるアルゴリズムは、他の人が上で述べたように、協調フィルタリングです。このCFの方法では、コサイン類似度行列を計算し、その類似度で並べ替えて、各要素(例では音楽バンド、アプリケーションでは小売製品)の「最も近い隣人」を見つけます。結果のテーブルでは、選択した別のバンド/製品に基づいてバンド/製品を推奨できます。コードの次のセクションでは、USER(または顧客)ベースの協調フィルタリングをさらに進めます。この出力は、所与のユーザ/顧客に推奨トップ100バンド/製品と大きなテーブルである
ChrisD

回答を編集して、コメントセクションではなく、そこにこの情報を追加してください。ありがとう
Kos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.