Amazon推奨テクノロジーの画面の背後にあるテクノロジーは何ですか? Amazonの推奨は現在市場で最高だと思いますが、そのような関連する推奨をどのように提供しますか?
最近、私たちは同様の推奨プロジェクトに参加しましたが、技術的な観点からAmazon推奨テクノロジーの内外について知りたいと思っています。
どんな入力でも大歓迎です。
更新:
これは 特許 パーソナライズされた推奨事項がどのように行われるかを説明していますが、あまり技術的ではないため、何らかの洞察を提供できれば本当に素晴らしいでしょう。
Daveのコメントから、 Affinity Analysis は、このような種類のレコメンデーションエンジンの基礎を形成しています。また、トピックに関するいくつかの良い読み物もあります
推奨読書:
それは芸術でもあり科学でもあります。典型的な研究分野は、データマイニングの分野のサブセットであるマーケットバスケット分析(アフィニティ分析とも呼ばれます)を中心に展開します。このようなシステムの一般的なコンポーネントには、主要なドライバーアイテムの識別とアフィニティアイテムの識別(アクセサリーアップセル、クロスセル)が含まれます。
マイニングしなければならないデータソースに注意してください...
幸いなことに人々は総体的に同じように振る舞うので、購入人口についてよく知れば知るほど、何を売って何を売らないのかをよく理解し、すべての取引や評価/ウィッシュリストの追加/閲覧ごとに、より個人的に推奨を調整する方法を知っています。これは、最終的に推奨事項などに影響を与える完全なセットのほんの一例にすぎないことに注意してください。
今、私はAmazonがどのようにビジネスをしているのかについて内部の知識がなく(そこで働いたことはありません)、オンラインコマースの問題に対する古典的なアプローチについて話しているだけです-私はかつてデータに取り組んだPM Commerce Serverと呼ばれるMicrosoft製品のマイニングと分析。 Commerce Serverには、同様の機能を備えたサイトを構築できるツールが含まれています。しかし、販売量が多いほど、データが優れていれば、モデルも良くなり、AmazonはBIGです。コマースドリブンサイトで大量のデータを持つモデルを操作するのがどれだけ楽しいか想像することができます。現在、これらのアルゴリズムの多く(コマースサーバーで開始された予測子など)は、 Microsoft SQL 内で直接ライブに移行しています。
必要な4つの重要な方法は次のとおりです。
実際の実装の面では?ほぼすべての大規模なオンラインシステムは、何らかの形のパイプライン(またはフィルターパターンの実装やワークフローなど)に要約され、何らかの形式のモジュールを適用してコンテキストを評価できるようにします。ビジネスの論理。
通常、ページ上の個々のタスクに異なるパイプラインが関連付けられます。「パッケージ/アップセル」を推奨するパイプライン(つまり、探しているアイテムでこれを購入する)と「代替」(つまり購入する)これは、あなたが見ているものの代わりに)、ウィッシュリストから最も密接に関連するアイテムを(製品カテゴリまたは類似のものごとに)取り出す別のものです。
これらのパイプラインの結果は、ページのさまざまな部分(スクロールバーの上、スクロールの下、左、右、さまざまなフォント、さまざまなサイズの画像など)に配置し、どのパフォーマンスを実行するかをテストできます。ベスト。これらのパイプラインのビジネスロジックを定義するプラグアンドプレイが簡単なNiceを使用しているため、別のパイプラインを構築するときに適用するビジネスロジックを簡単に選択できるレゴブロックに相当する道徳的なものになりますより高速なイノベーション、より多くの実験、そして最終的にはより高い利益を可能にします。
それはまったく役に立ちましたか? Amazonだけでなく、ほぼすべてのeコマースサイトでこれがどのように一般的に機能するかについて少し洞察していただければ幸いです。 Amazon(そこで働いた友人と話すこと)は非常にデータ主導型であり、ユーザーエクスペリエンスと価格設定、プロモーション、パッケージングなどの有効性を継続的に測定します。彼らはオンラインの非常に洗練された小売業者であり、彼らが利益を最適化するために使用する多くのアルゴリズム-そしてそれらはおそらくプロプライエタリな秘密(KFCの秘密のスパイスの公式のように知っている)であり、そのように保証されている。
これは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年の論文は、初年度の進歩賞からのものです。後のものは前の研究に基づいているため、最初に前のものを読むことをお勧めします。
(ディスクレーマー:私は以前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とは異なります。])
Amazonのアルゴリズムについて特に知識はありませんが、そのようなアルゴリズムの1つのコンポーネントには、頻繁に一緒に注文されたアイテムのグループを追跡し、そのデータを使用して顧客が一部のサブセットを購入したときにグループ内の他のアイテムを推奨することが含まれますグループ。
別の可能性は、アイテムAを注文してからN日以内に注文されたアイテムBの頻度を追跡することです。
私たちの大学で先週同様のことについて誰かがプレゼンテーションを行い、Amazonの推奨システムを参照しました。 K-Means Clustering の形式を使用して、人々をさまざまな購買習慣にクラスター化すると考えています。お役に立てれば :)
これも確認してください: http://www.almaden.ibm.com/cs/people/dmodha/ml02.ps および as HTML 。
(オープンソースRを使用した)ハンズオンチュートリアルが必要な場合は、これを実行するよりも悪いことがあります。 https://Gist.github.com/yoshiki146/31d4a46c3d8e906c3cd24f425568d34e
これは、別の作業のランタイム最適化バージョンです: http://www.salemmarafi.com/code/collaborative-filtering-r/
ただし、最初のリンクのコードのバリエーションははるかに速く実行されるため、それを使用することをお勧めします私のマシン)。
私はこのコードを、私が働いている小売業者の推奨エンジンとして機能するように適合させました。
使用されるアルゴリズムは、他の人が上記で述べたように、協調フィルタリングです。 CFのこのメソッドは、コサイン類似度マトリックスを計算し、その類似度でソートして、各要素(この例では音楽バンド、私のアプリケーションでは小売製品)の「最近傍」を見つけます。
結果の表は、選択された別のバンド/製品に基づいてバンド/製品を推奨できます。
コードの次のセクションでは、USER(または顧客)ベースの協調フィルタリングについてさらに説明します。
この出力は、特定のユーザー/顧客に推奨される上位100のバンド/製品を含む大きなテーブルです。