基于同一的建议书

时间:2015-02-11 06:17:09

标签: algorithm recommendation-engine

我很好奇有什么算法可以用于基于类似的推荐。我的意思是人们可以“喜欢”某些东西,但他们不能“不喜欢”某些东西。对于这种情况,有哪种推荐算法。

我有一个想法,但我认为它不具备可扩展性。我的想法是创建一个图表,其中每个可爱项目都具有彼此可爱项目的边缘,其边缘容量是喜欢两个项目共同的用户数量。然后,为了为某个用户提供建议,您可以扩充图形,以便用户是一个源节点,对用户喜欢的所有项目具有无限边缘。用户不喜欢的所有项目都具有到目标节点的无限容量的边缘。然后使用Ford-Fulkerson运行最大流量,并根据目的地的边缘流量对建议进行排序。但是,在考虑它之后,包含1000个或更多项目的图表很快就会失控。

我已经考虑过其他系统,比如协作过滤器,但我不确定它们是否会很好地工作,因为没有投票或多重喜欢。因此,“不喜欢”与“尚未喜欢”无法区分。

我很感激任何想法或资源。

1 个答案:

答案 0 :(得分:3)

您可以使用以下几点:

  1. "看到和不喜欢"到"没有看到"。通常,"看到和不喜欢"被用作弱者"不喜欢",然后你可以使用协同过滤。
  2. 你仍然可以找到类似用户"基于喜欢,并基于一组类似的用户(他们喜欢类似的东西) - 你可以建议他们喜欢的项目。您可以确定两个用户是"类似"如果他们喜欢的项目集合具有较高的Jaccard similarity(例如),并推荐大部分"类似的"用户。
  3. 您可以在文献中搜索更多替代方案,这是过去几年www conference的热门话题,新方法也在不断发展。