web-dev-qa-db-ja.com

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

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

最近、私たちは同様の推奨プロジェクトに参加しましたが、技術的な観点からAmazon推奨テクノロジーの内外について知りたいと思っています。

どんな入力でも大歓迎です。

更新:

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

Daveのコメントから、 Affinity Analysis は、このような種類のレコメンデーションエンジンの基礎を形成しています。また、トピックに関するいくつかの良い読み物もあります

  1. 市場バスケット分析の分かりやすい説明
  2. マーケットバスケット分析
  3. アフィニティ分析

推奨読書:

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

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

マイニングしなければならないデータソースに注意してください...

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

幸いなことに人々は総体的に同じように振る舞うので、購入人口についてよく知れば知るほど、何を売って何を売らないのかをよく理解し、すべての取引や評価/ウィッシュリストの追加/閲覧ごとに、より個人的に推奨を調整する方法を知っています。これは、最終的に推奨事項などに影響を与える完全なセットのほんの一例にすぎないことに注意してください。

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

必要な4つの重要な方法は次のとおりです。

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

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

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

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

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

103
Dave Quick

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

勝ったチームは、多くの異なるモデル/テクニックによって生成された推奨事項のブレンドを使用しました。使用された主な方法のいくつかは、主成分分析、最近傍法、およびニューラルネットワークであることを知っています。優勝チームの論文は次のとおりです。

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

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

A.Töscher、M。Jahrer、R。Legenstein、「 大規模推薦システムの改善された近傍ベースのアルゴリズム 」、大規模推薦システムとNetflix賞コンペティションに関するSIGKDDワークショップ(KDD'08 )、ACM Press(2008)。

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

A.Töscher、M。Jahrer、R。Bell、 " Netflix大賞のBigChaosソリューション "、(2009)。

M.ピオッテ、M。シャバート、「 Netflix大賞に対するプラグマティック理論の解 」、(2009)。

2008年の論文は、初年度の進歩賞からのものです。後のものは前の研究に基づいているため、最初に前のものを読むことをお勧めします。

28
Justin Peel

今日私はこの論文にぶつかりました:

追加情報が提供される場合があります。

21
ewernli

(ディスクレーマー:私は以前Amazonで働いていましたが、推薦チームでは働いていませんでした。)

ewernliの答えは正しいものでなければなりません-紙はAmazonの元の推奨システムにリンクしており、私が伝えることができるものから(Amazonの買い物客としての個人的な経験と他の会社で同様のシステムに取り組んだことから)、ほとんど変わりません:atそのコアであるAmazonの推奨機能は、依然としてアイテム間コラボレーションフィルタリングに基づいています。

推奨事項がどのような形式であるかを見てください:私のフロントページでは、それらはすべて「Xを表示しました...これも表示した顧客も表示しました...」という形式、または同様のアイテムのメランジのいずれかです以前に購入または表示したことがあります。特に「Recommended for You」ページに移動した場合、すべてのアイテムに「Recommended for you ...」、「Recommended for you added to your wish ...」などのように、推奨される理由が記載されています。アイテム間コラボレーションフィルタリングの典型的な兆候。

では、アイテム間コラボレーションフィルタリングはどのように機能しますか?基本的に、各アイテムについて、関連するアイテムの「近隣」を構築します(たとえば、人々が一緒に見たアイテムや一緒に購入したアイテムを見て、類似性を判断するために、 Jaccard index ;相関は別の可能性ですが、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とは異なります。])

20
Jason R

Amazonのアルゴリズムについて特に知識はありませんが、そのようなアルゴリズムの1つのコンポーネントには、頻繁に一緒に注文されたアイテムのグループを追跡し、そのデータを使用して顧客が一部のサブセットを購入したときにグループ内の他のアイテムを推奨することが含まれますグループ。

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

3
newdayrising

私の知る限り、それはエンジンとして ケースベースの推論 を使用しています。

次のソースで見ることができます: herehere および here

GoogleのAmazon検索やケースベースの推論には多くのソースがあります。

2
coelhudo

私たちの大学で先週同様のことについて誰かがプレゼンテーションを行い、Amazonの推奨システムを参照しました。 K-Means Clustering の形式を使用して、人々をさまざまな購買習慣にクラスター化すると考えています。お役に立てれば :)

これも確認してください: http://www.almaden.ibm.com/cs/people/dmodha/ml02.ps および as HTML

0
Chris Dennett

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

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

ただし、最初のリンクのコードのバリエーションははるかに速く実行されるため、それを使用することをお勧めします私のマシン)。

私はこのコードを、私が働いている小売業者の推奨エンジンとして機能するように適合させました。

使用されるアルゴリズムは、他の人が上記で述べたように、協調フィルタリングです。 CFのこのメソッドは、コサイン類似度マトリックスを計算し、その類似度でソートして、各要素(この例では音楽バンド、私のアプリケーションでは小売製品)の「最近傍」を見つけます。

結果の表は、選択された別のバンド/製品に基づいてバンド/製品を推奨できます。

コードの次のセクションでは、USER(または顧客)ベースの協調フィルタリングについてさらに説明します。

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

0
ChrisD