前言
近期公司產(chǎn)品需要做一個(gè)內(nèi)容推薦的功能,但限于人員和能力有限,經(jīng)過調(diào)研燕雁,確定了一個(gè)簡(jiǎn)單相對(duì)我們可以實(shí)現(xiàn)的方案棋蚌。
一篇文章的產(chǎn)生,隨著用戶瀏覽袜瞬、點(diǎn)贊、分享、收藏器紧、評(píng)論,熱度逐漸攀升楼眷,進(jìn)入榜單到推薦頁(yè)面铲汪,但隨著時(shí)間的推移熊尉,這篇文章也不能永久的霸占榜單,讓后面新產(chǎn)生的文章沒有機(jī)會(huì)到推薦頁(yè)掌腰,因此也就有了時(shí)間衰減的因素帽揪,從而可以讓榜單能夠動(dòng)態(tài)的變化,除了上面基本的原理以外辅斟,還需要人為干預(yù)因素转晰,通過加權(quán)或者降權(quán)的方式來影響排名。
因子
- 用戶活躍度(以積分的形式)
- 瀏覽量
- 點(diǎn)贊數(shù)
- 收藏?cái)?shù)
- 評(píng)論數(shù)
- 分享數(shù)
- 時(shí)間衰減
- 平臺(tái)編輯推薦(人為因素介入干預(yù))
基本原理
初始熱度 Hinit
與最后的推薦指數(shù)呈正相關(guān)(注意不是成正比)士飒,影響其的因素有:
- 創(chuàng)作者:暫時(shí)以用戶活躍度來界定
- 內(nèi)容屬性:以篇幅查邢、類別來區(qū)分
互動(dòng)熱度 Hinteract
與最后的推薦指數(shù)呈正相關(guān)(注意不是成正比),用戶行為數(shù)據(jù)是決定一篇文章是否熱門的重要因素酵幕,通過對(duì)這些數(shù)據(jù)評(píng)級(jí)來進(jìn)行調(diào)整行為分:
比如: 瀏覽+1分扰藕,點(diǎn)贊+3分,評(píng)論+8分芳撒,收藏+10分邓深,分享+15分。
時(shí)間衰減 Htime
與最后的推薦指數(shù)呈負(fù)相關(guān)(注意不是成反比)
大部分內(nèi)容屬于一次性消費(fèi)品笔刹,用戶看過也就過了芥备,若推薦榜單總是那么幾條, 可能很快就覺得乏味 舌菜,從而轉(zhuǎn)向別的產(chǎn)品萌壳。所以我們自然希望內(nèi)容能不斷更新,而若只看初始熱度+互動(dòng)熱度日月,那么后來者必定很難超越前者袱瓮。
所以還必須考慮一個(gè)因素就是時(shí)間衰減,通常這個(gè)也不是線性衰減爱咬,往往是一個(gè)指數(shù)函數(shù):即過了一定時(shí)間后尺借,持續(xù)衰減,熱度直到無限趨于0
權(quán)重 Hweight
運(yùn)營(yíng)或編輯人為干預(yù)來調(diào)整權(quán)重也很重要精拟,畢竟算法是死的燎斩,人是活的,雖然大部分都遵循這樣一個(gè)規(guī)律串前,但也不排除偶然或者極端情況瘫里,比如惡意刷榜,這時(shí)候就需要人為的干預(yù)
圖形曲線:
總結(jié)公式
參數(shù)解釋:
Hinit : 初始熱度值荡碾,可以以用戶活躍度來衡量谨读,比如以積分的形式,積分積累的途徑有:
- 發(fā)文章
- 發(fā)筆記
- 發(fā)動(dòng)態(tài)
- 提問題
- 回答問題
- 評(píng)論
- 系統(tǒng)坛吁、平臺(tái)編輯推薦
在其他條件一定的情況下劳殖,初始熱度越高铐尚,其最終熱度也就越高
Hinteract:互動(dòng)熱度值,根據(jù)用戶行為數(shù)據(jù)來衡量哆姻,參考點(diǎn)有以下幾項(xiàng):
- 瀏覽量
- 點(diǎn)贊量
- 評(píng)論量
- 收藏量
- 分享量
在其他條件一定的情況下宣增,互動(dòng)熱度越高,其最終熱度也就越高
Htime:時(shí)間衰減因子矛缨, 加2是為了防止最新發(fā)表的會(huì)導(dǎo)致分母過小 爹脾,這個(gè)值可調(diào),在前期平臺(tái)人數(shù)較少時(shí)調(diào)整大一些箕昭,在后期人數(shù)增長(zhǎng)起來后灵妨,可以調(diào)整的小一些,比如落竹,因?yàn)橛脩魧?duì)平臺(tái)資源有一個(gè)消化時(shí)間泌霍。并不是一發(fā)出來就有數(shù)據(jù)的。
G:重力因子述召,它決定了熱度隨時(shí)間下降的速度朱转,前期平臺(tái)人員較少時(shí),相對(duì)應(yīng)得發(fā)的資源也會(huì)比較少积暖,這時(shí)可以把G調(diào)小一點(diǎn)藤为,減緩時(shí)間推移對(duì)熱度下降的影響,后期平臺(tái)人員增多時(shí)呀酸,相對(duì)應(yīng)的資源也會(huì)增加凉蜂,這時(shí)可以把G調(diào)大一點(diǎn)琼梆,加速時(shí)間推移對(duì)熱度下降的影響性誉。比如:1.2-1.8
Hweight: 加減權(quán)重,初始值可以為0茎杂,在某些偶然或者極端情況下需要人為干預(yù)的時(shí)候错览,可以動(dòng)態(tài)調(diào)整其值,使其能夠及時(shí)的控制其熱度煌往。
反作弊
- 可以通過權(quán)重來干預(yù)
- 可以制定社區(qū)規(guī)則來動(dòng)態(tài)調(diào)整Hinit