精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Reddit排名算法工作原理

開發 后端 前端 算法
這是一篇繼《Hacker News 排名算法工作原理》之后的又一篇關于排名算法的文章。這次我將跟大家探討一下Reddit的文章排名算法和評論排名算法的工作原理。Reddit使用的算法也是很簡單,容易理解和實現。這篇文章里我將會對其進行深入分析。

 

這是一篇繼《Hacker News 排名算法工作原理》之后的又一篇關于排名算法的文章。這次我將跟大家探討一下Reddit的文章排名算法和評論排名算法的工作原理。Reddit使用的算法也是很簡單,容易理解和實現。這篇文章里我將會對其進行深入分析。

[[83916]]

首先我們關注的是文章排名算法。第二部分將重點介紹評論排名算法,Reddit的評論排名跟文章排名使用的不是同一種算法(這點跟Hacker News不一樣),Reddit的評論排名算法非常有趣,它是由xkcd的作者Randall Munroe發明的。

深入研究文章排名算法代碼

Reddit的源代碼是開源的,你可以下載它的任意代碼。它是用Python寫成的,代碼放在這里。里面的排名算法部分是用Pyrex實現的,這是一種開發Python的C語言擴展的編程語言。這里用Pyrex主要是出于速度的考慮。我用純Python重寫了他們的Pyrex實現,這樣更容易閱讀。

