Lobsters 主页是如何运作的

本文信息来源:atharvaraykar

How the Lobsters front page works
Lobsters 是一个以计算为中心、围绕链接聚合与讨论的社区。

代码是开源的,所以我查看了主页算法是如何运作的。

就是这样:

hotness=−1×(base+order×sign+age)

hotness↓⟹rank↑

页面按 hotness 升序排列。 hotness 的值越负,故事排名越靠前。

你可以直接跳到互动首页,以帮助了解首页动态。

base 会被加入排序项以激励某些类型的帖子,并影响初始排名。它是该故事中所有标签的热度修正值之和(每个值介于 −10 与 +10 之间)。

base=∑t∈tagshotness_modt+{0.25if self-authored link0otherwise

有些标签(如 culture 或 rant )带有负“热度修正”,会惩罚它们的初始排名。作者提交自己的内容会获得微小的提升,鉴于一般严格的自我宣传规则,这有些令人惊讶。与 order 和 age 相比, base 对热度的影响较为有限。

订单

order 的数值来源于一篇故事所获得的互动量。

order=log⁡10(max⁡(∣score+1∣+cpoints,1))

订单项的增长是对数性的——这意味着从 0 票到 100 票对排名的提升远大于从 1000 票到 1100 票的提升。

cpoints 被加入到故事分数中,这一项考虑了非投稿者评论的点赞(一次评论点赞价值相当于半次故事点赞)。如果 base 为负(例如刚提交的 rant 就是这种情况),那么该项将被置为零,使评论在排序中实际上不产生任何贡献。

comment_points={0if base<012∑(comment_scores+1)otherwise

cpoints=min⁡(comment_points,story_score)

cpoints 永远不会超过故事分数。因此,分数很低但拥有大量高赞评论的故事——也许是以制造争议的低质量投稿为特征——不会因评论点赞而获得提升。

关于合并故事有一些细节我为简化说明而省略了。但其大致行为如你所料。

署名

如果一条故事被标记到评分变为负(标记实质上是一次踩),则 sign 变为负值。

sign={−1if score<0+1if score>00otherwise

当故事得分为零时, sign 会抵消评论的赞成票效果;当故事得分低于零时,会使评论的赞成票对排名产生负面贡献。

年龄

age 的值在提交时固定。这是故事创建时的 Unix 时间戳,除以一个可配置的 hotness_window 时间。 hotness_window 默认是 22 小时——这意味着 age 的值每 22 小时增加 1 个单位。

age=created_at_timestamphotness_window

这个值随着每一条新故事线性增长,将旧故事推下排名。该算法的主要矛盾在于, order (由分数决定)呈对数增长,因此要抵消 age 的影响并留在首页,点赞数量必须随时间呈指数增长。时间终将归于我们所有人。

简而言之

hotness=−1×(base+order×sign+age)

hotness↓⟹rank↑

其中 base 基于标签和提交故事的人初始化。 age 随每次新提交线性增加,而由投票决定的 order 则呈对数增长。

Explore重试  错误原因

Heads up—enable JavaScript to make this part work. This was mostly vibecoded, with me verifying that the results match the algorithm.重试  错误原因

如果你想把它作为独立工具玩玩,这里有一个 gisthost 链接。

思考

算法很稳健。它让新故事有机会获得曝光,同时对引发大量激烈讨论的低质量内容给予了恰当的惩罚。如果出现激烈讨论,通常发生在高赞的帖子上。随着时间推移,时间因素总会压倒点赞数,所以没有哪条故事能长期停留在首页。有一些机制会阻止被过多标记的故事在排名中上升。

不过,我并不认为算法真正塑造了这个网站的本质。网站的性格更多来自其有立场的版主管理、狭窄的计算机领域聚焦以及通过邀请制逐步形成的文化。与许多其他论坛相比,这里垃圾内容更少,公开的敌意、种族主义、性别歧视或其他主义言论也很少。社区挖掘出了许多小众话题和作者,这让我很喜欢。

然而,我在该网站上的体验远非理想。对我而言,这源于与网站上最活跃群体价值观的脱节——正是他们的投票和讨论塑造了网站氛围。我不喜欢被当作骄傲标榜的玩世不恭、不建设性的“抓茬”、那些显示评论者只看了标题就展开的冗长论战、随意的发泄以及明显双方都不愿真正修正自我世界观的争论。这些都让我更少在网站上参与互动。

研究该算法让我意识到,选择退出只会让问题更糟——单个用户的参与可能价值很高。早期的点赞非常重要,往往能轻易把一篇文章推到首页。如果你在网站上潜水且感到不满,考虑更多地行使你的投票权和投稿权。发表你希望看到的那种更有深度、更友好、更好奇的评论。这确实很重要。基于此,我很可能会改变自己在网站上的参与方式。

毕竟,能与推特和 Hacker News 等平台形成对照、并能浮现出冷门计算学好奇心的相对安静且直截了当的严肃公共论坛并不多。

了解 RecodeX 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读