レコメンデーション エンジンでフィルタリングできるものはいくつかあります。特定のユーザーが以前に購入したもの (あなたの場合、購入した製品にどの機能があったか) をフィルタリングできます。また、ソーシャル グループ (ユーザーのようなもの) や製品グループ (以前に販売した製品のような他の製品) でフィルタリングすることもできます。最初に製品をクラスター化してから、個人またはグループを製品のクラスター内の機能にマップすることをお勧めします。したがって、「この機能を使用して商品を購入した人は、これらの機能を使用して商品も購入した」というレコメンデーション エンジンになります。次に、既知のユーザー向けのエンジンを作成できます。これらの機能を備えた製品を購入する傾向があります。これらのようなアイテムがいくつかあります。最後に、グループ用のエンジンを構築できます。
いくつかのモデルが手元にあれば、既知のユーザー、既知のユーザー グループ、または単に既知の閲覧履歴など、その時点で知っていることに応じて、システムは適切なモデルに切り替えることができます。
よりユニークな製品のバッチを推奨しているため、不適切な推奨を除外する推奨を取得した後、追加のモデルを追加する必要があります。このモデルは互換性を表します。ユーザーが以前使用していたのと同じコンソールを使用する新しいゲームは、別のコンソールよりも互換性があります。彼らが先月新車を購入した場合、あなたは新車ではなく、洗車 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 人は、レコメンデーション エンジンは、レコメンデーションを行う理由をユーザーに伝えたときに最も効果的だったと書いています。これは、ユーザーがあなたの理由をすぐに採用するか (古くて良い購入に対する感情的な反応)、またはそれを拒否して続行するのに役立ちます (彼らはすでにそのようなものを持っているので、別の購入は必要ありません)。