深入理解熱度算法:如何做好內容推薦?

5 評論 15665 瀏覽 113 收藏 13 分鐘

熱門推薦是互聯網產品中最常見的功能之一,比如“大家都在看”、“今日熱賣榜”這些在各大網站上都隨意可見,堪稱標配。而其中推薦算法的好壞,則不僅密切關系著內容對用戶的吸引程度,也同時反應了產品對內容的分發能力。

在一個產品中,如果不能及時發掘新鮮內容,并將優秀內容傳播出去,甚至引爆,那么整個內容生態也難以搭建起來。

雖然時下,大家更有興致討論的都是個性化推薦,但它并不適用于所有產品,尤其是初創的、小眾的產品。因為個性化推薦它必需依賴大量的用戶數據以及對內容深入的挖掘,若不然強行個性化推薦只會適得其反。

這次,本文主要探討實用性更強熱度算法,它也并非想象中的簡單粗暴,反而有不少只屬于它的亮點。

本文不帶一個數字公式,可安心食用^_^

一、基本原理

其實,在熱度算法表層之下,還有不少的基礎原理在支撐著它,但在本文中將不先擴展,而是以最普遍運用的牛頓冷卻定律為例。

它的特點在于,引入了時間衰減的概念。

牛頓冷卻定律若用函數來代表,則為:

熱度 = 初始熱度 + 互動熱度 – 隨時間衰減的熱度

舉個例子:

當一條微博產生后,隨著用戶的瀏覽、點贊、轉發、它的熱度逐漸攀升,進入榜單。

但因為這條內容本身具有時效性,如果不考慮這點,那么它可能長期霸榜,所以我們必須考慮到如何令它的熱度隨著時間的推移而衰減,從而令新的微博有機會取而替代,達到熱門榜單動態變化的效果。

二、影響因素

在理解熱度算法的基礎原理后,我們可以得知影響熱度計算的三個因素:

1.?原始熱度

首先是原始熱度,正如內容千差萬別,再加上產品本身的定位、偏愛。

我們不太可能去為所有的內容賦予同樣的初始熱度,就比如一個大V發的微博和一個好友發的微博,以及一個陌生小號發的微博,它們從一開始就難以相提并論。

而我們又該如何給每個內容賦予不同的原始熱度呢?

可以從兩個維度出發:

(1)創作者,即創作這個內容的人,也可以是機構。

還是以微博為例,微博對用戶做了不少劃分,個人、垂直領域的知名博主、自媒體、機構、企業、政府等等,不同類型的身份也隱含他們的創作能力和傳播價值。

所以在初始熱度的考量上,我們就會考慮是否讓大V用戶發表的新內容更先一步的進入熱榜。

當然,其它產品就算不像微博那樣對用戶有明確的歸類,也可以利用一些基礎的用戶數據,比如:

  • 注冊時長:是否激勵新用戶,還是優待老用戶?
  • 活躍程度:一個投入更多時間精力的常駐用戶是不是更大概率會創作出優秀內容?

(2)內容屬性,則是從內容本身出發,根據它的類別、字數長度、豐富度、流行指數等有所側重。

就比如在熱門微博管理規范,就表示過含多張的圖片,含#話題的就會加重熱度,而帶外鏈的,已有相似內容的則會降低熱度。

具體哪些內容該賦予更高的熱度,哪些內容又該冷處理,關鍵看這個產品的內容調性和氛關鍵可能看這個產品中主流用戶的偏愛,以及運營人員想營造什么樣的內容生態。

2. 互動熱度

初始熱度這一因素雖然看上去具有極大的天然優勢,但往往在實際推薦算法中也不會占據主要的地位。

比如就算是一條超級大V發的和一條普通用戶發的內容,可能在初始熱度上差距也不會特別大,因為內容是否真的夠好,還是要靠更廣泛的用戶來檢驗。

這也就是影響熱度的第二因素——互動熱度,這也是最為重要的,也可以理解為用戶的行為數據。

我們需要先定義哪些用戶行為可以提高這條內容的熱度,像對一條微博的瀏覽、點贊、評論、轉發、分享等,都可以代表了用戶對它的感興趣程度。

同時需要注意的是,不同行為的權重應該也是不同的。

比如,評論明顯比點贊更有誠意,所以我們在計算互動熱度時,可以對這些用戶行為進行評級,瀏覽+1分,點贊+3分,評論+10分,轉發+15分,分享+15分。

且在實際產品運營過程中,我們還需要根據用戶規模、周期效應不斷調整用戶的行為分,同時考慮如何反作弊,若規則太生硬,是不是就會被有心人利用,這點后面會再探討。

3.?隨時間衰減的熱度

由于大部分內容是屬于一次消費型,用戶看過也就過了。若熱門推薦的榜單總是固定那幾條,他可能很快就覺得乏味,從而轉向別的產品。所以我們自然希望內容能不斷更新,而若只看初始熱度+互動熱度,那么后來者必定很難超越前者。

所以,我們還需要考慮另一個因素——隨時間衰減的熱度。

