【问题标题】:'You might know'-suggestions in social networks [closed]“你可能知道”——社交网络中的建议[关闭]
【发布时间】:2015-03-27 21:44:08
【问题描述】:

我有三个主要模型。用户、照片和关系。

关系模型包含两个字段 = from_user、to_user。当 userA (from_user) 跟随 UserB (to_user) 时,我想向 userA 显示与 userB 类似的其他帐户。 userA 将更倾向于关注与 userB 相似的帐户。我应该采用什么方法才能获得此类似帐户列表?

我能立即想到的第一个示例是 Instagram 和 Twitter,它们会在您关注用户后立即显示类似的帐户。我在想也许他们显示的建议帐户是多个集合交叉点的结果。

在 UserB 的所有“关注”集合之间进行集合交集可能是一种可能的解决方案。这将生成一个集合,显示 UserB 的关注者关注的所有普通用户。当这个集合呈现给用户 A 时,用户 A 也可能倾向于关注这个集合上的人,因为用户 B 的关注者也会关注他们。我的逻辑是 userB 的追随者可能有共同的兴趣。这种共同的兴趣可能是他们最初关注 userB 的原因之一。 userB 的关注者很可能也会关注与 userB 类似的其他帐户。

我什至开始考虑这个问题的全部原因是我前几天在Quora 上发现的一个问题。

一位用户提到:

1.你跟随的人跟随的人。我对 Twitter 的绝大多数使用是关注媒体人以了解他们在做什么。大多数建议都是他们关注的帐户。

2.匹配的电子邮件。你认识的人上传了他们的地址簿或电子邮件活动以进行“挖掘”,而你在名单上。 LinkedIn 似乎真的很喜欢这个,因为大多数推荐都是我实际上并不认识的人,但几年前我通过电子邮件与他们进行了短暂的互动。

正如你们中的一些人所建议的,这可能是一个开放式问题,但我决定在堆栈上对其进行破解,看看你们中的一些人采用了哪些其他实现。如果这个问题不适合堆栈溢出,请帮我将它引导到某个地方,也许是另一个堆栈交换社区。

谢谢

【问题讨论】:

  • 我认为这个问题太开放了,因为您可以使用许多不同的方法来查找“您可能知道”或“您可能感兴趣”的用户。你可以比较发布的材料,你可以像 Facebook 那样使用影子个人资料,你可以比较谁有谁的电话号码、电子邮件地址......
  • 感谢@ThomWiggers。我有种感觉这个问题是开放式的,超出了堆栈溢出的范围,知道我可以在哪里得到答案吗?也许是 IRC 频道或其他交流社区?
  • 恐怕我没有:(
  • @ThomWiggers 不用担心,谢谢您的建议。

标签: social-networking


【解决方案1】:

在互联网上搜索之后,我意识到 Facebook 有一个很好的资源来说明他们如何制作“你可能认识的人”名单:

https://www.facebook.com/help/501283333222485/

我认为我有一个很好的起点。谢谢大家的帮助。

【讨论】:

    【解决方案2】:

    也许你应该使用Strongly Connected Components 的图论概念。您的模型可以被认为是有向图,其中顶点对应于用户,边是“跟随”关系。

    观察上图。如果“用户 b”跟随“用户 c”,那么推荐“用户 d 和 h”是合理的,它们在“用户 c”的同一个强连通分量中。

    Tim Roughgarden 在 Coursera 上的算法简介课程中提出了这种方法(如 answer 中所述)。

    您可以使用类似的方法处理其他类型的有向或无向关系,例如“研究过”、“合作过”等,以找到最有可能“相似”的用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2016-10-06
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多