这个问题可能在博客和问答中反复出现;A网站,但我还没有找到任何具体的答案。
我正在尝试为客户建立一个推荐系统,只使用他们的购买历史。
- 假设我的应用程序有n个产品
- 根据所有n种产品的属性(如国家、类型、价格)计算其商品相似性
- 当用户需要推荐时,为用户u循环先前购买的产品p,并获取相似的产品(相似性在前一步中完成)
如果我是对的,我们称之为基于内容的推荐,而不是协作过滤,因为它不涉及项目的共现或用户对项目的偏好。
我的问题是多重的:
- 是否有任何现有的可扩展ML平台可以解决基于竞争的推荐(我可以采用不同的技术/语言)
- 有没有办法调整马胡特以获得这个结果
- 分类是处理基于内容的推荐的一种方式吗
- 这是图形数据库擅长解决的问题吗
注意:我观察了Mahout(因为我熟悉Java,而且Mahout显然利用Hadoop进行分布式处理),因为它在规模和优势方面做了这件事,并且拥有经过良好测试的ML算法。
非常感谢你的帮助。任何例子都非常棒。谢谢
所谓的项目-项目推荐器是预计算相似性的自然候选者,因为项目的属性很少改变。我建议你预先计算每个项目之间的项目相似性,也许可以存储每个项目的前K,如果你有足够的资源,你可以将相似性matix加载到主内存中进行实时推荐。
查看我对这个问题的回答,了解在Mahout中实现这一点的方法:Mahout是否提供了一种确定内容之间相似性的方法(用于基于内容的推荐)?
示例是如何计算项之间的文本相似性,然后将预先计算的值加载到主存中。
为了比较不同数据结构的性能以保持值,请检查这个问题:Mahout预先计算了项目项的相似性-慢速推荐