为推荐引擎建模隐式和显式行为数据



我跟踪用户行为数据,1. 就像2. 不喜欢3.评级4. 产品被5. 产品购买

支持自信得分为0或1的隐式行为数据的spark MLlib, Ref (http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html)。

例如用户1查看产品A,那么模型将是

1,A,1 (userId, productId,二进制自信分数)

但是从行为的本质来看,喜欢的产品比观看的产品有更强的自信。购买的产品比观看的产品更有信心。

如何根据行为类型为数据建模?

实际上隐式数据不一定是0或1。这意味着这些值被视为信心或关联强度,而不是评级。您可以简单地将显示用户和项目之间较高关联的操作建模为具有较高置信度的操作。"喜欢"比"看法"更有力,"购买"比"喜欢"更有力。

事实上,负置信度可以适用于这个框架(我知道MLlib实现了这一点)。一个不喜欢可以意味着一个负的分数。

这些值是什么取决于你来调整,真的。我认为选择相对频率对应的值是合理的,如果你没有更好的主意的话。例如,如果页面浏览量通常是点赞量的50倍,那么点赞的值可能是页面浏览量的50倍。

最新更新