私はチューターを学生に推薦するRailsアプリを構築しています。専攻 (数学、生物学など)、経験 (ジュニアなど)、クラス (数学 201 など)、好み (自称キーワード)、評価など、複数の次元に基づいてそれらを一致させる必要があります。
Rails の共同レコメンデーション エンジン (recommendable、recommendify) と Mahout を調べてみました。私の場合、より構造化されたクエリを可能にする構造化データがはるかに多いため、共同レコメンデーションは最良の選択ではないようです。たとえば、次のような学生向けのレコメンデーション ロジックを作成できます。
if student looks for a Math tutor in Math 201:
if there's a tutor in Math major offering tutoring in Math 201 then return
else if there's a tutor in Math major then sort by experience then return
else if there's a tutor in quantitative major then sort by experience then return
...
私の質問は次のとおりです。
私のレコメンデーション システムがプリファレンス ベースであることを考えると、コラボレーション レコメンデーション アルゴリズムにはどのような利点がありますか?
それが大きなメリットをもたらす場合、上記の好みに基づく推奨事項とどのように組み合わせることができますか?
私のアプローチには複数のテーブルのクエリが含まれるため、効率的ではない可能性があります。これについてどうすればよいですか?
どうもありがとう。