以社會熱點來說,往往一件事情的時效性是在24小時內。

比如一項政策出臺,大家都在關注,若不能及時推送,用戶很可能已從別的渠道得知;而新鮮勁一過,這條內容再占著榜單也少有人問津了。

所以我們可以制定一個策略,這個內容在發布后,隨著時間的推移,熱度也開始逐步衰減。

同時需要注意的是,時間衰減通常不是線性的。

畢竟結合現實情況來看,一條新內容產生后,我們可能先需要幾個小時去傳播它,看看它的熱度反應。

在剛開始這期間,可以不必過多的去考慮時間衰減;而到了有效傳播期之后,比如一條新聞過了24小時,那么我們就可以加重時間衰減的因素,盡量不讓用戶看到昨天的新聞。

三、如何進行人為干預:調整權重

上述的內容已經講完了熱度算法的核心內容,通過理解原理和三大影響因素,相信大家已經可以嘗試去設計一套適合自家產品的熱度算法了。

不過,在實際的內容運營中,哪怕一套算法再可靠,我們有時候還是難免想要進行一些人工干預。

這就涉及到了我們常用的一個手段:調整權重。

我們可以將權重這一因素,擴展到熱度算法中,如:

熱度 = 初始熱度 + 互動熱度 – 隨時間衰減的熱度 +/- 權重

然后在運營后臺中,開放對內容進行加權、降權的功能。

權重調整其實另一方面也可以彌補熱度算法的不足,因為通過傳播去獲取熱度總是需要一定時間,可能沒辦法應對突發的大熱點,而也有某些內容明明在被持續關注著,但卻不得不隨著時間衰減退出熱榜。

四、偶然和極端

其實,除了上述我們預先規定好的因素外,還會有一些偶然的元素可能會影響到熱度算法。

比如,一條內容在產品往往不止在熱榜中可見,我們還會通過其它的方式去傳播它,比如開屏、PUSH等,這些都會帶來巨量的熱度提升,而不是它自身在熱榜里競爭所得,若不剔除這些偶然因素,則熱榜的前幾名很有可能就充滿了運營導向的味道。

而且,在設計熱度算法時,需要多考慮極端情況,比如若在網站流量不大的情況下,一條初始熱度最高的內容,是不是可能永久無法被初始熱量最低的內容超越?

五、反作弊

在一些知名產品中,熱門榜單往往伴隨著數據造假,如果我們不能有效的反作弊,那么所謂熱榜則相當于名存死亡,成了營銷者的聚集之地。

而至于如何反作弊呢,此文篇幅有限,不做深入,就先拋磚引玉下,比如:

1. 將不同用戶對互動熱度的貢獻再次分級

前文提到了我們需要對用戶的不同行為分級,貢獻不同的互動熱度;現在考慮到許多刷數據者使用都是批量小號,具有一些區別于正常用戶的特征,比如注冊時長慢,活躍度低。

那我們就可以對用戶進行分群,比如新用戶的點贊+0.3分,正常用戶的點贊+1分,從而抬高了數據造假的難度和成本。

2.?實時監控異常數據,若發現違規,將人工降權

因為數據造假是很難模擬出像優秀內容那樣的熱度上升曲線,所以可以通過監控數據波動,來判斷這條內容是否為自然增長,若察覺存在違規現象,則運營可以通過降權進行處罰。

六、抖音視頻的推薦算法

講完枯燥的理論,最后,再給大家分享下抖音是如何做內容推薦的,希望能幫助你更好的理解熱度算法。

首先,抖音有一個流量池的概念,不論新人還是網紅,當用戶新發一條視頻后,抖音都會將它推薦給一定的人,即啟動流量,可能是300-1000人。

然后根據這條視頻在流量池內的數據表現,比如完播率、點贊率、評論數、轉發率等,再來決定是否要將這條視頻推薦給更多人。

而在數據達標之后,抖音會再將這條視頻引向更大的流量池,讓新的1W-10W人看到,即疊加推薦,以此類推,數據越好,疊加越多的流量。

同時,上述所說的流量池是有區間的,決定具體數值,則就是上述影響因素的概念。

抖音里的影響因素是哪些呢?

  • 從創作者來看,比如注冊信息、粉絲數、歷史視頻數、以往成績等。
  • 從內容來看,比如視頻畫質、是否原創、是否獨特等。

總結下,熱度算法運用到具體產品中,并非要死板的照搬公式,而且要結合運營模式,也可以多點變通,就比如抖音,它將內容推薦設計成了階段性的熱度試探,這種做法別出心裁,效果也很不錯。

 

本文由 @貓丸 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 請教一下大家,同時存在時效性內容和非時效內容的情況下,大家如何設置隨時間衰減的熱度趨勢值?

    來自浙江 回復
  2. 很棒,以前沒有接觸過熱度算法,學到很多

    來自北京 回復
  3. 早幼教

    回復
  4. 感謝分享

    回復
  5. 學習到不少,感謝分享

    回復