更新:该特定实现暂时已被放弃,请帮助我们衡量显示评论的费用。


如果您环顾互联网,就会发现:


99.9%的评论是垃圾邮件,垃圾邮件或简单地浪费了电子。—ithacaindy(显然是0.1%的一部分。)


Stack Exchange没有这个问题。多亏了举报,我们的垃圾邮件和令人反感的评论才有半分钟的生命。因此,该建议的目的不是为了搞一件好事。相反,我建议我们通过隐藏不错的评论来增加信息密度,这些评论只是琐碎的并且可能已经过时。

当前在Stack Overflow和其他非元站点上,投票显示了前5条评论按年代顺序。第六和以下注释隐藏在链接后面。对于具有很多评论的帖子,这意味着即使不是特别有用或不友好,最早的评论也倾向于显示出来。对于5个或更少的帖子,即使编辑或时间的流逝使评论过时,评论也几乎是永久性的功能。为了纠正这种情况,我建议使用:

评论权重

基于以下标准,每个评论的权重都在0-29之间:


每投票最多可得10分。
每15个字符可得1分,超过最低(15)上限9。

10 - age(以天为单位) 0.

没有投票,少于30个字符且超过10天的评论的权重为零。如果长度为150的评论在第一天获得10票,它将暂时占29。

权重小于10的评论将被隐藏。1所有其余评论按时间顺序显示。 2

让我们分别看一下每个因素:

年龄

所有评论的权重为10,然后在接下来的10天内逐渐消失。这意味着每个评论至少显示一天,大多数3将显示更长的时间。一些提议建议隐藏旧评论。共同的思路是,大多数注释在被定向到的任何人看到之后都无所谓。4在前五名的系统中,除非注释太多,否则假定注释是有价值的。在加权系统下,注释必须显示其值才能显示。年龄因素为评论提供了获得支持所需的时间。

长度

Lukas Mathis进行的一项调查显示,从统计学上讲,发表评论的时间越长越好。虽然我找不到其他研究来支持或拒绝此主张,但它确实符合我的经验。5并非每条冗长的评论都值得保留,但随着评论长度接近150左右,可能性更大。长度因数上限为9,因此评论者无法填充其工作以强制显示。即使最长的评论也必须由第二个人对其进行验证。

分数

很难正确地评估其评论,使其与帖子分开。这是用户进入的地方。只有人才能知道哪些评论值得骄傲。通过投票,您可以决定是否向将来的读者显示评论。

人们并不完美:我观察到,对简短评论的投票往往意味着“有趣”。但是对较长评论的投票往往意味着(有见识),“有趣”或“信息性”。我们要保留的评论包含长度和赞誉。

如何提供帮助

截至2013年11月4日,排名前五的方案在Stack Overflow上隐藏了3,059,691条评论。总共有24,136,126条未删除的评论。权重算法将隐藏22,517,301条评论。更改算法将隐藏93%的评论,而现在只有13%。我相信其中很大一部分是噪声,但是肯定还会丢失一些信号。

我编写了一个查询,该查询显示了注释权重算法显示的注释。请花几分钟来浏览一些有问题评论的帖子中的评论。6分叉我的查询并调整算法。在下面的答案中写下您的发现。让我们知道,如果您发现通过加权算法会丢失的非常有用的注释或较长的注释线程甚至会变得嘈杂。



我的意思是,它们将在add / show X more comments链接的后面。
非常长的,非常加热的注释线程周围有明显的边缘情况。如果我们不限制评论的数量,那么将显示最多55条评论! (请参阅前100名,其中包括选举职位。)最简单的解决方案是保持当前的上限(主要网站5个,元网站15个)。在这些情况下,我当然愿意采取其他方法来防止评论引起压倒性的结果。
评论长度的中位数为113,因此,所有评论的一半实际上将显示至少6天。
需要说服力,请看一下5条随机评论。这只是出于简短原因而选择的简短字符(<100个字符)。
请抽样5个详细的注释,然后自己看看。
例如,早在8月,托比·艾伦(Toby Allen)指出了“一大堆不切实际,毫无帮助的言论”。其中许多最坏的情况已被删除,但仍有许多不那么有用的注释。


评论

只要有足够的时间,存在的每条评论都会最终被隐藏吗?

@BoltClock是独角兽:不。如果评论为150个字符或更长,并且带有一个赞,则它将永久显示或直到删除为止,以先到者为准。较短的注释需要更多的投票,但即使最短的注释也将永久显示10或更多的投票。

