1 Reddit

Reddit的排名算法:

1、文章的发表时间t

t = 发表时间 – 2005 年 12 月 8 日7:46:43

在上一篇 Hacker News的文章中,用来标注文章新旧程度的单位为小时,而Reddit的单位为秒,其使用Unix时间戳(从1970年1月1日到当前时间的秒数)进行的计算,代码中的1134028003代表的日期为2005 年 12 月 8 日7:46:43。这个应该是Reddit这个网站的上线时间。通过上面的公式可以看到一旦帖子发表,t就是固定值,不会随时间改变,而且帖子越新,t值越大。

发表时间和话题排名的影响可以被概括如下:

  • 发表时间对排名有很大影响,该算法使得新的话题比旧的话题排名靠前
  • 话题的得分不会因为时间的流失而减少,但是新的话题会比旧的话题得分高。这与 Hacker New 的算法不同 (随着时间的发展降低话题的得分)

下图展示了话题得分在好评和差评的数量不变时,随着时间而变化的情况:

2、赞成票与反对票的差x

x = 赞成票 – 反对票

真是由于Reddit提供了投反对票的功能,所以可以使一些具有争议的话题会排的较后,下图展示了在好评和差评不变时,随着时间而变化的情况:

3、投票方向y

y 是一个符号变量,表示对文章的总体看法。如果赞成票居多,y就是 +1;如果反对票居多,y就是-1;如果赞成票和反对票相等,y就是0。y是文章评价的一种定性表达,0表示没有倾向,大于0表示正面评价,小于0表示负面评价。

4、帖子的受肯定程度z

z 表示赞成票超过反对票的数量。如果赞成票少于或等于反对票,那么z就等于1。

结合以上几个变量,Reddit 的最终得分计算公式如下:

这个公式可以分成两个部分来讨论:

1、logZ

这个部分表示,赞成票超过反对票的数量越多,得分越高。 需要注意的是,这里用的是以 10 为底的对数,意味着z=10可以得到 1 分,z=100可以得到 2 分。也就是说,前 10 个投票人与后 90 个投票人(乃至再后面 900 个投票人)的权重是一样的,即如果一个帖子特别受到欢迎,那么越到后面投赞成票,对得分越不会产生影响。而当反对票超过或等于赞成票,z=1,因此这个部分等于0,也就是不产生得分。

Reddit 的热排序算法使用了对数函数来衡量前面的投票与其他投票的差距使其前十个好评和之后的100个,1000个投票有相同的权重。 参见下面的图:

如果不采用对数,而使用线性函数的效果如下:

Reddit敢于如此消弱投票的作用,其实与其庞大的流量和用户参与度相关。如果没有以上因素算法很难实现很好的推荐。

2、yt/45000

这个部分表示,t越大,得分越高,即新帖子的得分会高于老帖子。它起到自动将老帖子的排名往下拉的作用。 分母的 45000 秒,等于 12.5 个小时,也就是说,后一天的帖子会比前一天的帖子多得 2 分。结合前一部分,可以得到结论,如果前一天的帖子在第二天还想保持原先的排名,在这一天里面,它得到的净赞成票必须增加100 倍。

y 的作用是用来产生正分和负分。当赞成票超过反对票时,得分为正;当赞成票少于反对票时,得分为负;当两者相等,得分为0。这就保证了得到大量净赞成票的文章,会排在前列;得到大量净反对票的文章,会排在最后。投票对于总分的贡献不大,但是当投票的意见倾向发生变化时(由正面评价转向负面评价),投票对于总分的作用却是决定性(Y的取值)。

