【发布时间】:2016-05-11 15:08:44
【问题描述】:
我正在根据查询日志构建推荐系统。对于每个查询日志,我都有用户点击了哪些链接的数据。用户不会为他们访问的链接提供任何评级。 我正在尝试创建一个推荐系统,该系统会建议“如果您点击了这个,请尝试另一个类似用户尝试过的这个”。我正在探索 Apache Spark - MLLib 以使用协作过滤。不幸的是,ALS 算法需要“评级”数据。
这是我上网的解决方案之一:
“对于我们想要推荐的每个页面,我们搜索查看过该页面的所有用户。然后,对于每个用户,我们查找他们查看过的所有其他页面。然后我们计算访问该页面的用户数量已查看此数据集中的每个页面,并使用计数最高的页面作为我们的推荐。”
用户认为这种方法很慢。
我想知道是否有“伪造”排名数据的好方法,或者是否有不需要排名数据的流行开源实现?
【问题讨论】:
-
在隐式反馈的情况下,评分也可以计算在内。 Ex (user1, url1, 1/0), 1/0 点击与否。
-
感谢您的回答。我考虑了一下。我拥有的数据只是用户点击的网址。这样我的矩阵中就会有所有的 1。此外,如果将所有剩余文档(数量非常大)设为 0,这将是一个非常巨大的稀疏矩阵。
标签: machine-learning filtering apache-spark-mllib collaborative-filtering collaborative