我想知道是否有任何开源框架可以帮助我在我的网站上包含以下类型的功能:
1)如果我正在查看某个特定的产品,我想看看我可能对哪些其他产品感兴趣。例如,通过计算我所在地区的其他人(或我个人资料的任何其他特征)除了我正在查看的产品之外还购买了哪些产品,可以推断出这些信息。有点像Amazon.com所做的。
2)根据人们的个人资料、他们在网站上的互动(例如,通过评论彼此的帖子)、根据最常浏览的区域对网站的使用、共同购买的产品等来推断人们之间的关系。
我不是在寻找一个具有这种功能的开源网站,而是一个类似于对象模型的东西,我可以将关于用户和他们对网站的使用的信息馈送到其中,包括关于关系的规则,然后在稍后询问上面(1)和(2)中描述的问题。
任何指向白皮书/关于最佳方法的一般信息的指针或任何相关链接也都会很有帮助。
发布于 2009-05-14 10:52:28
(我是Taste的开发者,它现在是Apache Mahout的一部分)
1)你在这里实际上是在要求两件事: a)推荐我可能喜欢的项目b)偏爱与我目前正在看的东西相似的项目。
事实上,Mahout Taste完全是关于回答a)。它所做的一切都支持这样的系统。查看用户入门指南,并向mahout- documentation @apache.org提出任何问题。
特别是对于1b),Mahout有两个答案:
如果您只对哪些项与当前项相似感兴趣,那么您应该对Mahout中的ItemSimilarity抽象(org.apache.mahout.cf.taste.similarity.ItemSimilarity)及其实现感兴趣,比如PearsonCorrelationSimilarity。基于一组用户项目评分,这可以告诉您任何两个项目之间的估计相似度。然后,您只需选择最相似的项目。事实上,看看Mahout中的TopItems类,它可以快速地为您计算出这一点。
但是,您也可以通过计算推荐来组合a)和b),然后应用Rescorer实现,该实现将偏爱与当前查看的项目相似的项目。
2)是的,同样,你会对UserSimilarity抽象、实现等感兴趣。这将根据项目评级来推断相似性。然而,Mahout并不能帮助你通过观察用户行为来推断这些评级。这是特定于领域的,由您决定。
听起来令人困惑--请阅读文档并随时在mahout-user@apache.org上跟进,在那里我可以告诉您更多信息。
发布于 2009-05-13 18:03:12
我正在研究同样的话题,因为我是working on a project,帮助人们决定如何对加州复杂的投票措施进行投票。以下是我发现的一些开源协同过滤引擎:
还有一个很好的概述,这些引擎here。
发布于 2012-12-29 00:23:27
还有Duine框架和OpenSlopeOne。但在我看来,Mahout仍然是最好的。你可以在这里找到关于开源推荐系统的调查:
http://girlincomputerscience.blogspot.com.br/2012/11/open-source-recommendation-systems.html
希望它能帮上忙!
https://stackoverflow.com/questions/659599
复制相似问题