簡體   English   中英

如何更新黑客新聞算法等內容流行度評分?

[英]How to update content popularity scoring such as Hacker News algorithm?

我正在為我的社交網站(具有大量喜歡和評論的項目)使用定制版本的 Hacker News 流行度算法。 該算法運行良好,但我不知道如何正確更新項目評分(我將評分存儲在項目模型中作為元數據)。

現在,我只是更新過去 9 天內列出的項目的每個新贊和評論的分數。 這真的很慢而且資源很重,所以我正在尋找一種更好的方法來保持分數最新。 問題是當一個項目發生變化以保持時間衰減時,每個項目都需要一個新的分數。 什么是更好的方法來做到這一點? 我正在為該項目使用 Django。

行。 我使用不同的應用程序完成了它:首先,您需要在 github 上安裝“dokterbob/django-popularity”或“thornomad/django-hitcount”來跟蹤訪問鏈接的頻率。

其次,您需要計算一個對象收到了多少票(喜歡或收藏)。 為此,您可以嘗試“brosner/django-voting”、“apgwoz/django-favorites”。

現在您必須使用這段代碼 -- django-populars將它們放在一起。 我建議首先查看這段代碼,看看它是如何工作的,以了解如何將所需的組件組合在一起。

有很多方法可以做到這一點。 一種簡單的方法是按順序對項目進行編號,並以每個項目的 ID 號的“等級 ID”開始。 每當帖子被評級時,增加其排名(反之亦然)。 然后,按等級編號排序以正確排序項目。

另一種選擇是指數衰減模型,它需要定期更新,但這些可以依賴投票,減少您必須執行的批量更新工作量。 在這里寫了一篇關於實現它的文章。 它針對 App Engine,但通常很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM