十张图带你领略知乎答案排序算法之美
上一篇文章——知乎核心功能:问答 中写到了知乎对单个提问下回答的排序,采用威尔逊算法。但文中缺少对公式的定量分析解释。本文将对公式进行详细阐述。
首先分析单个知乎单个回答下投票的特点:
1.只有赞同和反对两个选项。(设赞同数=u,反对数=v,总票数n=u+v)
2.用户之间投票行为独立。
3.当投票量增加的时候,样本赞同率p(p=u/n)逐渐趋近总体赞同率(n等于无穷大时候的u/n)。
很显然,用户的投票是二项分布。 根据投票,可以计算出赞同率,并且根据赞同率排序所有回答。当总投票数较少时,样本赞同率可能与总体赞同率差别较大,直接用样本赞同率排序可能带来一定的误差。为了更好的修正小样本下的样本赞同率,引入威尔逊公式。经过公式修正后,赞同率将会更加准确。
威尔逊公式:
威尔逊公式函数共有u,v,z三个变量。其中z为可调节的参数,u为赞同数,v为反对数。
不妨设置z=1,绘制score随u,v的变化情况。(z对score也有影响,后文将会分析)
z=1时,score随u,v的变化情况由威尔逊公式计算得出的score,与赞同率(p=u/n)相差多少?
z=1 时候score与p的差值,明显展示了修正效果由图可知:
(1)当总票数较小的时候,获得赞同的答案,得分score会迅速增加。总投票数越多,赞同票对得分score的影响越小。同时,投票数较多,得分score较高的答案,开始获得反对票时,得分会快速下降。得分score越低,下降速度越慢。
(2)score的取值范围为(0,1),且与投票总数无关。(旧算法中,score=加权赞同-加权反对,不同问题之间得分差别较大,无法横向比较)
(3)n越小,威尔逊算法的修正效果越强.。
那么威尔逊区间有多宽?
威尔逊区间公式取z=10,计算区间宽度。(z取其他值时,绘制出的图形也类似。)
z=10时,威尔逊区间宽度由图得知,样本数量越小,置信区间就越宽。样本数量越大,置信区间则越窄。
z对score有什么影响?请看对比图。
z=1时,u,v对score的影响 z=5时。u,v对score影响 z=10时,u,v对score影响。 z=1,5.10时,u,v对score的影响z越大,score的曲线越平缓,等高线密度越小。对当总票数较小的时候,获得赞同的答案,得分score增加速度将减缓。同时,投票数较多,得分score较高的答案,开始获得反对票时,得分下降速度也将减缓。
接下来看z不同的情况下,score与p的差值。
总的来说,Z越大,威尔逊算法的修正效果越强。
新算法有什么影响呢?
1.争议性较强的回答将被抑制。类似的情况包括:
(1)抖机灵爆照但没有帮助
(2)煽动性较强但没帮助
(3)大v用户的低质量回答和攻击性回答
(4)争议性话题下的优质回答。(虽然回答很精彩,引发大量讨论,但由于问题争议性较强,从而得到的赞同和反对都很多。)
对(1)(2)(3)前三者的抑制,有利于整个社区的氛围。 (回答只取决于赞同比,抖机灵却无帮助的回答,自带很多赞同和很多反对。在回答排序上,大v效应不再明显。只要问题没有帮助,就会被放置在靠后的位置上。)
对于(4)类型的回答,按照赞同比排序就未必合理了。举例来说,前几天知乎上很火的一个问题“为什么有的女性讨厌生孩子”下面的一条回答得到了大量的讨论和点赞:评论1w+,赞同4w+;这条回答在微博转发8w+,在当天转发量最大。可是根据知乎的算法,这条引发大量讨论的回答,得到了海量的传播,但却被放置在非常不显眼的位置。而置顶的回答,点赞数和评论数都寥寥无几。
对于这种情况,调节参数z意义似乎不很大:算法排序基于赞同率,就算z再大,这条最火答案也会被放置在不显眼的位置。那么这类问题下回答该怎么样排序呢?这或许又是另外一个问题了。
2.普通用户也许更愿意答题了。
新算法按照赞同比排序。如果大v的回答没有帮助,即使出场自带500赞,反对票也很快会让答案下沉。这对于认真输出回答的普通用户是一个正向的激励。(旧算法下,辛辛苦苦认真答题的知乎小透明,即使生产出优质的答案,也可能被放置在大v抖机灵答案的后面。而新算法下,赞同率高的答案会随着赞同快速被置顶。)
3.专业领域下大v的作用更明显了:
新算法本就加强了投票对答案排名的影响,高权重大v的投票则会更关键。大v一票可能相当于普通用户N票。权重是分领域的而不是全局权重,而用户在某个问题下的权重,是根据他过去在相关问题下的回答得到的赞同,反对和没有帮助票来计算的。
这增强了专业性领域下问题中端回答的质量,让专业领域下大v的作用更明显。
4.答案更符合知乎调性了。
通过用户投票筛选回答,能够筛选出更符合符合知乎调性的回答。这让知乎用户更爱看了。
但符合知乎调性,并不一定代表客观。特别是对于一些小众领域、专业领域。符合知乎政治正确却不恰当的回答,可能会被置顶,而正确的回答可能会被放置在不明显的位置。(之前写快手产品分析的时候去知乎查资料,很希望看到一些客观的讨论,但发现符合知乎政治正确,却倾向性非常强的答案放置在顶端,而较为客观又干货满满的回答被放置在底端。)一方面来说,这讨好了更多的用户;但从另一方面来说,又伤害了输出小众专业内容的用户。
总的来说,修改后的算法利大于弊。
本文为上一篇简书文章——【知乎核心功能:问答】的补充。阅读上一篇请摸我