百科问答小站 logo
百科问答小站 font logo



类似微博的 feed 热度算法如何计算? 第1页

  

user avatar   kenbin 网友的相关建议: 
      

A 为某篇文章的具体发布时间,精确到秒;B 为一个固定的时间常量,2008-12-01 00:00:00。则可以计算得到 A 和 B 间隔的秒数 ts。

ts=A-B

M表示某篇文章的来自于微博客的推荐次数,R代表来自于阅读器分享的分享次数,D代表来自于网摘收藏的次数。引入不同权重因子,则可以计算得到变量Z:

Z=M*3+R*1+D*0.8

最后定义 SRRank 公式为,

SRRank=log10Z+ts/45000

参数注解基本和Reddit一样,不同的就是没有反对票:

1)时间点 B,2008-12-01 00:00:00,是一个固定的值。ts 反映了文章的新鲜程度。引入 B 是一个非常优雅的技巧,它使得新鲜度的度量可以独立于系统当前时间。

2)45000 代表的是一个 12.5 小时周期内的总秒数。它 与 ts 一起使用,随着时间的推移,新文章的得分会逐渐超越高投票数的老文章,从而实现自动更新的效果。

3)log10 的使用是另外一个技巧,它可以使得早期的投票获得更大的权重。比如,前 10 票获得的权重,与 11 到 101 票所获得的权重是一样的。


cnblogs.com/zhengyun_us



可以关注一下郑昀的博客。




  

相关话题

  那些35岁以上的产品经理都去做什么了? 
  从一读到一亿需要读多少个汉字? 
  如果“P=NP”得到证明,意味着什么? 
  蒙特卡罗算法是什么? 
  有哪些移动应用是因为功能做的太多太杂而逐渐衰亡的? 
  哪本《数据结构与算法》最好? 
  如何统计拓扑排序的个数? 
  没有经验的应届生,应聘产品运营/经理成功的机率大吗? 
  如何正确地用 Test Driven Development 实现算法? 
  如何证明快速排序法的平均复杂度为 O(nlogn)? 

前一个讨论
如何看待俄罗斯核能科学家使用超算挖比特币被抓?
下一个讨论
一个凸五边形中,已知五条边边长,如何求其最大面积?





© 2025-04-26 - tinynew.org. All Rights Reserved.
© 2025-04-26 - tinynew.org. 保留所有权利