社交网站上的评论必须以某种方式分类。大平台是如何做到这一点的-是推荐系统、学习排名算法、马尔可夫决策过程、神经网络和学习自动机的复杂组合吗?嗯,也许在某些情况下,但通常只是一个简单的公式。在本文中,我们使用虚拟评论区模拟来测试黑客新闻、YouTube和Reddit使用的公式以及一些替代公式。剧透提醒:YouTube做得不好。
240名访问者在24小时内以相等的间隔递增。每位访问者被随机分配为评论者(10%)或投票者(90%)。评论者留下一条评论,这会得到随机分配的质量类别:很好(10%)、一般(80%)或较差(10%)。好的评论获得赞成票的可能性很高,获得反对票的可能性较低;恶臭的人则相反;另一方面,投票者看到排名靠前的评论,并根据其概率进行投票。在这一点上,他们停止阅读或继续阅读,该概率取决于他们刚刚投出的选票(赞成票为0%,反对票为50%,反对票为15%)。如果他们不离开,他们将看到下一个排名的评论,该过程将继续进行,直到他们最终离开或阅读所有评论。当模拟结束时,他们将看到下一个排名的评论,该过程将继续,直到他们最终离开或阅读所有评论。当模拟结束时,他们将看到下一个排名的评论,并且该过程将继续,直到他们最终离开或阅读所有评论。当模拟结束时,他们停止阅读或继续进行,该概率取决于他们刚刚给出的投票的概率。
当然,这并不是每个评论区的完美模型。有些参数在某些情况下是不合适的。实际上,访问率可能会随着时间的推移而变化。选民在最近(非)投票的条件下,在某条评论后离开的概率也可能取决于他们已经阅读了多少评论。评论线程不会出现。投票概率可能会随着时间的推移而变化。等等。
我们分析中的所有排名方法都是通过给每条评论打分,并按降序排列评论。分数由下面的公式确定。
从基础开始,我们有比率和差值,也就是。净上升的数量。我们不认为这些是最优的,但它们是有用的基线。另一个版本的比率表现类似。
出于测试目的,我们有随机排名,也就是随机排名,以及根据真正的向上投票概率排名的上升概率排名。
Reddit的算法,在这里详述,是一种基于和估计真实投票概率的频繁方法。这是我们称之为贝叶斯平均的贝叶斯版本:与比率相同,但我们假设投出了几张额外的“幻影”选票,比如3张反对票和3张赞成票。
Hacker News粗略地使用公式,如果我们将分母解释为对投票数量的估计,那么它就像比率一样,实际上,这个分母可能更自然地被认为是对包括隐性不投票在内的投票数量的估计,不投票(值为0)不会影响分子。
为了了解模拟效果,以下是使用黑客新闻评分公式在一次运行中向第240名访问者提供的评论:
YouTube还使用了一个涉及评论年龄的公式,他们的系统额外考虑了用户的生命周期比率,在我们的测试中,我们将其设置为0,就好像所有用户都是新用户一样。
最后,让我们考虑一下如何修改贝叶斯平均来考虑时间。为了使新的评论更明显,我们将首先使幻影投票全部上升,然后渐近地将其降低为不投票。我们还将切换到类似于Hacker News公式的分母来估计不投票。这将产生修改后的贝叶斯公式。这就产生了修改后的贝叶斯公式。为了估计不投票,我们还将使用类似于Hacker News公式的分母。这将产生修改后的贝叶斯公式。
我用每个公式做了足够多的模拟运行(1,000-20000次),对它们的比较相当有信心。没有更多的麻烦,瞧:
所以YouTube略好于随机,Reddit比简单的差异差,而黑客新闻是三个中唯一一个比贝叶斯平均好的。令人失望,但也有可能。结果的概括性如何?一如既往,…需要做更多的工作