1

私たちが構築している市場では、人々が販売する商品をリストすることができますが、バッチ/バッグ/ボックスで. このためのレコメンデーション エンジンを組み込むことを検討していますが、そこにある記事のほとんどは、多くの製品を大量に「販売」する市場 (Amazon、netflix など) により適しているようです。レコメンデーションエンジンの最善のアプローチは? 関連する記事はありますか?

私たちは、人々が過去に購入したアイテムを知っています。私たちは、彼らが探しているサイズや年齢の適切さを知っています.

リストされたバンドルには、カテゴリ、ブランド、サイズ/年齢、色、および自由形式のテキストがあります。

始めるのに役立つアイデアはありますか?データを MySQL に保存する場合に最適だと思われる特定の言語はありますか?

4

2 に答える 2

2

レコメンデーション エンジンでフィルタリングできるものはいくつかあります。特定のユーザーが以前に購入したもの (あなたの場合、購入した製品にどの機能があったか) をフィルタリングできます。また、ソーシャル グループ (ユーザーのようなもの) や製品グループ (以前に販売した製品のような他の製品) でフィルタリングすることもできます。最初に製品をクラスター化してから、個人またはグループを製品のクラスター内の機能にマップすることをお勧めします。したがって、「この機能を使用して商品を購入した人は、これらの機能を使用して商品も購入した」というレコメンデーション エンジンになります。次に、既知のユーザー向けのエンジンを作成できます。これらの機能を備えた製品を購入する傾向があります。これらのようなアイテムがいくつかあります。最後に、グループ用のエンジンを構築できます。

いくつかのモデルが手元にあれば、既知のユーザー、既知のユーザー グループ、または単に既知の閲覧履歴など、その時点で知っていることに応じて、システムは適切なモデルに切り替えることができます。

よりユニークな製品のバッチを推奨しているため、不適切な推奨を除外する推奨を取得した後、追加のモデルを追加する必要があります。このモデルは互換性を表します。ユーザーが以前使用していたのと同じコンソールを使用する新しいゲームは、別のコンソールよりも互換性があります。彼らが先月新車を購入した場合、あなたは新車ではなく、洗車 10 回のパッケージを勧めるでしょう。

この最後のモデルには、いくつかの異なる概念を使用できます。人々の頭の中にあるモデルに明示的な知識を追加する場合は、不適切な推奨事項を除外する信念ネットワークを構築することをお勧めします。集合知を使用する場合は、単純回帰、サポート ベクター マシン、または人工ニューラル ネットワークを使用できます。フィルターを実装するのが最も簡単で、最初に作成するモデルの選択について心配する必要はありません。適切な努力で良い結果が得られるモデルに落ち着く前に、おそらくいくつかのモデルを構築するでしょう。

フィルタリング モデルは、推奨事項を作成し、適切かどうかをフィルタリングしてから、何らかの人間の介入 (フィルターに学習させたい「回答」のセット、または単に人間) を使用して再度フィルタリングするテスト フェーズを通過します。ダブルチェックの結果。次に、更新された結果でフィルターを再トレーニングし、再サンプリングして再度テストします。

レコメンデーション エンジンに関する限り、GNU 科学ライブラリ (ほぼすべてのプラットフォームで利用可能なバインディング) を使用して SVD を実行できます。ビッグ データを使用する場合は、Mahout レコメンデーション エンジン (Hadoop 世界の一部) を選択することもできます。フィルターについては、アポフェニア、libsvm、または FANN を参照することをお勧めします。

物事を理解できるようになるまで、しばらく分析フレームワークで作業することもできます。選択できるものには、Weka、R、Octave、Matlab、Maple、および Mathematica があります。最初に価格、次に使いやすさの観点からそれらをリストしたと思います。

リソースに関しては、Collective Intelligence、Mahout (Manning の MEAP)、Data Mining (すべて Weka について)、Modeling with Data (アポフェニア リファレンス) などの優れた入門書があります。

私の最後の考えは、レコメンデーション エンジンがどれほど洗練されていても、得られなくても、ほとんどの価値はユーザー エクスペリエンスにあるということです。Amazon の関係者の 1 人は、レコメンデーション エンジンは、レコメンデーションを行う理由をユーザーに伝えたときに最も効果的だったと書いています。これは、ユーザーがあなたの理由をすぐに採用するか (古くて良い購入に対する感情的な反応)、またはそれを拒否して続行するのに役立ちます (彼らはすでにそのようなものを持っているので、別の購入は必要ありません)。

于 2011-03-25T20:19:05.990 に答える
0

個人的にはRubyが好きですが、Ruby、Python、PerlはMySQLに簡単に接続できます。

私がRubyを気に入っている理由の1つは、非常に強力なORMであるSequel gemであり、データベースアクセスの管理が非常に簡単です。MVCを使用する場合、RubyにはRailsがあり、ORMとしてActiveRecordを優先します。これにより、MySQLとの通信も簡単になります。SinatraとPadrinoもあります。これらは、少し軽量のORMですが、非常に高性能です。それらは、箱から出してすぐにDBにとらわれず、Sequelとうまく統合されます。

于 2011-03-25T07:05:55.713 に答える