常用排序方法总结-非个性化

背景

给用户挑选全站的优质内容,往往需要针对某一些特征来做排序。总结一下常见的排序方法。

特别说明,今天讨论的排序方法不涉及个性化模型,不涉及冒泡排序等具体的排序效率方法,仅从业务层面讨论可以使用的策略。

主要涉及到影响排序的有两点:

1、用哪些数据:包括,哪些用户,多长时间,哪些行为等

2、怎么样计算:惩罚,扶持,组合,拆分等

具体描述

1、直接按照原生的统计得到的特征数值,从小到达或者从大到小排序。

比如:视频按照视频清晰度排序,作者按照粉丝数排序等。

2、多个特征线性融合

比如,特征 有点赞跟点踩。score=1*点赞数+(-2)*点踩数

3、算比例,按照率排序

方法一:(正向特征数-1)/ (总的特征数+1 )

为什么分母+1:防止分母为0

为什么分子-1:防止作者自己刷,去除作者自己的投票

方法二:威尔逊置信区间下界限 (来自阮一峰博客

威尔逊置信区间,一般取下限

方法三:贝叶斯平均阮一峰博客

贝叶斯平均

3、考虑时间问题

方法一:Hacker News使用的方法(详情见阮一峰博客

其中,

P表示帖子的得票数,减去1是为了忽略发帖人的投票。在其他条件不变的情况下,得票越多,排名越高。

T表示距离发帖的时间(单位为小时),加上2是为了防止最新的帖子导致分母过小(之所以选择2,可能是因为从原始文章出现在其他网站,到转贴至Hacker News,平均需要两个小时)。在其他条件不变的情况下,越是新发表的帖子,排名越高。或者说,一个帖子的排名,会随着时间不断下降。

G表示"重力因子"(gravityth power),即将帖子排名往下拉的力量,默认值为1.8,它的数值大小决定了排名随时间下降的速度。

方法二:牛顿冷却定律详情见阮一峰博客

产品用研 2021-03-09
上一篇: 下一篇:

评论已关闭。