2015-02-24 60 views
0

我正在尝试使用基于项目的协作过滤产品推荐。根据买家是否购买物品,矩阵是全1和0,我使用余弦相似度来识别类似产品。基于项目的协作过滤,当项目已经可用于不同的时间长度

在我测试这个数据的时候,有超过2K种产品,而且许多产品可用于不同的时间。有些已经全部可用,有些已经可用,但不再可用,有些最近才可用。

我注意到已经有很长时间可用的产品往往会匹配其他长期可用的产品(流行的最棒的产品)。同样,不受欢迎并且长期不可用的项目往往会得到不太流行的好匹配项目。在很多情况下,当不流行的产品不是时,流行的产品是可用的。

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

有没有人在这些条件下尝试基于物品的协作过滤,以及对于如何处理具有不同可用性的产品,您有任何建议吗?

回答

0

我记得在一些相似的数据集上使用mahout库并使用推荐器。我最终注入了特定领域的知识到推荐引擎中,如'行动书中的Mahout'(章节'注入域特定信息')所述。我用'IDRescorer'类做了类似的事情(参考前面提到的了解上下文的书),它根据您提供的逻辑删除了一些建议,并且还可以基于其他逻辑提高推荐率。就我而言,我只是决定放弃不再提供的商品的推荐,并推荐与特定用户(在用户的配置文件中指定)相似的商品的推荐。我相信你可以为你的任务使用相同的想法。

相关问题