计算社交网络的用户交互 - 算法

Posted

技术标签:

【中文标题】计算社交网络的用户交互 - 算法【英文标题】:Calculating user interaction for social network - Algorithm 【发布时间】:2017-04-29 07:46:23 【问题描述】:

我正在开发一个社交网络。我必须为用户生成新闻提要之类的帖子。我们希望用户朋友的帖子首先来自用户处于高交互状态的帖子。所以,我想到了一个简单的公式:

用户优先级 = 否。与该用户的互动次数/总数与所有用户的互动

这给出了正确的答案,但我想知道仅仅依靠这个公式是否有效,或者我是否应该考虑其他事情。 用户为时此公式的示例:

用户点赞了 A 的 5 个帖子和 B 的 3 个帖子,因此 5+3=8 次互动。现在对于每个用户,A 是 5/8=0.625,B 是 3/8=0.375。所以用户给 A 更多的优先权,所以先显示 A 的帖子,然后再显示 B 的帖子......

【问题讨论】:

【参考方案1】:

其他改进算法的方法可能是:

依赖于上次交互的时间。例如,用户 A 的 5 个帖子在一个月前被点赞,而用户 B 的帖子在一周前被点赞。 交互频率。用户 A 可能在一个月内间歇性地进行交互,但与 B 的交互在 2 天内被浓缩。 浏览喜欢的页面所花费的时间。这表明页面的质量或兴趣 用户喜欢的内容类型(通过他或她自己的点赞和帖子)和他的朋友圈生成的内容类型。这将涉及文本处理 两者之间的关系类型。例如,来自 GF 的无趣帖子的优先级可能高于好友的有趣帖子 帖子的总点赞数 - 这可能决定了对该帖子内容的总体兴趣。

您可能还想在这里阅读这篇文章:Understanding and building a social network algorithm

【讨论】:

好的,当生成帖子时,我应该在每个帖子生成时计算这个,还是我应该计算这个并将它保存在数据库中并定期计算它,例如 24 小时后。第二个选项似乎有效。你说什么? 我认为是这样的 - 每个用户都是一个节点,其重要性会根据计算随着每个帖子而变化,因此您应该以固定的时间间隔进行计算,例如 2 小时。这样服务器上的负载就不会立即达到峰值。并且在每次计算后,将其存储在数据库中,以便在发送后,您可以参考聚合计算。

以上是关于计算社交网络的用户交互 - 算法的主要内容,如果未能解决你的问题,请参考以下文章

进阶实验6-3.2 社交网络图中结点的“重要性”计算 (30分)-dijkstra算法

开源社交网络 [关闭]

10X单细胞(10X空间转录组)聚类算法之Louvain

推荐算法的使命是模拟社交

DFINITY丨在互联网计算机上推出的去中心化社交媒体网络distrikt

SNA社交网络算法