Reddit 评级算法的工作原理

原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python-with-elementtree/

译者: Tiezhen WANG

这篇是 Hacker News 评级算法的工作原理 一文的姊妹篇。这回主要讲的是 Reddit 是如何对话题和回复进行排序的。Reddit 的评级算法本身是非常容易理解和实现的,这里我想做深入一些的探讨。

第一部分主要是对话题排名的讨论,比如 Reddit 是如何对话题进行排名的。接下来是评论排名的讨论,Reddit 对话题和评论使用了不同的评级算法 (这一点跟 Hacker News 不太一样), Reddit 的评论排名算法是很值得玩味的,它由 Randall Munroe (xkcd 的作者) 提出.

从话题排名算法的实现说开来

Reddit 公开了他们的代码,很方便就能找到。Reddit 是用 Python 实现的,源代码在 这里. 排名算法使用了 Pyrex (一个用来写 Python 的 C 扩展的语言) 来提高性能。这里为了方便说明,我用 Python 写了 他们的 Pyrex 代码.

这个算法被称作热排名 (hot ranking),代码如下:

Reddit 评级算法的工作原理相关推荐

  1. 车牌识别OCR算法的工作原理

    车牌识别在停车场系统中的工作原理 1.车辆查看:可采用埋地线圈查看.红外查看.雷达查看技术.道闸视频查看等多种办法感知车辆的通过,并触发图像搜集抓拍. 2.图像搜集:通过高清摄像抓拍主机对通行车辆进行 ...

  2. 模糊算法的工作原理,模糊算法和神经网络

    神经网络算法原理? 神经网络预测学习样本中的驾驶行为特征. 如图显示了某个驾驶场景的行驶路径深度学习训练,通过神经网络可以学习驾驶人的行为,并根据当前获取的环境信息决策行驶轨迹,进而可以控制车辆的转向 ...

  3. 网站排名算法——Reddit 排名算法工作原理

    Reddit是个社交新闻站点,其口号是"提前于新闻发生,来自互联网的声音".用户(也叫redditors)能够浏览并且可以提交互联网上内容的链接或发布自己的原创帖子.其他的用户可对 ...

  4. 【图像处理】图像锐化的工作原理和算法实现(matlab实现)

    实验目的 1.掌握一阶锐化算法的工作原理和算法实现. 2.掌握二阶锐化算法的工作原理和算法实现. 实验内容 测试图片 链接: https://pan.baidu.com/s/1-7zn44maHCCI ...

  5. 路由器和交换机工作原理

    路由器工作原理 路由器:三层设备,同时基于二层设备工作 当数据包进到路由器时,首先查看的是二层报头(查看的是目标MAC) 目标MAC分为三种:广播,组播,单播 广播地址 解封装到三层报头 组播地址 每 ...

  6. LVS的工作原理和相关算法

    首先我们要了解LVS的工作机制: LVS里Director本身不响应请求,只是接受转发请求到后方,Realservers才是后台真正响应请求. LVS 工作原理基本类似DNAT,又不完全相像,它是一种 ...

  7. DL之DNN之BP:神经网络算法简介之BP算法/GD算法之不需要额外任何文字,只需要八张图讲清楚BP类神经网络的工作原理

    DL之DNN之BP:神经网络算法简介之BP算法/GD算法之不需要额外任何文字,只需要八张图讲清楚BP类神经网络的工作原理 目录 BP类神经网络理解 1.信号正向传播FP 2.误差反向传播BP+GD B ...

  8. 人工神经网络的算法原理,深度神经网络工作原理

    AI是否可以被精神分析?人工智能运行的基础原理到底是什么? AI不可以被精神分析,人工智能的工作原理是,计算机使用传感器(或人工输入),将收集有关一个场景的事实.计算机将把这些信息与已经存储的信息进行 ...

  9. 企业级别应用--GFS分布式文件系统(GlusterFS工作原理、弹性 HASH 算法 、GlusterFS卷的类型、 部署GlusterFS)

    文章目录 一. GlusterFS 概述 1.1 GlusterFS 简介 与传统分布式相比的优点 1.2 GlusterFS 的特点 扩展性和高性能 高可用性 全局统一命名空间 弹性卷管理 基于标准 ...

最新文章

  1. 又一篇硕士论文火了!高校硕士论文研究“董明珠自恋及其经济后果”
  2. TNS-12518 Linux Error:32:Broken pipe
  3. python测试用例管理工具_三款开源测试管理工具推荐
  4. python语法_嵌套
  5. EasyUI的combobox用法
  6. logback日志模板与详解
  7. LeetCode中常用语言的一些基本方法记录
  8. Codeforces Round #640 (Div. 4)(ABCDE)
  9. 七个帮助你处理Web页面层布局的jQuery插件
  10. rabbit和mysql事务_分布式事务原理及SpringBoot整合RabbitMQ实现可靠事件,TCC事务模型及接口幂等性...
  11. freecplus框架-tcp网络通信
  12. AS3利用AMFPHP与PHP进行通讯
  13. 存储过程别忘了写最后一句话,别忘了类型转换
  14. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_6_字符输出流写数据的其他方法...
  15. equalizer android,全球最佳十大安卓均衡器
  16. matlab转置与共轭转置
  17. CAD 绘图如何有效的控制精度?
  18. 严格约束选股条件 能否找到跑赢市场的好公司?
  19. python提取图片中的数字_用Python-OpenCV从车牌图像中提取数字和字母
  20. 大型网站技术架构:核心原理与案例分析

热门文章

  1. ios sandbox
  2. Instance Object
  3. 三道简单算法题(二)
  4. 批量生成zabbix screen xml file
  5. FLEX4 在组件中自定义ToolTip样式
  6. TypeScript--函数
  7. 企业无线网演进 2.4GHz或被5GHz频段取代
  8. noip2015day1 T1 4510 神奇的幻方
  9. iOS 网络编程(二)
  10. 常见排序算法:冒泡排序