2

我想让用户能够查看他们可能会感兴趣并可能关注他们的一些个性化用户......

我是这样想的:

- Get all users he is currently following
- Get all followers that they follow
- rank them by total posts they made (DESC), filled up personal information fields
- show 5 of them on each page load

如果用户有关注者,则会出现一条信息消息...

这种算法可以完成这种功能,还是有更好甚至更简单的方法来做到这一点?

4

4 回答 4

4

在您的算法中,我想知道为什么您需要根据帖子数量对用户进行排序,也许这与声誉有关?

推荐确实是一个非常大的、开放的话题,也是一个热门的学术研究领域。如果我们在做一个实际的项目,我认为保持简单和专注会很好。

我在一个非常受欢迎的社交网站上目睹了以下两种推荐。根据我的经验,推荐输出质量很高。在这里,我正在集思广益背后的算法。希望能帮助到你。

  1. 发现您可能认识的人:推荐“关注集”与您的“关注集”相交的人。它基于社交网络的“集群效应”:你朋友的朋友更有可能成为你的朋友。

  2. 根据兴趣推荐人:如果用户可以是名人、公司、机构、新闻媒体等,那么像下面这样的推荐可能会有用:“关注@Linus 的人也关注@Stallman、@LinuxDeveloper,...”。假设你刚刚关注了@Linus,要推荐@Stallman、@LinuxDeveloper,首先我们需要找出所有关注@Linus 的用户,然后找出他们的常见关注列表,可能按关注者数量排名。这个想法是根据兴趣相关性推荐用户。我们计算并发现高相关性用户,假设用户的关注列表按他们的兴趣分组。

(我也在想,算法 1 会发现与你有共同兴趣的人,如果用户可能是名人等。这在某些情况下可能是首选。)

于 2012-06-06T06:20:37.923 回答
2

您在这里提出了一个非常开放的问题 - 如何从大量建议中挑选出少量建议。所以答案是——你可以让它变得像你想要的那样简单或复杂!最简单的方法是随机选择一些(任何更复杂的算法最好证明它产生比这更好的结果。)你收集两跳之外的所有用户,然后按帖子数排名的解决方案就是稍微复杂一点,然后在另一个极端是世界上亚马逊和谷歌使用的复杂算法。公司付出了很多努力来打造这种东西——你听说过Netflix Prize吗?

于 2012-05-30T16:20:16.510 回答
0

据我了解,您想要关注可以提供有关您的 Thema 的高质量信息的用户。我们需要一个算法来将此用户作为结果提供给我们,但是我如何找到这些用户:拥有很多关注者的用户是一个不错的选择但并非总是有许多 Twitter 用户关注其他用户只是出于尊重或礼仪。与其他用户多次转发的用户和被其他用户多次提及的用户是一个不错的选择。我认为,要找到这些用户,我们应该使用基于链接的分析,例如 HITS 或页面排名算法

于 2012-06-06T09:21:05.350 回答
0

您可能要考虑不包括关注给定用户的人。我想可能对你不那么感兴趣,这可能是有问题的。但是,您可能非常有兴趣找到更多关于关注的人的信息。

您是否正在考虑向用户展示这些人被推荐给他们的原因?例如,说喜欢你可能会对小比利说的话感兴趣,因为他和你妻子有联系。如果是这样,为了潜在地避免激怒用户,允许他们在某种意义上选择退出可能是值得的。

似乎除此之外,这似乎是推荐某人感兴趣的用户的一种很好的方式。我能想到的唯一其他事情也可能有助于找到具有相似兴趣的人,如果您允许用户标记帖子。允许您通过相似的兴趣或他们发布的内容来查找用户。

您可以研究的另一件更有问题的事情是寻找具有相似兴趣的用户。例如,如果人 a 关注人 c,人 b 关注人 c,那么可能会将人 a 推荐给人 b。尽管如果您不小心,这似乎会导致一些非常冗长的查询。

于 2012-06-06T21:59:38.527 回答