【问题标题】:Understanding and building a social network algorithm理解和构建社交网络算法
【发布时间】:2013-02-07 06:17:41
【问题描述】:

我不确定这是否是提出这个问题的正确平台。 但我的问题陈述是:我有一家书店 & x 没有客户(x 很大)。

客户可以告诉我一本书是好还是坏(不推荐)。 我有一个将书籍放在一起的内在逻辑,所以如果客户说一本书不好,他是在说类似的书也不好,不要给他看。

我有义务把这些书藏起来。客户之间也可以互动,并在他们之间建立相互信任的水平。 当客户 A 说 Book X1 不好时,就会出现这种情况。因此我将 X1、X2、X3、X4 等列入黑名单。

但他的朋友客户 B 说 X3 很好。所以现在我必须向 A 展示 X3。 我正在考虑根据我所有客户的互动建立一个社交网络,并能够计算他们的相互信任水平。 所以在上面的情景中,如果相互信任度非常高,将向 A 显示 X3,否则我不会向 A 显示 X3。

我想让自己开始构建社交网络并分配 wt。到 2 个节点(我的客户)之间的路径。请给我一些好的建议,我可以从哪里开始。 任何书籍、网站等。

谢谢

【问题讨论】:

    标签: algorithm social-networking graph-algorithm bigdata


    【解决方案1】:

    从高层次上,您将希望研究机器学习、数据挖掘和图挖掘/分析领域。

    在机器学习和数据挖掘方面,你会想要研究协同过滤——我推荐this book。在这个领域有很多工作,注意像亚马逊这样的网站是如何有一个功能的,它可以向您显示购买了哪些其他商品以及您当前正在查看的商品。

    在构建社交网络方面,您首先需要弄清楚要使用什么数据库系统。存在像 Neo4JFlockDB 这样的图形数据库,它们在设计时就考虑到了图形。你也可以选择更通用的东西,比如 MySQL,这取决于你想走多远。

    一旦你做出决定,你就会想要利用这个“社交图”数据,这是随机游走、社区结构/检测和中心性等概念的用武之地。我建议阅读 Twitter 提供的 this series 讲座在加州大学伯克利分校,以更好地利用社交数据。

    【讨论】:

    • 感谢adelbertc 的快速回复。我会检查这本书。在数据库方面,我正在考虑使用 hbase。你认为这会是个问题吗?
    • 为什么选择 hbase?使用它的图形算法是可能的,但如果你可以从 neo4j 或 orientdb 开始,我不推荐它。看看docs.google.com/spreadsheet/…
    • 当然可以使用 HBase,但与所有架构决策一样,您应该在开始使用它之前问自己为什么。 HBase 建立在 HDFS 之上,旨在存储大量稀疏数据(SQL 系统不太擅长处理这些数据)。然而,Twitter 的 FlockDB 数据库在设计时考虑了在线社交网络和图形分析。
    猜你喜欢
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    相关资源
    最近更新 更多