Reddit缺省的排名是’熱門‘排名,實現代碼如下:

  1. #Rewritten code from /r2/r2/lib/db/_sorts.pyx  
  2.  
  3. from datetime import datetime, timedelta  
  4. from math import log  
  5.  
  6. epoch = datetime(197011)  
  7.  
  8. def epoch_seconds(date):  
  9.     """Returns the number of seconds from the epoch to date.""" 
  10.     td = date - epoch  
  11.     return td.days * 86400 + td.seconds + (float(td.microseconds) / 1000000)  
  12.  
  13. def score(ups, downs):  
  14.     return ups - downs  
  15.  
  16. def hot(ups, downs, date):  
  17.     """The hot formula. Should match the equivalent function in postgres.""" 
  18.     s = score(ups, downs)  
  19.     order = log(max(abs(s), 1), 10)  
  20.     sign = 1 if s > 0 else -1 if s < 0 else 0 
  21.     seconds = epoch_seconds(date) - 1134028003 
  22.     return round(order + sign * seconds / 450007

這個“熱門“排名算法用數學公式表達是下面這個樣子(我從SEOmoz找到了它,但我懷疑他們未必是原作者):

reddit_cf_algorithm

文章提交時間對排名的影響

文章提交時間對排名的影響可以總結為以下幾點:

  • 提交時間對排名影響巨大,越新的文章排名會越高
  • 文章排名得分不會隨時間的流逝而降低,但新文章會比老文章獲得更高的分。這跟Hacker News的排名算法有很大區別,它的得分會隨時間流逝而降低。

下面是一個圖片,表現的是具有相同支持和反對的票數,但時間不同的文章的排名得分情況:

reddit_score_time

對數加強

Reddit在‘熱門’排名中使用了對數函數來強化前幾票的份量。基本是這個原理:

  • 前10個贊成票的份量和后面100個的份量,以及再后面1000票的份量是相同的,以此類推

下面是效果圖:

reddit_log_function

如果不使用對數加強,則分數會是這樣:

reddit_without_log

反對票對排名的影響

Reddit是少數幾個能投反對票的網站之一。就像你從代碼里看到的,一篇文章的的’得分‘定義如下:

  • up_votes – down_votes

這就是說,我們可以把它表現為下圖:

reddit_up_down

這種計算方式會對既有很的贊成票,又有很多反對票的文章(比如很有爭議的文章)帶來重大影響,它們可能會比那些只有很少贊成票的文章獲得更低的分數。這也就說明了為什么小貓小狗之類的帖子(以及其它無爭議的文章)會獲得如此高的評分。

#p#

對Reddit文章排名算法的總結

  • 提交時間是一項非常重要的指標,新文章比老文章得分更高
  • 頭10個贊成票的份量和后100個的份量相同。獲得10個贊成票和獲得50個贊成票的排名很接近
  • 具有相近贊成票和反對票數的有爭議文章會比只獲得贊成票的排名低。

Reddit評論排名算法工作原理

xkcd網站的Randall Munroe是Reddit網站上的‘最佳文章’排名算法的發明者。他寫了一篇很好的文章來解釋它。

你應該讀一讀這篇文章,它以很通俗的語言解釋了這個算法。這篇的文章的重點是:

  • ‘熱門‘排名算法對評論進行排名不是很有效,它會顯得對早期的評論過于偏愛。
  • 在一個評論系統中,我們的目的是找出最佳評論,不論它是什么時間提交的。
  • 1927年Edwin B. Wilson找到了一種很好的算法,被叫做”Wilson score interval”,它可以被用于“信任排序(the confidence sort)”
  • 信任排序把文章的獲得的票數當作全體讀者的一個抽樣統計——就像一次民意測驗。
  • 《How Not To Sort By Average Rating》這篇文章對這種信任評級算法做了詳細的解釋,絕對值得一讀!

深入分析評論排序代碼

Reddit里的信任排序算法是在_sorts.pyx這個文件里實現的,我用純Python重寫了它們的Pyrex實現(同時去掉了其中的緩存優化代碼):

 
  1. #Rewritten code from /r2/r2/lib/db/_sorts.pyx  
  2.  
  3. from math import sqrt  
  4.  
  5. def _confidence(ups, downs):  
  6.     n = ups + downs  
  7.  
  8.     if n == 0:  
  9.         return 0 
  10.  
  11.     z = 1.0 #1.0 = 85%, 1.6 = 95%  
  12.     phat = float(ups) / n  
  13.     return sqrt(phat+z*z/(2*n)-z*((phat*(1-phat)+z*z/(4*n))/n))/(1+z*z/n)  
  14.  
  15. def confidence(ups, downs):  
  16.     if ups + downs == 0:  
  17.         return 0 
  18.     else:  
  19.         return _confidence(ups, downs) 

信任排序使用Wilson score interval算法,它的數學表達式是這樣的:

wilsons_score_interval

在上面的公式中,各個參數的定義如下:

  • p是支持票的百分比
  • n總票數
  • zα/2是正態分布(1-α/2)分位數

我們對上面的介紹做一些總結:

  • 信任排序是把票數看作一次全體讀者的抽樣調查
  • 信任排序會給一條評論一個臨時評級,認為它有85%的可信度
  • 票數越多,可信度越高
  • Wilson’s interval算法能很好的處理票數很少和低端概率情況

Randall在他的文章里對信任排序的工作原理給了一個很好的例子:

如果一條評論只有一個贊成票和0個反對票,它有100%的支持率,但因為投票數太少,系統將會把它放在排名底部。但如果它有10個贊成票,而其只有1個反對票,那系統將會把它放到比具有40個贊成票和20個反對票的評論更高的排名上——可以推斷出,當這個評論獲得40個贊成票時,它極有可能獲得的反對票會少于20。這種算法最好的部分是,如果推斷錯了,那它會很快的獲得更多的數據來證明,因為它已經被排到了頂部。

發表時間對排名的影響:沒有!

信任排序一個優點是評論發表時間是不產生影響作用的(這跟‘熱門排序’和Hacker News的排名算法是不一樣的)。評論是通過信任評級,通過數據取樣計算,一條評論獲得的票數越多,它能獲得的評級越接近他的真實的得分。

圖表視圖

讓我們把信任排序做成圖表,看一看它是如何影響評論排序的。我們使用Randall的例子:

reddit_confidence_sort

可以看到,信任排序并不在意一條評論獲得了多少票數,它關注的是它的支持率和數據采樣規模!

排序之外的應用

正像Evan Miller所說的,Wilson’s score interval算法可以在非排名應用里使用,他列舉了3個例子:

  • 檢查垃圾信息:看過這條信息的人中有多大比例認為它是垃圾信息?
  • 制作“最優”排名:看過這條信息的人中有多大比例認為它是“最好的….”?
  • 制作“郵件轉發”排名:看過條信息這的人中有多大比例點擊了‘Email’按鈕?

使用這個算法你只需要兩個數據:

  • 取樣總數
  • 支持數

這個算法是如此有效,但很奇怪很多的網站如今仍然是最原始的評級方法,這包括著名的亞馬遜,它仍然使用“得分 = 支持票 / 總票數”。

英文原文:How Reddit ranking algorithms work

譯文鏈接:http://www.aqee.net/how-reddit-ranking-algorithms-work/

責任編輯:林師授 來源: 外刊IT評論
相關推薦

2013-08-22 09:53:52

Hacker News排名算法算法

2022-02-28 10:23:37

搜索競價排名

2014-11-05 09:37:31

路由算法原理

2009-06-18 13:31:03

Spring工作原理

2009-08-14 13:19:23

2012-03-14 10:43:55

算法開發

2011-06-23 11:36:27

網站排名

2011-04-26 10:00:17

2020-06-15 07:00:00

GitOpsKubernetesDevOps

2009-07-16 10:23:30

iBATIS工作原理

2009-06-15 15:57:21

Spring工作原理

2010-09-25 13:11:48

DHCP工作原理

2019-05-17 11:53:58

MySQLorder by數據庫

2021-02-05 15:01:41

GitLinux命令

2017-08-21 10:00:23

遺傳算法Python生物學

2021-03-15 10:10:56

算法AI技術

2023-10-11 07:59:06

Redditmods機器人

2020-02-10 09:23:09

LinuxReddit命令

2021-08-18 15:59:47

蘋果工具系統

2011-04-19 09:28:25

App Store蘋果應用商店
點贊
收藏

51CTO技術棧公眾號

亚洲精品亚洲人成在线| 欧美成人激情免费网| 欧美人与物videos| 成人做爰www看视频软件| √最新版天堂资源网在线| 久久久久久免费毛片精品| 国产精品永久免费观看| 久久久久久久极品内射| 国产精品免费大片| 日韩一区二区精品在线观看| 亚洲中文字幕无码中文字| 在线免费黄色| 91亚洲男人天堂| 91人人爽人人爽人人精88v| 四虎成人永久免费视频| 亚洲第一偷拍| 亚洲人成在线播放| 国产精品久久久久野外| 345成人影院| 伊人色综合久久天天人手人婷| 欧美精品一区二区三区在线看午夜 | 欧美成人在线免费视频| 久久久视频6r| 国产精品nxnn| 欧美一卡二卡在线| 在线免费观看视频黄| 牛牛精品在线| 自拍偷自拍亚洲精品播放| 蜜桃网站成人| 天堂在线观看免费视频| 国产在线精品不卡| 国产精品久久久久久av福利软件| 99免费在线观看| 你懂的成人av| 久久久99久久精品女同性| 日本少妇高潮喷水xxxxxxx| 国产精品一区二区三区美女| 日韩一二三区视频| 亚洲高清视频免费| 日本成人在线网站| 精品视频1区2区| 毛葺葺老太做受视频| 天堂电影一区| 亚洲午夜av在线| 精品国产一区二区三区在线| 日本中文字幕视频在线| 中文字幕欧美三区| 深夜福利成人| www.黄在线观看| 欧美国产精品中文字幕| 茄子视频成人在线观看| 免费国产在线观看| 久久久久久久综合日本| 欧美福利精品| 巨骚激情综合| 国产欧美日韩亚州综合| 神马影院午夜我不卡| av在线电影免费观看| 国产欧美一区二区三区鸳鸯浴| 欧美一区二区三区四区夜夜大片 | 国产精品极品| 亚洲成人精品视频| 国产毛片毛片毛片毛片毛片毛片| 久久亚州av| 亚洲精品资源在线| 青娱乐国产视频| 欧美激情国产在线| 免费av一区二区| 久久免费视频播放| 国产亚洲综合精品| 国产精品盗摄久久久| 中文字幕在线播放不卡| 国产在线视频不卡二| 91在线看网站| 午夜性色福利影院| 久久精品在这里| 在线视频精品一区| 成人女同在线观看| 色综合一个色综合亚洲| 九色porny自拍| 我要色综合中文字幕| 亚洲精品久久久久| 国产亚洲精品精品精品| 在线中文一区| 97在线视频国产| 中文字幕乱码在线观看| 国产精品一区二区在线观看网站| 国产乱人伦精品一区二区| 欧美日韩国产综合视频| 国产精品福利一区| 日本日本19xxxⅹhd乱影响| 播放一区二区| 欧美精品一区在线观看| 国产1区2区在线观看| 欧美另类专区| 国产成人精品视频| 丰满肉嫩西川结衣av| 久久午夜羞羞影院免费观看| 麻豆中文字幕在线观看| 日韩深夜视频| 欧美一级一区二区| 野外性满足hd| 国产精品xvideos88| 国产精品91久久久| 欧美 日韩 国产 成人 在线| 国产精品久久网站| 精品这里只有精品| 欧美日韩黄网站| 国产一区二区日韩精品欧美精品| 欧美日韩精品一区二区三区视频播放 | 草草久久久无码国产专区| 欧美性aaa| 亚洲欧美激情精品一区二区| 久久伊人成人网| 麻豆国产欧美日韩综合精品二区| 国语精品免费视频| 国产调教视频在线观看| 在线视频国内自拍亚洲视频| 中文字幕无码人妻少妇免费| 亚洲高清影视| 国产美女91呻吟求| 都市激情在线视频| 欧美性开放视频| 中文在线观看免费视频| 欧美黄色一区| 91在线免费视频| 伊人在线视频| 欧美这里有精品| 国精品无码人妻一区二区三区| 好吊日精品视频| 51精品国产人成在线观看| av在线日韩国产精品| 色av综合在线| 色欲av无码一区二区三区| 99成人精品| 国产精品综合久久久久久| 丁香花视频在线观看| 日韩一区二区三免费高清| 男人av资源站| 狠狠色狠狠色综合日日91app| 日韩欧美亚洲在线| 日韩成人av电影| 亚洲三级黄色在线观看| 日韩综合在线观看| 久久精品欧美一区二区三区不卡 | 国产成人亚洲综合a∨婷婷图片 | 国语自产精品视频在线看8查询8| 91在线免费观看网站| caopo在线| 日韩欧美一级二级| 国产一级在线播放| av网站免费线看精品| 青青艹视频在线| 亚洲精华一区二区三区| 欧美在线亚洲一区| 福利在线观看| 在线播放亚洲一区| 欧美黄色aaa| 国产91精品露脸国语对白| 久久久国内精品| 99香蕉久久| 26uuu亚洲国产精品| 色网站在线免费观看| 色综合久久天天| 超碰人人人人人人人| 久久国产剧场电影| www.激情网| 久久99国产精品久久99大师| 欧洲日韩成人av| 成人三级黄色免费网站| 欧美精品久久久久久久多人混战| 老熟妻内射精品一区| 国产福利一区二区三区| 2018日日夜夜| 怕怕欧美视频免费大全| 91精品久久久久久久久久久久久久| 黄色网在线免费看| 精品国产凹凸成av人导航| 久久久久久91亚洲精品中文字幕| 中文一区二区完整视频在线观看| 亚洲理论中文字幕| 国产欧美日本| 在线观看国产一区| 欧美电影免费网站| 国产日韩精品在线播放| 国内在线免费视频| 亚洲日本aⅴ片在线观看香蕉| 一级黄色片在线观看| 一区二区三区.www| 久久午夜福利电影| 国产成人精品网址| 最近免费中文字幕中文高清百度| 91精品国产91久久久久久黑人| 国产女人水真多18毛片18精品| 欧美1级2级| 欧美日本高清一区| 福利视频在线播放| 精品99久久久久久| 91高潮大合集爽到抽搐| 精品女同一区二区三区在线播放| 日本成人精品视频| 91啪九色porn原创视频在线观看| 五月天视频在线观看| 99精品热6080yy久久| 黄色a级在线观看| 网红女主播少妇精品视频| 96成人在线视频| 国产精品麻豆成人av电影艾秋| 久久久久久久久久久国产| 日本在线视频网| 亚洲精品色婷婷福利天堂| www.蜜臀av.com| 欧美日本在线播放| 精品黑人一区二区三区| 午夜久久久久久| 全网免费在线播放视频入口| 亚洲国产精品99久久久久久久久| 中国极品少妇videossexhd| 国产麻豆精品一区二区| 中文字幕第80页| 噜噜爱69成人精品| 国产白丝袜美女久久久久| 欧美精品日韩| 手机在线视频你懂的| 成人羞羞网站| 日本一区免费| 亚洲黄色录像| 欧美精品久久| 亚洲精品亚洲人成在线| 精选一区二区三区四区五区| 91精品国产自产在线丝袜啪 | 欧美伦理在线视频| 欧美系列一区| 竹菊久久久久久久| 你懂的视频在线一区二区| 国内精品偷拍| 精品国产福利| 欧美交a欧美精品喷水| 精品国产一区二区三| 精品一区二区男人吃奶| 国产精品播放| 久久电影在线| 精品国产一二| 一区二区小说| 日韩av电影免费在线| 狠狠操综合网| 视频一区免费观看| 99re6这里只有精品| 一本色道久久综合亚洲精品婷婷 | 日韩中文av在线| av影片免费在线观看| 俺去亚洲欧洲欧美日韩| 黄色网址视频在线观看| 九九精品在线视频| 日本无删减在线| 欧美交受高潮1| 黄视频免费在线看| 日本欧美一二三区| 51一区二区三区| 91免费版网站入口| 91成人噜噜噜在线播放| 国产午夜精品在线| 国产精品嫩草影院在线看| 一区不卡视频| 韩国一区二区三区在线观看| 日韩在线综合网| 日韩精品电影在线观看| 中文字幕中文在线| 福利一区二区在线| 免费黄色在线视频| 亚洲欧洲日韩在线| 久久综合综合久久| 日韩欧美一区二区三区| 91成人国产综合久久精品| 欧美电影免费观看完整版| 亚洲 美腿 欧美 偷拍| 在线观看精品自拍私拍| а√天堂8资源在线官网| 国自产精品手机在线观看视频| 欧美第一视频| 91免费欧美精品| 日韩有码一区| 黄色网址在线免费看| 亚洲综合电影一区二区三区| 最新天堂在线视频| 粉嫩aⅴ一区二区三区四区五区 | 18成人在线观看| 日韩精品一区二区三区国语自制| 欧美在线观看视频一区二区| www.五月天激情| 亚洲人成网站在线播| 欧美亚洲系列| 国产女精品视频网站免费| 国产精品调教视频| 亚洲欧美一二三| 天堂成人免费av电影一区| 91视频免费入口| 国产精品色呦呦| 性无码专区无码| 精品国产免费视频| 欧美成年黄网站色视频| 91av在线免费观看视频| 欧美日韩国产一区二区在线观看| 日韩精品无码一区二区三区| 红桃视频亚洲| 加勒比av中文字幕| 国产日韩三级在线| 国产 日韩 欧美 在线| 91精品国产乱码久久蜜臀| 成年人视频在线看| 69av在线播放| 91精品短视频| 日本高清视频免费在线观看| 蜜芽一区二区三区| 色婷婷在线影院| 婷婷六月综合亚洲| 亚洲av综合色区无码一二三区 | 欧美高清视频一区二区三区| 精品视频一区二区三区免费| 日韩av成人| 国外成人在线直播| 中文字幕亚洲在线观看| 国产精品h视频| 精品一区二区三区免费观看| 久久久久久久久久久久| 欧美日韩性视频| 天天av天天翘| 97人人做人人爱| 国内精品偷拍| 少妇av一区二区三区无码| 国产91精品在线观看| 538精品在线观看| 日韩欧美一卡二卡| 在线网址91| 亚洲最大av在线| 中文一区一区三区免费在线观看| 欧美日韩中文不卡| 一区视频在线播放| 99久久免费国产精精品| 久久国产精品影视| 欧美成人精品一级| 高清无码视频直接看| 国产福利一区二区| 国产福利久久久| 亚洲精品videossex少妇| 黑森林国产精品av| 久久人人九九| 日韩中文字幕一区二区三区| 国产av自拍一区| 欧美偷拍一区二区| 日本在线观看www| 97se亚洲综合| 中日韩视频在线观看| 丰满少妇高潮一区二区| 91精品福利视频| 米奇精品一区二区三区| 91在线无精精品一区二区| 欧美激情第8页| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 国产欧美一区二区在线播放| 亚洲日本激情| 精品无人区无码乱码毛片国产| 欧美天堂亚洲电影院在线播放| 95在线视频| 91久色国产| 国产免费成人| 久久视频一区二区三区| 91精品久久久久久久91蜜桃| 黑人极品ⅴideos精品欧美棵| 女同一区二区| 久久精品国产秦先生| 青青草激情视频| 日韩电影大全免费观看2023年上 | 成人xxxxx色| 国产日韩亚洲欧美精品| 一级特黄曰皮片视频| 欧美一区二区在线看| 极品av在线| 伊甸园精品99久久久久久| 国产99久久久国产精品| 天天爽夜夜爽人人爽| 久久伊人精品天天| 亚洲精品动态| 992kp免费看片| 日韩欧美一区视频| 中文字幕中文字幕在线十八区 | 亚洲午夜91| 九九热免费在线| 精品久久久久一区二区国产| 亚洲精品在线影院| 欧美国产视频一区| 中文字幕不卡一区| 后进极品白嫩翘臀在线视频| 国产精品女人网站| 影音先锋久久久| 日本黄色录像视频| 亚洲欧美国产视频| 盗摄系列偷拍视频精品tp| 中文字幕第88页| 欧美日韩一区二区精品|