我喜欢这个主意。我预见到的问题:在问题的OP与正在帮助他们的人之间进行评论对话时,通常看到的是对“帮助者”评论的支持,而对“帮助者”的评论没有支持。我觉得这可能会导致不必要的烦恼,在这种情况下,每次询问者都向应答者寻求帮助的对话都会被链接部分遮盖。也许问题所有者应该对他们的评论有更多的重视?

@Asad:这是一个非常有趣的想法。一个反驳的论点是,除了进行长时间的评论对话之外,OP还应该编辑他们的问题。还必须有某种方法来避免OP使它们的注释足够长,从而使它们的注释一字不漏。我仍然认为评论至少需要通过一次投票验证。

三等公民终于得到了爱,真好!我要补充的一件事是,评论上的每个标志都会减少其权重。我认为2分是明智的。很多时候,旧评论会得到一个或两个标志,这些标志不足以自动删除,并且被埋在队列中太深,因此主持人可能需要几天的时间才能处理。

@Asad如果来回对话中只有一侧正在投票(或者一侧正在获得更多)并且注释线程持续了足够长的时间,则已经发生了这种情况。因此,在那种情况下,虽然可能并不理想,但它仍然保持不变,不会变得更糟。实际上,考虑到提议的更改,对评论的投票较少,将有足够的“权重”在没有投票的情况下显示几天,而与现在不同,在有足够评论的情况下,这些评论将被隐藏。即使不是完美的方法,也无论从哪方面来说都是净赚或赢。

@Sha Wiz Dow Ard:嗯...我讨厌惹麻烦评论标记,这确实是我们的优势。但是,似乎过时且过于健谈的标志似乎可以用来减少评论的权重,而不是直接删除。作为主持人,我发现这些标志非常难以处理,因为它们经常是判断调用。但是消灭2票对我来说似乎不成比例。 (我将继续考虑这一点;在了解了该功能在实践中的工作方式之后,我们似乎可以对其进行调整。)

我的问题是,这是适合大量用户使用的标签的又一个好主意,在该标签中,许多有经验的用户会定期对所有内容进行投票。在一些不那么受欢迎的标签上,一两个投票会被认为是一个受欢迎的评论,我希望坦白地说,随着时间的流逝,每个评论都会消失。我建议在计算时进行某种加权,以考虑标签中的整体投票方式。

即使评论得分不够高,在隐藏生效之前发布的评论也会有一些最低阈值吗?我很懒,不想单击以查看有关一个较早问题的单个评论。这也将有助于减轻McNab带来的交通拥挤问题。

@神秘的屏幕名称:在我看来,这使我们回到了平方。现在等到一个问题有足够的见解可能是一个更有希望的门槛。对于低流量问题,没有足够的潜在选民甚至无法发表评论。嗯...

@JonEricson我认为这根本不是方形的。建议的重点是您对确定哪些评论应隐藏的算法的改进。这是一个查询,表明您的建议,但仅在有> 3条评论时才应用。它隐藏了15,782,861条评论(使用阈值2而不是3的评论数为19.7m),仍然远远超过了当前隐藏的3m。观看次数而不是评论计数(或补充?)是个好主意,但是...

@Flexo:如果需要,可以。哦,您是说自动删除它们?可能不会。 ;-)

这里的努力是巨大的。管理员,至少请给男人一个装满箱子的箱子,并在您所在的城镇住2晚

@Adel:嗯,公平地说,他们已经在支付我的薪水了。 (我上个月在纽约市得到了贴纸和整整一个星期。;-)

@JonEricson抽搐抽搐

#1 楼

此处最大的变化是,默认情况下,所有10到20天后没有任何评论的评论将被隐藏。我不确定这是个好主意。

在一个问题的整个生命周期中,20天都不是很长。我不确定我们是否已经证明大多数没有被批评的评论总体上是有害的。我怀疑我们对评论的投票覆盖率很差,因此“该评论获得0票是因为噪音”与“此评论获得0票是因为没人愿意投票赞成”的区别不大。

我希望看到更多针对0分评论的研究:其中有多少实际上是信号还是噪声?然后我们可以决定为减少噪声而愿意损失多少信号。

评论


如果这是删除操作,那么是的,这将是一个主要问题,但这只是通过添加点击来强调它们。不需要不必要地强调某些内容,而不必专门强调它。

–服务
13年11月6日在20:36

