【问题标题】:A production-ready, real-time recommendation engine thats easy to setup易于设置的生产就绪型实时推荐引擎
【发布时间】:2011-12-14 13:14:33
【问题描述】:
我想为用户操作存储大量数据点,例如点赞、标签等(我有电子商务和文档管理的计划)。
有了数据点,我想支持诸如
之类的功能
- “喜欢 X 的用户喜欢 Y,Z”推荐
- “获取更多类似于 X,Y 的内容”聚类。
按生产就绪,实时;我的意思是我可以同时输入数据点和进行查询,服务器会自己负责回答查询和更新分数。
我在互联网上搜索,提出的解决方案是:
- 主要面向学术的数据挖掘库,适用于大批量操作,不适用于繁重的实时查询
- Hadoop/Mahout,可用于生产并支持实时更新和查询,但学习曲线陡峭且难以管理。
【问题讨论】:
标签:
machine-learning
recommendation-engine
【解决方案1】:
对于推荐器,Mahout 有一个不使用 Hadoop 的非分布式推荐器实现。事实上,这是唯一实时的部分。基于 Hadoop 的部分不是。
我认为它的学习曲线很小;请参阅 here 和 here 以获得相当完整的文章。
Mahout in Action 第 2-5 章也很好地涵盖了这一点。
【解决方案2】:
请理解,为了获得有用的建议,必须仔细调整此类系统的各种参数。许多系统具有的开箱即用功能(Oracle 数据挖掘、Microsoft 数据挖掘扩展等)仅提供核心功能。
所以我猜你最终不会绕过“陡峭的学习曲线”。这就是为什么您需要数据挖掘专家。如果有一个点击式解决方案,它已经被集成到任何地方。
例如“类似项目”。当亚马逊曾经推荐我购买两种产品时,我笑得很开心:Debian Linux Administrators Handbook 和... Debian Linux Admininstrators Handbook WITH CD。
我希望你明白这个例子的关键点:对于一个简单的算法,两本书看起来“相似”,因此是一个明智的组合。对一个人来说,同一本书买两次是没有意义的。您需要教这样的规则到任何推荐系统,因为它们不能从数据中简单地学习。总会有好的结果和无用的结果,你需要仔细调整和参数化系统。