1. 程式人生 > >博客園積分與排名升級攻略(轉)

博客園積分與排名升級攻略(轉)

idt 互聯 png 積分 eid class .html googl 影響力

博客園積分算法探討

今天在dudu的《博客園FAQ》上看到了博客積分算法規則。因為同樣是搞互聯網的,平時工作也涉及到用戶積分算法的設計,所以特把此問題拿出來分析探討。初衷只是純學術的研究探討,並不構成對博客園積分機制的意見建議。

我們先來看看現行規則,用公式表示為:
-------------------------------------------------------------------
BlogScore = BeRead + 10 * BeComment + 50 * Comment

BlogScore:博客積分
BeRead:個人博客所有隨筆和文章的閱讀數之和
BeComment:個人博客被評論總數
Comment: 個人所發表的評論總數
-------------------------------------------------------------------
我從這個公式看出了幾個問題:
1.發表隨筆和文章本身不會為博客帶來積分,但不發表文章,BeRead和BeCommented將永遠為0
2.發表一篇評論可以直接加50分
3.被閱讀10次等於被評論一次的積分

首頁問題

這裏,首先聯想到是討論已久的“首頁問題”,上首頁對文章有什麽直接的好處呢?通常首頁文章的BeRead值會比較大,一般1000左右。值得註意的是不同類型和質量的文章其BeRead值差距並不是太大,根據我的經驗每篇首頁文章的閱讀數大約在500~3000這個區間範圍,最多相差5,6倍。而BeComment值則相差很大,少的有幾乎為0的,普通文章4,5次,多的則達可到300次以上,相差上百倍,如果再乘上系數10,就更為可觀。

文章質量問題
因 此,那些吸引眼球、引起爭議的文章會為博客帶來巨大的積分。我們常常看到首頁上一些非技術文章門庭若市;一些高質量的技術文章,反而只有寥寥幾篇回復。 一個好的技術博客,應該鼓勵產生高質量的原創技術文章,這才是它的核心價值,而並不是僅僅是像門戶網站一樣賺取人氣。那麽應如何區分文章的質量呢?當然, 最直接的方式就是讀者反饋。現在博客園已經有了【推薦】和【反對】的反饋功能,不妨利用起來作為積分計算的參考依據。有了這個參數,就能區別對待不同質量 的文章,讓高質量的文章為作者帶來更多的積分。至於具體實現,我還沒有一個很好的模型,只能隨便想個簡單的,比如定義文章質量因子:

QualityFactor = log(max(1, 推薦數 - 反對數))


在計算積分的時候可以考慮把評論數或閱讀數乘上這個質量因子。

PersonRank vs PageRank
在互聯網上,如果一個網頁被很多其它網頁所鏈接,說明它受到普遍的承認和信賴,那麽它的排名就高,這就是Google PageRank算法的核心思想。PageRank把鏈接視為源對目標網頁的投票,而這張票的分量是和源網頁自身的PageRank相關的。下面是一個簡單的示意圖:
技術分享技術分享
這在博客園內有類似的情況,博客園有MVP,有排名靠前的著名人物,他們的文章常常會得到大家的追捧,而普通新手的影響力則一時難以與他們相比。這就說明, 博客或者說作者,與互聯網的網頁有類似之處,是有Rank之分的,當然這個Rank是動態變化的。如果把評論看成是對文章的投票,而這張票的分量與投票者自身的影響力相關,這就可以產生類似PageRank的PersonRank。假設園內某MVP評論某篇文章,一般來講他的評論應該比普通評論更有分量。當然,這裏還應該考慮正面評價和負面評價因素,如果他持推薦意見,應該加分,如果他持反對意見則不應該加分。

馬太效應

什麽是馬太效應?舉個熱門新聞算法的例子,越是熱門新聞大家越是去點,越去點它就越熱門,形成一個惡性循環。如果算法不好,熱門或許就會永遠熱門下去。同樣的道理,在博客園裏面,積分高的作者的文章越是熱門,越是熱門他的積分就越來越高。那麽應該如何避免馬太效應,鼓勵新人輩出呢?常見的方式有兩種,一是衰減機制,比如,一月前的文章產生的積分應該乘上一個衰減系數(比如0.9),從而使近一個月的文章產生的積分所占權重變大,這樣就避免成名後坐吃山空的現象,真實地反映出作者近段時間的貢獻;二是log函數,對點擊數和評論數取log以後再作為積分,讓積分的增長變得平滑,避免極端大的分值出現。

一時興起,隨便想了這麽多,拋磚引玉,大家見仁見智!再次聲明,本文是純學術探討,不構成對博客園的任何改動建議。

博客園積分與排名升級攻略(轉)