但是,敏锐的用户可以随时扩大评论范围并赞扬他们认为有帮助的评论,对吗?我会取消或至少降低5秒的速率限制来帮助他们做到这一点,我看到许多用户发现该限制非常令人沮丧,这可能是总体上评论数偏低的原因之一。

–影子向导正在接种疫苗
2013年11月6日20:37



@Servy如果我每次都必须单击该链接,以防万一评论中有有用的内容,我们不是失败了吗?如果我们默认隐藏某些东西,我们应该非常确定没有什么用。现在,带有隐藏评论的问题是例外,不是常规。这是相反的。

–David Fullerton
13年11月6日在20:44

很难知道如何进行统计学研究。但是,这是一个没有投票的单例注释的随机样本。在我看来,到目前为止,由于没有显示差异,人们没有实际理由来支持单例评论。我不确定有多少人进行这种计算,但是我知道我有。也许跳过带有1至2条评论的帖子的隐藏算法会保留更多信号?

–乔恩·埃里克森
13年11月6日在20:49

对我来说,始终显示N条评论似乎不是一个坏主意(基本上是当前系统,但是有一种更好的方法来确定在单击之前显示的内容)。我没有看到比我个人希望阅读的门槛低的很多东西,但是我承认我在撰写答案时一直在关注非常活跃的问题。那些不活跃的人也值得关注...

–voretaq7
13年11月6日在20:54



将评论时间限制基于发布年龄和活动情况如何?

– Nanofarad
13年11月6日在21:42

@hexafraction我认为,如果注释多于默认显示的注释,则仅通过应用老化方面即可获得相同的结果(即显示所有内容,直到我们有6条注释,当有6条或更多注释时,应用算法确定哪些评论是“超越”的-简单就是优雅:)

–voretaq7
13年11月6日23:33

在当前的实现中,点击进入已经很烦人,尤其是因为隐藏的注释不会随页面一起下载,因此点击进入需要Internet连接。

– CodesInChaos
15年2月3日,19:19

#2 楼

许多人都在询问目前的状况,所以这里有一个更新:
我们的内部讨论和分析至少使我们中的一些人得出结论,认为该提案的弊大于利。
虽然乔恩(Jon)提出的选择方法(尤其是长度输入法)确实很聪明,但是当我们查看一个(可能很小的)问题样本来隐藏评论时,可以肯定地说出以下内容:
隐藏所有东西,但只有很小的一部分似乎具有很强的质量指标。
这使我们几个人得出以下结论:
它可以清除大量噪声,但是会吸收大量信号
在回顾一些隐藏评论的帖子时,有很多例子虽然评论不那么出色,但它们似乎通过默认可见,添加信息,澄清为读者增加了一些价值。一个观点,或者只是问一个问题,所以没有其他人需要。一些示例:

