我正在构建一个向学生推荐导师的 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
...
我的问题是:
鉴于我的推荐系统将基于偏好,协作推荐算法有什么好处?
如果它确实提供了显着的好处,我如何将它与上述基于偏好的推荐结合起来?
由于我的方法将涉及查询多个表,因此可能效率不高。我该怎么办?
非常感谢。