众所周知,协作过滤(CF)如何用于电影,音乐,书籍推荐。在论文“Collaborative Topic Modeling for Recommending Scientific Articles”等作者中,作者展示了一个协作过滤的例子,适用于约5,500名用户和约17,000篇科学文章。对于约200,000个用户 - 项目对,用户 - 文章矩阵显然非常稀疏。
如果您使用matrix factorization进行协作过滤,例如,在Twitter上分享的所有新闻文章,该怎么办?矩阵将比较稀疏(比科学文章中的情况更稀疏),这使得CF不太适用。当然,我们可以做一些内容感知分析(考虑到文章的内容),但这不是我的重点。或者我们可以限制我们的时间窗口(例如,关注在最后一天或一周中共享的所有新闻文章),以使用户文章矩阵更密集。任何其他想法如何打击矩阵非常稀疏的事实?新闻文章推荐的CF领域研究结果如何?非常感谢提前!
答案 0 :(得分:4)
您可以尝试使用对象到对象协作过滤器而不是用户到对象过滤器。随着时间的推移,相关对(和低发病率对)会老化,因为它们在您的用例中基本上无关紧要。
我当天在Netflix奖上做了一些工作,并且很快发现我可以在预测用户最喜欢的项目方面明显优于基本模型。不幸的是,因为它基本上是一个排名模型而不是标量预测器,所以我没有比较RMSE值。
我知道这种方法有效,因为我写了同一系统的生产版本。我的早期测试显示,给定一项任务,其中50%的用户的顶级电影被删除,对象 - 对象模型正确预测(即“替换”)约16倍的用户实际收藏比基本斜率 - 一个模型。此外,桌面大小是可管理的。从那里可以很容易地根据您的应用程序在排序顺序中包含盈利性权重。
希望这有帮助!我有一个正在制作的工作版本,但仍然在寻找测试版客户来敲击系统...如果有人有时间给它一个跑步,我很乐意听到你。
Jeb Stone,博士