Social Media排序演算法的四種模式

2022-03-01 23:45:05 字數 2048 閱讀 2812

鄭昀 20090905

在social media領域,不管是搜尋結果,還是頁面展示,只要不是編輯挑選的,只要是機器智慧型決定的,都需要以某種順序排列。

那麼,除了按時間順序或按投票數排列外,還會有哪些有效的展示模式呢?

下面羅列我所見:

模式一、reddit模式

reddit的排序演算法一文曾經介紹過 reddit 會綜合考慮以下因素:

圖1 reddit 排序示例

從上圖可以看出,讓新鮮且投票數還不足夠多的文章能快速突破進入榜單,是很重要的。

在從social media海量資料中尋找專家的五大手法中spear模式認為:「專家應該是發現者,而不是趨勢的跟隨者。experts應該是第一批收藏和標記高質量文章的人,從而召喚起社群內其他使用者的圍觀。使用者發現優質內容越早,表明該使用者專業程度越高。所以,要區分「discoverers」和「followers」。」reddit 正是通過log10 的使用,使得早期的投票(即discoverers)獲得更大的權重。比如,前10票獲得的權重,與11到101票所獲得的權重是一樣的。

如你所知,玩聚sr 在給出熱門鏈結時也採用了同樣的排序規則,我曾經給出過簡化的演算法。

模式二、oneriot pulserank模式

實時搜尋引擎 oneriot 的pulserank,能夠充分地把社會化因素考慮進來,做到搜尋結果排序的 socially relevant 。

pulserank所考慮的因素:

當然它還考慮來自twitter、digg以及oneriot share的推薦數量。

推薦越多,排在pulse搜尋結果最前面的可能性越大;新鮮程度也影響非常大,其他因素的影響比較難以被注意到。所以這還是 reddit模式的增強版,只不過聚合了不同social站點的推薦數,並加了幾個因子。

1、ranking algorithm for the realtime web: oneriot 「pulse rank」 update

模式三、digg模式

digg 有很多技巧:

2、投票使用者的級別。不過digg的《a couple updates》宣布了top users總是伴隨著行為異常和可憎,所以本因素將不斷被降低。並且如果你擁有非常多的好友,那麼你提交的文章就需要更多的digg才能上首頁,通常是新使用者的2~3倍。

4、bury的數量。還會考慮到bury的型別,如重複的故事、spam、錯誤的分類等。如果一篇文章在upcoming佇列中,獲得了3個bury,那麼它就永遠被buried了。如果文章是在首頁並且擁有1000個diggs,那麼需要大約10~15個bury才能讓它消失(消失指只能訪問最終頁面,任何類別的導航頁都不會看到這篇文章了)。

5、投票使用者的 popular ratio。如果10~15個popular ratio在70%以上的使用者都投了一篇文章,那麼它上首頁會很容易。你可以 digg使用者頁面上查到每個使用者的popular ratio。

digg 的演算法久經考驗,不斷被修正,並且充分利用了它所能收集的一切資訊,值得借鑑。

和 digg 一樣,newsvine 也考慮得很全:

使用者的聲望;

使用者好友的聲望;

網域名稱權重;

瀏覽數和停留時間。

1、the digg algorithm - unofficial faq

2、newsvine algorithm and potential ranking factors for exposure

模式四、seeds模式

這是一種第三方應用深入某個social media的刺探式統計方法。事先選定乙個key users集合(比如創始人以及其他核心使用者,被稱之為「seeds」),然後從這批使用者開始掃瞄建立social graph,通過統計inbound links和好友關係,得出被掃瞄的social media的不同指標的排行榜,這就是spinn3r rank所用到的手法。這種模式並不限於計算top users。

它所用到的兩個技巧倒是經常看到:

遍歷 friendship :spammers或水平不那麼高的使用者,要想從 seeds 這裡獲得連線顯然是不大可能的。

鄭昀 北京報道 20090905

排序演算法 排序演算法彙總

排序演算法無疑是學習資料結構中的重點內容,本文將給出排序演算法的彙總。下面是具體的實現 include include include define n 1000000 int array n int temp n 1 氣泡排序 void bubblesort int a,int n if tag ...

排序演算法 排序演算法彙總

排序演算法無疑是學習資料結構中的重點內容,本文將給出排序演算法的彙總。下面是具體的實現 include include include define n 1000000 int array n int temp n 1 氣泡排序 void bubblesort int a,int n if tag ...

排序演算法 排序演算法彙總

排序演算法無疑是學習資料結構中的重點內容,本文將給出排序演算法的彙總。下面是具體的實現 include include include define n 1000000 int array n int temp n 1 氣泡排序 void bubblesort int a,int n if tag ...