0

我正在从查询日志构建推荐系统。对于每个查询日志,我都有用户点击了哪些链接的数据。用户不会为他们访问的链接提供任何评级。我正在尝试创建一个推荐系统,该系统会建议“如果您点击了这个,请尝试另一个类似用户尝试过的这个”。我正在探索 Apache Spark - MLLib 以使用协作过滤。不幸的是,ALS 算法采用“评级”数据。

这是我在网上找到的解决方案之一:

“对于我们想要推荐的每个页面,我们搜索查看过该页面的所有用户。然后,对于每个用户,我们查找他们查看过的所有其他页面。然后我们计算查看过每个页面的用户数量这个数据集中的页面,并使用计数最高的那些作为我们的推荐。”

用户建议这种方法很慢。

我想知道是否有一种“伪造”排名数据的好方法,或者是否有不需要排名数据的流行开源实现?

4

1 回答 1

1

在隐式反馈的情况下,评分也可以计算在内。Ex (user1, url1, 1/0), 1/0 点击与否。

现在您要问一个不同的问题,无论如何,稀疏矩阵和密集矩阵之间是有区别的。您不需要添加任何 0,这就是评级的概念,您拥有可以点击的内容,例如 (u1,url1,1),如果这是用户 1 单击的唯一 url,那么您可以不需要为那些他还没有点击的人添加 ceros。模型知道这是正在使用的输入数据格式。

我希望它有所帮助。

于 2016-05-11T21:08:04.463 回答