要求澄清或详细信息
添加颜色的注释,例如提议的解决方案的优缺点
注释解释为什么听起来不错的答案不会确实有效。
请求附加代码,并在响应中解释为什么OP无法共享它(阻止其他人问同样的事情)。
反馈建议的解决方案不起作用(传达给其他人看起来不错,但实际上并不有效
在问这个问题之前,您实际上需要从这里开始并获得更多信息

请注意,上述某些方法并不是理想的注释用法在某些地方隐藏评论是有害的,它们被稍微误用了,因为编辑会更合适,但关键是编辑没有进行,因此对于那些会错过的访问者可见的评论警告等比隐藏起来更好。
另一个观察结果:
对于问题隐藏的评论似乎比对答案的期望低得多。

答案的注释更常发出信号。
此外,由于存在评论,噪声对问题的危害更大可能会将最上面的答案从页面上推开(而不是提出问题的较低答案)。

我们没有放弃这一点,因为内部信念很多我们可以在这里做得更好,但是这种特殊的实现方式使我们在盈利还是亏损方面都存在分歧。
我们会及时通知您。

#3 楼

谢谢大家的反馈!我想提出一些调整,以解决到目前为止提出的一些问题:

我们需要Top N

疯狂的评论数量显然我们需要某种限制因素。前5名(元数据上的15名)在显示正确数量的评论方面表现不错,尽管我认为它并不总是选择最佳评论。 voretaq7编写了一个查询,该查询按重量排序注释。查看带有一些长注释线程的查询,并考虑必须单击链接才能看到第6条及其后的注释。

宽限期

令我感到困扰的是N个顶级系统,因为它们不会显示新评论,也没有太多机会被显示。这是财富浓缩的一个很好的例子。这就是为什么我设计权重系统以显示至少每天一则评论的原因。但是在我写下问题后,我开始考虑“出庭”的概念。如果宽限期与权重系统的其他部分相关,则在决定命运之前,有些评论将持续一天,另一些则持续9天。那不完全公平。 (尽管公平并不是此功能的主要目标。)

包含年龄也使实现比应有的复杂。因此,我建议将每个评论的宽限期设为7天,而不是将年龄作为体重计算的一部分。足够长的时间才能使良好的评论收集他们有资格永久显示的投票。因此,权重因子仅是upvotes和长度。

要明确,宽限期应覆盖前N个条件。如果评论少于一周,则无论线程中有多少评论,都会显示该评论。这意味着有时会有一些巨大的评论块,但它们不会持续超过一周。

不要只隐藏一条评论

单例注释与较长的注释块略有不同。该提案的目标之一是提高信息密度。如果只有一条评论,则此行几乎没有内容:


添加/显示1条评论


就密度而言,最好改为显示以下内容:


尝试ulimit -s。如果不是无限的,请使用ulimit -s unlimited设置堆栈段大小。 – Jon Ericson 3月15日,0:02


甚至:


欢迎来到Stack Overflow,谢谢您的建议! – Jon Ericson 4月18日15:35


无需用几乎无内容的链接代替可能有用的评论。如果我们怀疑所有注释中有一半是有用的,那么隐藏双注释也可能没有意义。正如Esoteric Sc​​reen Name所展示的,如果将帖子中的隐藏算法的调用阈值设置为2条评论,我们仍然会隐藏很多内容。

评论


我将展开“不隐藏仅一个注释”到“不隐藏仅N个注释-基本上总是显示前N个”。加权算法在挑选“最有趣的”注释时当然并不完美,但是在所有情况下,已经看过(甚至是低流量),这真是太好了。 (在我对SF 5的戳记中,N似乎是一个不错的选择-减少N经常会丢失信号,增加N几乎总是会增加噪声。)这不会“减少噪音”(这对隐藏前N个也是很大的好处) ),但它确实大大改善了我们现在的功能。

–voretaq7
13年7月7日在21:58



(在我自己的评论中,我主要关心的是可能无法超过权重阈值的“有见识”评论-“在FooOS 11上,该命令是frotz,而不是lor脚”-长度为+2,假设投票为+5赋予它长期的权重7,因此即使获得了有用的信息,它也会过时)

–voretaq7
13年11月7日在22:06



RE:如果您看到评论数量疯狂的帖子...对此有两种想法:(1)可以认为,具有疯狂投票数量的帖子也可能具有疯狂的评论数量; (2)为什么这里要依靠某种算法?为什么不让主持人来清理它呢?似乎人类可以弄清楚哪些评论是多余的,哪些应该作为对话的一部分而持久。 (例如,使用有关于stackoverflow和Best。Answer。Ever!的最有信息的答案,例如–如果注释变得“太多”,则选择其中一个并删除另一个。)

–J.R.的意思是“恢复原状”
2013年12月13日10:46



@父亲:为“不要只隐藏一条评论” +1。实施了吗?我相信我仍然会看到“显示1条评论”链接,但这些链接并没有节省太多空间。 (2)我担心低能见度问题会怎样。如果一个问题在十天内仅获得五次意见,那么对所有评论进行处罚就不会得到很多选票,这似乎是不公平的。

– G-Man说“恢复莫妮卡”
2015年12月22日12:10



#4 楼

在查询中摆弄一些SQL-这个显示了计算的权重和注释因子(按权重排序,然后是创建日期)。

结果中的前N行将显示(其中N = 5用于主要站点,15用于meta)-当多个注释包含以下内容时,我将“创建日期”用作平局决胜值相同的重量。其他所有内容都位于“查看/添加更多评论”链接的后面。


TODO(适合有野心的人):使用决胜局算法。
比创建日期更好的决胜局。
修改后的“权重”(仅求和,长度,年龄)也可能很好。

#5 楼

这里似乎有两个目标:更好地自动识别可以隐藏的评论,并减少立即可见和冗长的评论链的发生。

正如David Fullerton和McNab指出的那样,隐藏潜在的帮助没有正当理由的信息是有害的,并且会挫败第一个目标。另外,用户很懒惰(当然这是肯定的),单击“显示评论”链接非常费力。因此,我认为隐藏93%的评论过于激进。