【算法】热度排行算法相关推荐

  1. 【热度排行】热度排行算法

    热度排行算法: 点击热度*权重+时间衰减*权重 reddit

  2. 经典算法书籍推荐以及算法书排行【算法四库全书】

    经典算法书籍推荐以及算法书排行[算法四库全书] 作者:霞落满天   https://linuxstyle.blog.csdn.net/    https://blog.csdn.net/21aspne ...

  3. 设计一个属于自己的内容热度值算法

    前言 在产品.运营这次做社区改版的过程中,我们大数据部门结合具体的业务细节,通过研究.讨论与试错,最终设计了一个基本符合需求的内容热度值算法,本文就简述其设计方法. 他山之石 有为数很少的几家外国公司 ...

  4. php做热度推荐算法,基于Hacker News的内容热度推荐算法

    推荐算法 因子用户活跃度(以积分的形式) 浏览量 点赞数 收藏数 评论数 分享数 时间衰减 平台编辑推荐(人为因素介入干预) 基本原理推荐指数/热度 = 初始热度 + 互动热度 - 随时间衰减的热度 ...

  5. 广告算法和推荐算法有什么异同?

    广告算法和推荐算法可以说是不同应用场景下的算法体系,而两者在广告推荐这个场景下是存在一定的交叉. 广告系统的投放过程除了有推荐的场景,还有搜索和指定定向的场景.而推荐系统针对内容分发也可区分为广告推荐 ...

  6. CDO如何盘点算法、推动算法业务增长

    在数字经济时代,算法对企业业务增长至关重要,是企业进行数字化转型.构建竞争优势的关键.IT工程师或数据分析师可能会将算法描述为一组由数据操作形成的规则.而从业务价值方面考虑,算法是一种捕获商业机会.提 ...

  7. 条件随机场(CRF) - 4 - 学习方法和预测算法(维特比算法)

    声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,由于本人在学习初始时有很多数学知识都已忘记,所以为了 ...

  8. SURF算法与SIFT算法的性能比较——图像特征点检测与提取算法分析

    图像特征点提取算法的算法研究(SURF和SIFT算法) 1. 摘要 计算机视觉中,很大一部分研究集中在图像特征提取和特征生成算法上.对图像的优化,不同于一般数学问题的优化方法,图像的优化是对像素点,在 ...

  9. 数据结构与算法(5)字符串(BF算法、KMP算法及KMP算法优化)

    目录 一.BF算法(暴力算法) 二.KMP算法 三.KMP算法优化 一.BF算法(暴力算法) 一个一个往后匹配,匹配失败继续从母串下一个和头(子串的头)往后继续匹配. 虽然简单,但是需要较多的时间复杂 ...

最新文章

  1. iOS 开发各种传值
  2. checkbox反复调用attr('checked', true/false)只有第一次生效
  3. ListElement QML类型
  4. 飞桨模型保存_史上最全解读|飞桨模型库重大升级,主流算法模型全覆盖
  5. String、StringBuffer和StringBuilde的区别
  6. angularjs 表单验证 和 页面初始化闪烁
  7. Web开发中你注意这些前台开发问题了吗?(前台构架篇)
  8. 麦马计算机科学 UBC工程,2020年UBC文书题目
  9. 中柏平板触摸驱动_要成绩也要玩乐,聊聊学生买平板那些事儿
  10. 要搞懂 volatile 关键字,就靠这 26 张图
  11. 父与子的python之旅_《父与子的编程之旅:与小卡特一起学Python》作者:Warren Sande - kindle电子书下载 - 我的书库...
  12. 造价120万人民币,日本这款美女机器人是你梦寐以求的机器人老婆吗?
  13. 人人都有个Handler原理讲解
  14. win10文件服务器ssd当缓存盘,Win10怎么启用设备上的写入缓存|提高固态硬盘性能方法...
  15. 新生儿取名:撩人于无形的女宝宝名字,任你挑选
  16. 使用uniapp做海报的坑
  17. 探索不同的文件教案计算机,小学三年级信息技术教案范文
  18. scite自动检测文件编码
  19. 基于景观智慧路灯的智慧景区系统集成解决方案
  20. PM进阶之路 | 用户端产品设计

热门文章

  1. DOS批处理高级教程(还不错)(转)
  2. 2k2实用球员_《NBA2K18》低价实用球员推荐汇总 有哪些高性价比球员
  3. 怎样计算机科学导论答案,计算机科学导论相关论文题目 计算机科学导论专业论文题目怎样拟...
  4. docker常用命令精简版
  5. 在PostgreSQL中实现按拼音、汉字、拼音首字母搜索的例子
  6. hive时空链战_链战 (Chain Strike)
  7. 无线网的服务器和断口是什么,wep和wpa是什么意思(附wep和wpa的作用分析)
  8. 小米升级后开机显示无服务器,小米手机升级后无法开机解决方法
  9. 2021-01-22 C#调用OpenCV开发美图工具
  10. 解决小米,魅族手机打开悬浮窗口问题