揭秘我烧网热文排序算法—artHot
解决问题
操作常量(A)
我烧网中用户对文章的操作包括添柴、泼水(添柴的逆操作)、分享和评论等。添柴、泼水是对文章最简单、最直接的表态:喜欢就添柴,不喜欢就泼水。其他的操作所对应的分数应该参考这两项操作。因此将添柴常量定为:
1,泼水常量定为-1。
A添柴=1
A泼水=-1
分享也是对文章的肯定。如果一个用户给一篇文章添柴,说明他喜欢这篇文章;如果用户分享这篇文章,说明他不仅喜欢这篇文章,还希望其他人也来看这篇文章。两者比较,分享是比添柴更为强烈的行为。因此分享应当比添柴得到更多的分,这里将其设定为1.2。
A分享=1.2
评论则是一个双面性的操作。用户可能为赞同某一篇文章而对其评论,也可能是由于非常反对文章中的观点而进行评论。经过反复思考和研究,我们发现当一个用户对某一篇文章持反对意见而评论时,其实这篇文章是更值得的,因为往往这类文章是那种容易引起争议的或者干脆就是那些最容易被炒火的内
容。从这个角度上看,无论是正面还是负面的评论,这篇文章都应该被,而且应该比添柴、分享有更高的度。所以我们将评论的操作常量定为1.5。
A评论=1.5
时间衰减率(T)
时间衰减率的核心问题就是让文章在多长的时间内衰减多大的比例。
一般来说,我们都希望网站上排在前面的内容是新的、热点的。但是这个“新”可以是一个小时以内,也可以是以内、一周以内。“新”应该视具体情况而定。访问我烧网的人通常是每天来看看有什么新鲜的内容,因此按天来衰减对于我烧网来说是比较理的。以t0表示文章的发布时间,t1表示当前时间,T应该是(t1-t0)的函数,即:
T=f(t1-t0),其中t0和t1以天为单位。
我们在参考了某网站的Digg版之后发现,即使是排在的文章,数也很难超过100;数最多也是100多,极少数的会在200以上,大部分在50~99之间。根据我烧网的文章量和用户量,我们推测文章的得分将很难超过100。
我们列举了一组数据:当t 1 - t 0=0 , 1 , 2 ,3,4,5,6,7,文章得分(D)=10,20,30,40,50,60,
70,80,90,100时,应该设计何种排序方式?
①同的文章t相等,所以D越大排名越靠前。
②同样的D,t1-t0越小排名越靠前。
③昨天的文章100分,今天的文章10分,20分,30分,40分,这个100分的文章应该还是排在前面。
④7天前的文章100分,今天的文章10分,20分,30分,40分,这个100分的文章应该排在中间。
①和②是最基本的原则,很好理解。③和④要解决的是前一个或前N个时间周期的超级热门和今天的一般热门是怎样的先后位置。
那么我们大胆设想了两个函数:
[1]
[2]
将(t1-t0)=0,1,2,3,4,5,6,7分别代入以上两式,得:
T = +, 1 , 1/2 , 1/3 , 1/4 , 1/5 , 1/6 [3]
图1 时间衰减率函数的模型图
T = +, 1 , 1/4 , 1/9 , 1/16 , 1/25 , 1/36 [4]
以上两列结果显然[3]更理,[4]让以前的超级热门也没有任何机会,是不理的。经过优化,我们需要把正无穷的结果剔除,最终得出:T =1/(t1− t0 +1)
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- 抖音卡(抖音卡顿怎么解决)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 地球日主题(2020年世界地球日主题)
- 和柳亚子(和柳亚子先生于田)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 郭妮小说(恶魔的法则郭妮小说)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
- 常州天宁寺(常州天宁寺求什么灵验)
- 河源巴伐利亚(河源巴伐利亚庄园)
