从用户的关注者计算用户的重要性或"中介中心性"?

Xeo*_*oss 7 php rdbms data-mining graph-databases

我想知道如何在用户帐户之间找到有趣的关系,例如最多连接或最有价值的用户,这些用户基于他们与他人的连接.

下面我有我使用的两个表.一个拥有所有用户,另一个拥有他们关注的用户的密钥.

User
{
    id,
    name
}

Follows {
    user_id -> user.id,
    following_id -> user.id
}
Run Code Online (Sandbox Code Playgroud)

我在寻找什么类型的算法?

假设不重要的人很少或没有粉丝,我怎样才能找到图中心的人?我认为他们会很重要,因为他们有重要的人跟随他们.

更新

正如大卫和史蒂夫指出的那样,给定节点的接近程度,子社区形成的节点以及连接最多的用户都是可以从此模式中提取的有用数据的示例.

由于现在许多站点都使用了这种"跟随者"设计,因此我希望获得一些可能对各种各样的人有用的可靠的SQL或编程语言实现.

值得注意的是,虽然某些算法的结果令人着迷,但其他算法(例如查找相关节点)对我们网站的用户来说是值得的,因为我们可以向他们推荐.

Dda*_*vid 10

如果您只关注链接,请尝试这些流行的中心度量(假设G是图表):

  1. :节点的度被定义为 /(Ñ -1),其中是到节点的链路数量Ñ是节点的总数量.更高的学位意味着重要
  2. 紧密度:贴近节点的被定义为(ñ -1)/(Σ_(Ĵ ∈G)DIJ),其中dij的是节点之间的距离和节点Ĵ.这强调了节点与社交网络中所有其他节点的距离.
  3. :介定义为(Σ_(Ĵ < ķ ∈G)NJK(ⅰ)/NJK)/((Ñ -1)(ñ -2)),其中NJK表示的节点之间的最短路径的数量Ĵķ,和njk(i)是通过节点i的这些路径的数量.节点i的中间性更高意味着节点i可以是良好的中心,其中任何其他两个节点之间存在许多连接需要通过节点i.

上述度量可以仅通过链接信息轻松计算,您可以使用其中一个或组合更多这些中心度量来找出社交网络中的重要节点.无论如何,根据"重要"的定义,您可能需要其他不同的措施.