我建议修改算法以根据要求隐藏评论,但也建议仅在主持人帖子中至少包含X条评论时(要求#评论> X)。例如,一个月大的20个字符的注释(无投票)得分为0,将被隐藏。但是,如果它是对帖子的唯一评论,则完全没有理由不显示它。

这里的查询显示仅当评论数>评论阈值时隐藏评论的效果。结果:

评论阈值::隐藏的评论


0 :: 22,517,301
1 :: 19,708,413
2 :: 15,785,016
3 :: 12,406,656
4 :: 9,507,576
5 :: 7,265,864

使用建议的基于点的算法,并要求至少6条评论(远距离平行到目前的Display-top-5投票方法)仍比SO上的隐藏评论数量增加了一倍以上,并且隐藏有用内容的风险要小得多。

作为参考,在SO上具有给定评论数的帖子数(包含在SEDE查询中):

num_comments post_count 
------------ ---------- 
0            8366059    
1            2997669    
2            2093611    
3            1207316    
4            777295     
5            481583     
6            318893     
7            205312     
8            135030     
9            89170      
10           59728 
...


#6 楼

什么时候隐藏评论?我认为...

永远不要隐藏所有评论

评论是一种平衡不准确或有争议帖子的方法。提出问题时,评论的内容可能会影响帖子的投票,因为它提出了未解决的问题。但是,我不认为仅发表评论会对帖子产生负面影响。

始终显示前两个

始终显示前两个,因为它为该主题设置了基调随后的“线程”。我知道Stack Exchange不是论坛,但评论似乎遵循该路径,其中作为评论父级的帖子(问题或答案)是线程的开始。

应用您的指标得出前两个指标中的任意一个指标,以得出另外2个摘要。

得分为19分,投票上限为10(最大),内容长度为上限9(最大)-“天数”指标没有售出。选取点数大于1的注释集,按总表决顺序排序,然后按发布日期降序排列(从最旧的开始),然后再显示其中的2条。

隐藏其余部分

使用“添加/显示更多评论”链接隐藏其他所有内容。

摘要

采用前2条,添加2条合格评论,然后隐藏其余评论。 br />

#7 楼

我不能为此编写一个查询(足够多的SQL-fu),但是它应该不难实现:

为什么默认情况下不隐藏长时间的对话?我已经看到这些情况的发生,而且它们似乎也产生了评论投票,并且使答案区域变得混乱。

如果2位用户的评论超过3条,则彼此回复,将其隐藏全部(也许除了被投票最多的人之外)


为什么一般不给予评论答复更多的权重/点?对于他们来说,在包含有用信息后似乎很常见。特别是OP的答复,除了可能排除以“谢谢”开头和/或包含单词“ updated” /“ edited”的答复。理想情况下,应将这些内容合并到帖子中,但我们无法实现自动化。

评论


您如何区分无用对话中的答复与对澄清请求的答复或对OP的“答复”(对他们的答复进行更正)之间的区别?

–亚当·李尔♦
13年11月6日在18:50

@AnnaLear \ @对OP的回复被排除在外,除非在长时间的交谈中,否则OP的\ @回复被排除在外。虽然那有点笨拙。

– Manishearth
13年11月6日在19:02

有趣的是,我考虑过增加对其他人的答复的评论。经过反思,我不确定回复和直接评论之间是否有太大区别。 (此外,由于有多余的字符并没有真正增加内容,因此答复的权重​​也会有所提高。如果不花钱又困难,我可能会发现从长度计算中删除这些字符是一项后续调整。)

–乔恩·埃里克森
13年11月6日在19:11

@JonEricson关于反思,这更有意义。更有意义。掉头的时间:P我考虑的大多数情况下,我考虑的少数案例实际上是多数案例。

– Manishearth
2013年11月6日19:15



我一直在考虑长时间的评论讨论,实际上我更喜欢以下几种方法:为主持人提供一个工具,以将评论迁移到聊天室。

–乔恩·埃里克森
13年11月7日17:49



@JonEricson是的,但是已经有6-8个星期了:/

– Manishearth
13年7月7日在17:52

@JonEricson另外,有时我看到讨论在6条左右的消息中结束。事实之后,让他们聊天变得毫无意义。此外,在像SO这样的网站上,对大多数mod来说,审核评论是最后的优先事项。

– Manishearth
13年7月7日在17:54