【问题标题】:Item based collaborative filtering when items have been available for different lengths of time当项目在不同时间长度内可用时基于项目的协同过滤
【发布时间】:2015-02-24 13:52:19
【问题描述】:

我正在尝试使用基于项目的协同过滤来进行产品推荐。根据买家是否购买商品,矩阵全为 1 和 0,我使用余弦相似度来识别相似产品。

在我测试的数据中,有超过 2000 种产品,并且许多产品的可用时间不同。有些一直可用,有些过去可用但不再可用,有些最近才可用。

我注意到,已上市已久的产品往往与已上市已久的其他产品(最受欢迎的热门商品类型)相匹配。类似地,不太受欢迎且没有很长时间可用的项目往往会得到很好的匹配,但也不太受欢迎。在许多情况下,流行的产品有时会出现,而不太流行的产品却没有。

http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf这篇关于亚马逊的论文有伪代码,似乎建议在寻找类似于 X 的商品时只考虑购买过商品 X 的人(尽管这可能是我的误解)。这在一定程度上纠正了问题,但甚至可能过度纠正问题,因为它忽略了许多可能购买了项目 Y 而没有购买项目 X 的​​人。

有没有人在这些条件下尝试过基于项目的协同过滤,您对如何处理可用性不同的产品有什么建议吗?

【问题讨论】:

    标签: machine-learning recommendation-engine


    【解决方案1】:

    我记得在一些类似的数据集上使用 mahout 库并使用推荐器。我最终将特定领域的知识注入到推荐引擎中,如“Mahout in action book”(“注入特定领域信息”一章)中所述。我用“IDRescorer”类做了一个类似的事情(参考提到的书来理解上下文),它根据你提供的逻辑放弃了一些推荐,也可以根据其他一些逻辑提高推荐率。就我而言,我只是决定放弃对不再可用的项目的推荐,并提升与特定用户感兴趣的项目(在用户个人资料中指定)相似的项目的推荐。我相信您可以为您的任务使用相同的想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多