什么样的数据不适合用CF做推荐?

数据挖掘 推荐系统
2021-10-15 23:47:18

我目前正在为每日新闻开发一个推荐系统。首先,我评估了在 Mahout 中实现的所有推荐算法及其相应的设置(例如,相似性、分解器等)。由于我们要为用户推荐每日新闻,所以我们使用两天前收集的每个用户的阅读行为作为训练集,第二天的数据作为测试集。评估的 RMSE 很好,最好的推荐器是 SVD+SGD,所以我们在我们的系统上实现了推荐器,试运行了几天。

然而,结果,实际推荐的消息,对于真实用户来说似乎不是很有吸引力(这里的“不吸引人”是指用户觉得“你为什么向我推荐这个?”)。所以我们决定了另一种方法:使用标签和类别及其关系来做推荐的主要工作,CF的结果只是为了支持。

这让我想知道 CF 是否不适合某种内容。因为我也做过电影和音乐推荐,CF是一个很好的工具。但对于新闻来说,似乎并非如此。

谁能解释为什么会发生这种情况,并就如何选择合适的推荐方法给出一些指导?谢谢:)

2个回答

关键是建立适当的验证指标。

我注意到您谈论您如何尝试不同的推荐算法,但最终您使用 RMSE 对它们进行了评估。但是没有特别的理由相信最小化 RMSE 会为用户带来“主观上更好”的推荐体验——它只是碰巧很方便,而且碰巧在某些行业中运作良好,但没有真正的理由必须这样做。

RMSE 正在衡量您的推荐算法对用户行为的预测效果。但这与衡量推荐质量不同。也许用户更看重其他东西——熟悉度、偶然性或推荐项目的其他质量。用户并不真正关心被预测。

鉴于您的结果,如果您想进一步了解您的用户,我会集中精力提出一个与您关心的目标(用户满意度)更接近的数学指标,而不是 RMSE。一旦您知道要优化的指标,优化它的算法就更容易选择!

不同的领域可能需要不同的方法,新闻领域是更难以捉摸的领域之一。新闻项目的寿命极短(一,可能两天):用户两天前查看的项目不再有趣了。此外,如果大量项目具有“足够”的事件(即,许多用户已经查看/评价了它们),CF 也能很好地工作,并且根据您的数据大小,大多数新闻项目只是在期间没有收集到足够的视图它们的生命周期使经典 CF 方法有效。

出于这个原因,新闻推荐系统倾向于使用基于内容的过滤(您提到的标签和类别)、基于流行度的推荐(这种经常被丢弃的方法可能对新闻很有效)和新近度评分的组合。有一些关于它的文献,尝试谷歌搜索“新闻推荐系统”。