协同过滤方法,提供与注册课程相关的提示/建议

时间:2011-11-28 07:10:48

标签: machine-learning mahout recommendation-engine collaborative-filtering

我正在研究一个需要建立推荐人的特定问题。 广义问题如下, 每个用户都注册了(比方说)x门课程(c1,c2,c3,.. cx) 根据每门课程的不同,我需要向用户提供(比方说)前5个提示/建议(例如可能有用的学习资料等) 我需要应用协作元素来了解哪些推荐对用户有用 我查看了像Apache Mahout Taste这样的推荐引擎,但是我无法以看起来像示例的方式来模拟我的问题。 (用户与一个或多个课程相关联且每个推荐/提示可能与一个或多个课程相关联的额外过滤标准会让我失望。)
如果有任何好方法可以解决这样的问题,请告诉我?任何指向文档/示例的指针都将非常感激。 我刚开始在这个领域进行研究,如果我误解了任何概念,请耐心等待。

谢谢,
的Vivek

1 个答案:

答案 0 :(得分:1)

这可能太简单了,不需要推荐人。如果每门课程都有一套相关的材料,那么很明显,选修课程c1意味着他们应该有相关的课程材料。也许从受欢迎的所有材料中排名。这可能非常简单,可以完成你需要的大部分工作。

如果你想把它建模为CF,你可以;我不知道你有多少数据。如果您只有少数几个用户和课程,那么提供有用的答案将会太稀疏。

您的用户与两件事有关:课程和材料。你不想推荐课程,而是推荐材料。我将构建两个数据模型:一个具有用户课程信息,另一个具有用户材料购买信息。使用用户课程数据作为定义用户 - 用户相似性的UserSimilarity实现的基础。然后将它与NearestNUserNeighborhood,Gen​​ericUserBasedRecommender一起使用,但使用其他用户材料数据模型。

您将根据课程使用用户 - 用户相似性来从材料中提出建议。