基于点赞的推荐

Like-based Recommendations

我很好奇基于喜欢的推荐有哪些算法。我的意思是人们可以 "like" 某些东西但他们不能 "unlike" 某些东西。这种场景有什么样的推荐算法。

我有一个想法,但我认为它不可扩展。我的想法是创建一个图表,其中每个可爱的项目都有一个边缘到另一个可爱的项目,边缘容量是同时喜欢这两个项目的用户数量。然后为某个用户提供推荐,扩充图,使用户成为源节点,对用户喜欢的所有项目具有无限边。用户不喜欢的所有项目都具有到目标节点的无限容量的边。然后 运行 使用 Ford-Fulkerson 的最大流量,并且可以根据目的地的边缘流量对建议进行排序。然而,仔细想想,一个包含 1000 个或更多项目的图表很快就会失控。

我考虑过协作过滤器等​​其他系统,但考虑到没有否决票或多个喜欢程度,我不确定它们是否会很好地工作。因此 "dislike" 与 "haven't liked yet".

无法区分

如果有任何想法或资源,我将不胜感激。

有一些点可以使用:

  1. "seen and didn't like"和"didn't see"有很大区别。经常把一个"seen and didn't like"当弱"dislike",然后就可以用协同过滤了
  2. 您仍然可以根据喜好找到 "similar users",并根据一组相似的用户(倾向于喜欢相似的事物)- 您可以推荐他们喜欢的项目。如果两个用户喜欢的项目集具有高 Jaccard similarity(例如),则可以确定两个用户 "similar",并推荐大部分 "similar" 用户喜欢的项目。

您可以搜索文献以寻找更多替代方案,这是最近几年 www conference 上的热门话题,并且新方法总是在不断发展。