以圖片社區(qū)為例,如何利用熱度算法做內(nèi)容質(zhì)量評(píng)估?
以圖片社區(qū)為例,結(jié)合我的實(shí)踐經(jīng)驗(yàn),從待解決問題、輸入、計(jì)算邏輯、輸出四要素,拆解熱度算法如何設(shè)計(jì)。
一、背景
在內(nèi)容社區(qū)中,熱度算法是基于實(shí)際用戶反饋行為,比如內(nèi)容的點(diǎn)贊、收藏等數(shù)據(jù),而實(shí)時(shí)計(jì)算得到的分?jǐn)?shù)。熱度算法用于衡量?jī)?nèi)容的流行度,做對(duì)應(yīng)的質(zhì)量評(píng)估。這里的“質(zhì)量”,更多代表的是內(nèi)容受用戶歡迎程度。熱度高,表示當(dāng)前內(nèi)容受更多用戶歡迎,十分流行;熱度低,表示圖片較為冷門。
熱度算法為了解決什么問題而存在?
它是為了從龐大的內(nèi)容庫(kù)中,簡(jiǎn)單高效地發(fā)現(xiàn)大多數(shù)人喜歡的頭部?jī)?nèi)容,推薦給其他用戶,從而滿足他們的內(nèi)容需要。《烏合之眾》提到,人們?cè)谌后w生活中,多有從眾心理,偏好大多數(shù)人的選擇。熱度算法正是應(yīng)用了大眾心理,熱度反映的是社區(qū)內(nèi)部用戶大多數(shù)的口味偏好。
二、價(jià)值
熱度算法的價(jià)值在哪里?
維持老用戶的活躍度。熱度算法能夠讓老用戶最高效地獲取頭部?jī)?nèi)容,及時(shí)感知到當(dāng)前社區(qū)的熱點(diǎn)。
以新浪微博為例,熱搜榜憑借熱度算法,快速挖掘熱點(diǎn)新聞,讓用戶獲取實(shí)時(shí)熱點(diǎn),帶動(dòng)了新浪微博整體的活躍度。吃瓜群眾喜歡的娛樂圈八卦,如若干明星出軌事件,在熱搜爆出后,讓服務(wù)器幾度宕機(jī)。
提高新用戶的留存率。熱度算法呈現(xiàn)的是社區(qū)最流行的內(nèi)容,這能夠讓新用戶第一時(shí)間感知社區(qū)作品的優(yōu)質(zhì)程度,大概率滿足他們的內(nèi)容需要,增加留下來的可能性。
以攝影社區(qū)圖蟲和視頻社區(qū)B站為例,熱門Tab的優(yōu)先級(jí)很高,把當(dāng)前最熱的內(nèi)容呈現(xiàn)給新用戶,對(duì)提升留存是有很大幫助的。
三、算法
以圖片社區(qū)為例,結(jié)合我的實(shí)踐經(jīng)驗(yàn),從待解決問題、輸入、計(jì)算邏輯、輸出四要素,拆解熱度算法如何設(shè)計(jì)。請(qǐng)記住,以下思路是可以復(fù)用的,不止是圖片,其他形式的內(nèi)容如文章、視頻、音頻都適用。需要注意的是,輸入及計(jì)算邏輯需要結(jié)合你的具體產(chǎn)品和業(yè)務(wù)背景而定。
1. 待解決問題及期望輸出
在熱度算法中,待解決問題是如何量化圖片在社區(qū)中的流行度。
期望輸出熱度排序,用于排行榜或基于一定規(guī)則下發(fā)至用戶端。
2. 輸入
從圖片的生命周期來看,一張圖片會(huì)經(jīng)過四個(gè)階段:剛發(fā)布、被其他用戶消費(fèi)互動(dòng)、被官方推薦、成為舊圖片。依此,我們可以考慮圖片熱度S拆分為三部分組成:
- S1-初始分,指圖片剛發(fā)布,沒有任何消費(fèi)互動(dòng)時(shí),賦予一定的初始分?jǐn)?shù)。
- S2-受歡迎分,指圖片發(fā)布后,被其他用戶消費(fèi)互動(dòng),具備一定的受歡迎分?jǐn)?shù)。
- S3-推薦分,指官方運(yùn)營(yíng)可以對(duì)圖片進(jìn)行正負(fù)推薦,做一定的人工干預(yù)。
其中,正推薦可以對(duì)分?jǐn)?shù)低但具備潛力的圖片給予扶持,負(fù)推薦可以對(duì)分?jǐn)?shù)高但不符合社區(qū)規(guī)范的圖片進(jìn)行抑制。
這三個(gè)子分?jǐn)?shù)的輸入來源,可以結(jié)合以下考慮:
- 初始分S1:用過往圖片被精選次數(shù)或該用戶的身份權(quán)重。由于我所在的產(chǎn)品,精選是由運(yùn)營(yíng)判斷的,相對(duì)質(zhì)量較好,而用戶的身份如達(dá)人等相對(duì)缺乏持續(xù)運(yùn)營(yíng),所以我選取精選數(shù)作為核心指標(biāo)。
- 受歡迎分S2:在一定展示量下,該圖片被點(diǎn)贊、評(píng)論、收藏、分享的次數(shù)/人數(shù)。以上是較為常規(guī)的關(guān)鍵指標(biāo),如果你的產(chǎn)品有其他更為關(guān)鍵的行為,可以做對(duì)應(yīng)增刪。
- 推薦分S3:S1和S2是圖片本身自帶的數(shù)據(jù),而S3則是預(yù)留了一個(gè)運(yùn)營(yíng)干預(yù)的口子。這里的分?jǐn)?shù),可以做對(duì)應(yīng)的運(yùn)營(yíng)輔助后臺(tái),由運(yùn)營(yíng)同事手動(dòng)設(shè)置。正推薦則加分,負(fù)推薦則減分。
3. 計(jì)算邏輯
3.1 未考慮時(shí)效性的熱度計(jì)算
- 圖片熱度S=初始分S1+受歡迎S2+正推薦分S3-1+負(fù)推薦分S3-2;
- 初始分S1=SUM(該用戶過往圖片被精選次數(shù)),精選次數(shù)封頂值為max;
- 受歡迎分S2=(h1*點(diǎn)贊數(shù)+h2*評(píng)論數(shù)+h3*收藏?cái)?shù)+h4*分享數(shù))/展示數(shù),h1-h4為該行為的單次得分項(xiàng),分?jǐn)?shù)越高,表示該行為對(duì)內(nèi)容更重要;
- 正推薦分S3-1=運(yùn)營(yíng)設(shè)定值,為正數(shù);
- 負(fù)推薦分S3-2=運(yùn)營(yíng)設(shè)定值,為負(fù)數(shù)。
以上是未考慮時(shí)效性的分?jǐn)?shù)計(jì)算,當(dāng)圖片成為舊圖片時(shí),我們更希望它能夠?yàn)槠渌聢D片讓位。也就是熱度降低,熱度與時(shí)間成負(fù)相關(guān)關(guān)系。這時(shí)候我們引入時(shí)間衰減函數(shù),對(duì)S1、S2和S3分別考慮時(shí)間的影響。
3.2?考慮時(shí)效性的熱度計(jì)算
業(yè)內(nèi)通用的時(shí)間衰減函數(shù),是牛頓冷卻定律。偉大的牛頓發(fā)現(xiàn),物體的溫度在冷卻到與室溫一致時(shí),溫度變化并不是線性的,而是指數(shù)衰減。這個(gè)定律也被互聯(lián)網(wǎng)的小伙伴跨界應(yīng)用到熱度算法。
公式表示為F(T)=e^[-k*(T-T0)],e是自然常數(shù)2.718,k為冷卻系數(shù),(T-T0)為時(shí)間間隔,T為當(dāng)前時(shí)間,T0為起始時(shí)間。k越大,衰減越快;k越小,衰減越慢。
k值如何確定?假設(shè)熱度從100變成1,用了24小時(shí)(全衰期),可以視為基本衰減完畢,即F(T)=0,T-T0=24,依此可以求得k值。計(jì)算時(shí)需要注意時(shí)間單位,統(tǒng)一換算為時(shí)間戳。在實(shí)際的落地中,難度在于如何確定全衰期。這個(gè)應(yīng)該根據(jù)實(shí)際的業(yè)務(wù)需要去判定,比如新聞的全衰期一般為24小時(shí),比較注重實(shí)效性;而其他業(yè)務(wù),對(duì)于時(shí)效性要求不高,可以將全衰期適當(dāng)延長(zhǎng)。
加上時(shí)間衰減后,我們可以更新S1-S3的公式如下:
- 初始分S1=SUM(該用戶過往圖片被精選次數(shù))*F1(T),精選次數(shù)封頂值為max
- 受歡迎分S2=(h1*點(diǎn)贊數(shù)+h2*評(píng)論數(shù)+h3*收藏?cái)?shù)+h4*分享數(shù))/展示數(shù)*F2(T)
- 正推薦分S3-1=運(yùn)營(yíng)設(shè)定值*F3(T),為正數(shù)
- 負(fù)推薦分S3-2=運(yùn)營(yíng)設(shè)定值,為負(fù)數(shù)
其中,F(xiàn)1(T)、F2(T)、F3(T)均為對(duì)應(yīng)的衰減函數(shù):
- F1(T)=e^[-k1*(T-T0)],T0為圖片發(fā)布時(shí)間
- F2(T)=e^[-k2*(T-T0)],T0為圖片發(fā)布時(shí)間
- F3(T)=e^[-k3*(T-T’)],T’為設(shè)定時(shí)間
3.3 歸一化處理
經(jīng)過以上2個(gè)步驟的處理,我們得到的是:圖片熱度S=初始分S1+受歡迎S2+正推薦分S3-1+負(fù)推薦分S3-2。
如果你實(shí)際落地中會(huì)發(fā)現(xiàn),受歡迎分S2往往很大,無論如何調(diào)節(jié)S1和S3,對(duì)分?jǐn)?shù)影響都很小。這個(gè)時(shí)候,你會(huì)幡然醒悟,缺少了最重要的一步——?dú)w一化。
因?yàn)槲覀兊玫降腟1、S2和S3,大小不在同一量級(jí)上,如果直接簡(jiǎn)單相加,S約等于可能約等于某個(gè)子分?jǐn)?shù)。
引入歸一化系數(shù)a,將各部分分?jǐn)?shù)進(jìn)行適當(dāng)?shù)姆糯蠡蚩s小。最終得到:圖片熱度S=a1*初始分S1+a2*受歡迎S2+a3*正推薦分S3-1+a4*負(fù)推薦分S3-2。
4.實(shí)例
用戶小白在2020年3月1日0:00發(fā)布一張圖片,小白過往圖片被精選次數(shù)為20次;24小時(shí)后,該圖片累計(jì)展示1000次,獲贊數(shù)400,評(píng)論數(shù)100,收藏?cái)?shù)50,分享數(shù)10。求此時(shí)的熱度分?jǐn)?shù)。暫無運(yùn)營(yíng)推薦操作。
在熱度算法中:
- 初始分S1=SUM(該用戶過往圖片被精選次數(shù))*F1(T),精選次數(shù)封頂值為max
- 受歡迎分S2=(h1*點(diǎn)贊數(shù)+h2*評(píng)論數(shù)+h3*收藏?cái)?shù)+h4*分享數(shù))/展示數(shù)*F2(T)
- 正推薦分S3-1=運(yùn)營(yíng)設(shè)定值*F3(T),為正數(shù)
- 負(fù)推薦分S3-2=運(yùn)營(yíng)設(shè)定值,為負(fù)數(shù)
若結(jié)合業(yè)務(wù)討論得到:
- 初始分S1,精選最多按10次計(jì)算,時(shí)效性3天;T-T0=24小時(shí)=1天,對(duì)應(yīng)F1(T)=0.215;
- 受歡迎分S2,點(diǎn)贊一次計(jì)1分,評(píng)論一次計(jì)2分,收藏一次計(jì)3分,分享一次計(jì)4分,時(shí)效性30天;T-T0=1天,對(duì)應(yīng)F2(T)=0.858
- 正推薦S3-1,推薦時(shí)效性7天
那么此時(shí)可以計(jì)算如下:
- S1=10*F1(T)=2.15
- S2=(1*400+2*100+3*50+4*10)/1000*F2(T)=0.68
- S3-1=S3-2=0
- 而熱度分S=a1*S1+a2*S2+a3*S3-1+a4*S3-2,其中歸一化系數(shù)a1=1,a2=10,a3=5,a4=5,則計(jì)算出最終S=8.95
四、總結(jié)
熱度算法實(shí)際很難,難就難在如何根據(jù)實(shí)際業(yè)務(wù)調(diào)參調(diào)優(yōu),以下我分享幾點(diǎn)心得:
(1)第一版本不在乎精度,重點(diǎn)在于跑通流程,確定好整個(gè)熱度算法的框架
框架必須正確,并且支持后續(xù)拓展。第二版本起,才開始調(diào)參調(diào)優(yōu)。這是是一個(gè)技術(shù)活,一定要體現(xiàn)在分?jǐn)?shù)的改變效果上,根據(jù)效果來反推調(diào)優(yōu)方向,否則只是無意義的勞動(dòng)。
(2)無數(shù)據(jù)不算法,巧婦難為無米之炊
輸入涉及的數(shù)據(jù)指標(biāo),都是需要正確埋點(diǎn)的。如果數(shù)據(jù)不可用,應(yīng)該優(yōu)先做數(shù)據(jù)基建。
小數(shù)據(jù)+復(fù)雜模型=一般效果
大量數(shù)據(jù)+簡(jiǎn)單模型=很好效果
大量數(shù)據(jù)+復(fù)雜模型=更好效果
(3)熱度S能夠讓運(yùn)營(yíng)或用戶簡(jiǎn)單理解的前提,是需要做對(duì)應(yīng)的可視化
因?yàn)橹苯佑?jì)算出熱度分?jǐn)?shù)只是個(gè)絕對(duì)數(shù),而相對(duì)數(shù)才是對(duì)業(yè)務(wù)有參考意義的。比如你可以將熱度S做成區(qū)間0-10,10分表示滿分。要學(xué)會(huì)將技術(shù)語(yǔ)言轉(zhuǎn)化為業(yè)務(wù)語(yǔ)言。
如果你看完以上內(nèi)容,覺得熱度算法很簡(jiǎn)單。那么恭喜你,你已經(jīng)成功入坑,可以去實(shí)踐了。
如果沒看懂,你可以勇敢提出你的疑問。我們一起交流學(xué)習(xí),共同進(jìn)步。
作者:Ln,微信號(hào):scnulhy
本文由 @Ln?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
請(qǐng)問關(guān)于受歡迎分的計(jì)算
1、如果一個(gè)內(nèi)容已發(fā)布60天,之前實(shí)例設(shè)定有效期30天,前30天的數(shù)據(jù)是否計(jì)入?
2、假設(shè)最近30天總共1000贊,情況a:前10天100贊,后20天900贊;情況b前10天900贊,后10天100贊。這2種情況下,在現(xiàn)時(shí)計(jì)算,按現(xiàn)在公司計(jì)算受歡迎分是否相同?情況a熱度越來越高,情況b熱度越來越低,理論上應(yīng)該要有區(qū)別才對(duì),應(yīng)如何體現(xiàn)呢?
老師分享的很好,受教了,非常感謝,假如有機(jī)會(huì)認(rèn)識(shí)您那就更好了,謝謝!
求解,歸一化系數(shù)是怎么算出來的
感謝作者的詳細(xì)分享,有一點(diǎn)不是很明白,正向推薦為什么是-1,負(fù)向推薦-2? 如果我正向推薦填0-1不就是負(fù)數(shù)了嗎? 負(fù)向推薦只是-2那還是朝著正向的方向計(jì)算了呀? 求解
你理解錯(cuò)了,這是名字 。推薦分為S3, 其中正推薦叫S3-1 (S3杠1) ,負(fù)推薦分叫S3-2 。
F(T)=e^[-k1*(T-T0)],則-k1*(T-T0)=lnF(T),那么F(T)就不可能等于0,文章中是否寫錯(cuò)了
感謝指正,F(xiàn)(T)應(yīng)為0.01
另外兩個(gè)問題:
1.衰減系數(shù)中的時(shí)效k值,如何確定?經(jīng)驗(yàn)估計(jì)假設(shè)?
2.歸一化系數(shù)這個(gè)數(shù)據(jù)如何確定?有哪些考慮因素以及其他?樓主可好做個(gè)進(jìn)一步的分享?
1.k值應(yīng)結(jié)合業(yè)務(wù),建議同運(yùn)營(yíng)同學(xué)討論好內(nèi)容時(shí)效性對(duì)用戶消費(fèi)興趣的影響,也算是經(jīng)驗(yàn)主義了
2.歸一化有挺多方法的。我理解是黑盒子調(diào)參,重點(diǎn)關(guān)注影響結(jié)果即可
對(duì)于數(shù)學(xué)是渣,百度歸一化都懵逼了,作者可以分享下嗎?
很好的文章,謝謝作者,但有個(gè)疑問:
“如果你實(shí)際落地中會(huì)發(fā)現(xiàn),受歡迎分S2往往很大,無論如何調(diào)節(jié)S1和S3,對(duì)分?jǐn)?shù)影響都很小。這個(gè)時(shí)候,你會(huì)幡然醒悟,缺少了最重要的一步——?dú)w一化?!?br /> “其中歸一化系數(shù)a1=1,a2=10,a3=5,a4=5”
下面這個(gè)歸一化系數(shù)的操作與上面的描述邏輯相悖,寫錯(cuò)了還是另有原因?
感謝指正,是寫錯(cuò)
“k值如何確定?假設(shè)熱度從100變成1,用了24小時(shí)(全衰期),可以視為基本衰減完畢,即F(T)=0,T-T0=24,依此可以求得k值。”
這里有點(diǎn)沒看懂,辛苦樓主解答一下:F(T)是個(gè)指數(shù)函數(shù),好像不能等于0,這里的k是如何計(jì)算的
感謝指正,F(xiàn)(T)應(yīng)為0.01
有沒有文字版
具體是?
不錯(cuò) 期待人人都是產(chǎn)品經(jīng)理能增加公式編輯器功能
??
請(qǐng)教作者:現(xiàn)在負(fù)責(zé)直播/短視頻這塊的推薦算法產(chǎn)品經(jīng)理,但是之前沒有過這塊的經(jīng)驗(yàn),請(qǐng)問有哪些書籍或論壇推薦給我,可以讓我學(xué)習(xí)這相關(guān)的一些算法的。謝謝了!
你好,書籍的話推薦《推薦算法實(shí)踐》,算是國(guó)內(nèi)第一本工程實(shí)踐的書了。
因?yàn)橥扑]算法基本是算法工程師設(shè)計(jì)的,如果你所在的團(tuán)隊(duì)已經(jīng)有算法工程師,那么你可以更加關(guān)注在目標(biāo)和算法效果評(píng)估上哈
你好,我想咨詢一下這種效果的評(píng)估如何進(jìn)行評(píng)估
您好啊,這邊也在參與短視頻社交這塊的內(nèi)容,不嫌棄的話,能互相認(rèn)識(shí)一下嗎?謝謝了!