博客质量分计算(三)——发布 version 4
新算法的重点是使归一化后的分数曲线不那么陡峭。我们在归一化算法中,引入了加权求和的指标数目,使其先约束在一个有限范围内,使得未来加入的新因子,也可以自动的产生平滑的分布。
动机
近一段时间集中发现了一些博客质量分的异常案例。主要有这么几个类型:
- 部分指标明显有问题,但是质量分得分仍然很高
- 有些文章人工阅读可以发现有明显的质量区别,但是实际得分却很相近,甚至相同。
分析发现,主要是在逐次的迭代过程中,过去的归一化策略已经不太适用。这个问题,简单的说,要从质量分的结构说起。
质量分最初设计为一个提供给下游算法的中间服务,它生成的是一个(0, 1)之间的浮点数。这个浮点数是由一组指标分数加权求和之后,先做归一化,然后用一组乘法因子求积(通过这种方式将一些明显的坏样本压低分数)。
最后,为了提供给终端业务使用,做了一层离散化处理。将这个浮点数处理为0到100分的整数。
对问题数据的采样分析发现,第一个现象主要是因为,最初设计质量分算法时,各权重因子系数很规范的设计为总和等于1,这样归一化可以做的非常简单,实际上我们将其放大后,再利用AI工程里常用的sigmoid函数做平滑,使其尽可能向 0 分和满分两端靠拢——这是为了实现神经网络的点火行为,毕竟这个算法最初是希望成为某个神经网络的一部分。
但是随着业务发展,计算指标经历了几次调整,权重系数本身已经不再是一个总和为1的集合。这使得过去的归一化算法失效。这就导致了第一类问题的出现:虽然在某些指标上拿了很低的分数,但是因为分数总和超过了设计范围,它最终得分仍然很高。同时,一些文章和文章之间,在做归一化之前的中间分数差异较大,但是经过归一化处理之后,集中在很近的区间。
如上面这个例子,使用sigmoid归一化后,9和10只有小数点第四位之后才能看出差异,对于更大的数字,例如到三四十以上,就几乎要超出浮点数的有效范围了。因此,虽然这个算法可以接受整个实数域,但是离原点过远的值,就失去了意义。同时,在值域两端,即高分区和低分区,数据会过于密集,再经过离散后,就变成了同样的分数。
同样,由于在计分过程中有多次归一化操作,会造成一些重要指标没有体现出足够的权重,使得一些阅读体验还算正常的文章没有得到足够高的分数。因此我们对博客质量分做了一些技术化调整。
第四版
这个调整过程重点是使归一化后的分数曲线不那么陡峭。我们在归一化算法中,引入了加权求和的指标和本身,使其先约束在一个有限范围内,使得未来加入的新因子,也可以自动的产生比较理想的分布。使其更为健壮。
其次,我们经过试验,挑选了更为更平滑的归一化函数,使得最终得分不过度堆积在两端,这本身也体现了质量分算法的应用目标调整。
当然,这也会表现出一个新问题,按照过去的标准,高分博客变少了,我们会在统计新算法的分数分布后,设定一个适合新算法的分段标准,对“优秀”的标准做一些下调。
目前我们还在统计历史博客在新算法上的分布,我猜测新算法也会造成“质量较差”的文章更少,但是对相关标准的调整,我的态度是尽量保守一些,目前来说,此类文章的甄别更依赖惩罚因子。
更多推荐
所有评论(0)