信息流優(yōu)化:牛頓冷卻定律的應(yīng)用

3 評(píng)論 10202 瀏覽 67 收藏 10 分鐘

信息流作為一種呈現(xiàn)內(nèi)容的方式,天然地存在一些問題,為了更好地展示信息,滿足用戶需求,需要對(duì)信息流進(jìn)行一些優(yōu)化。筆者在本文中由牛頓冷卻定律得到啟發(fā),對(duì)信息流的呈現(xiàn)提出了優(yōu)化方法。

之前做社區(qū)類產(chǎn)品時(shí),為了讓用戶能夠及時(shí)看到一些比較熱門的帖子,以及讓一些新的內(nèi)容能夠及時(shí)呈現(xiàn)給用戶,所以嘗試了很多辦法。

比如,簡單粗暴地按照時(shí)間先后順序展現(xiàn)帖子,最新發(fā)布的就在最上面的位置,實(shí)現(xiàn)起來最簡單,但對(duì)用戶而言一些熱門的帖子就有可能沉在下面去了。

又考慮結(jié)合用戶評(píng)價(jià)、瀏覽等其他維度的數(shù)據(jù)綜合來進(jìn)行評(píng)定,分別按一定權(quán)重計(jì)分,總分最高的排最上面,用這種方式的話從某種程度上確實(shí)可以實(shí)現(xiàn)熱門帖子的曝光;但會(huì)導(dǎo)致的問題就是越是熱門的帖子越是會(huì)被置頂,而新的帖子反而缺少了曝光的機(jī)會(huì)。

于是,只好想一些其他的辦法,甚至考慮去借助算法進(jìn)行實(shí)現(xiàn),但在嘗試去尋找成熟算法的過程中就發(fā)現(xiàn),很多算法相對(duì)來說比較復(fù)雜,而且最主要的是很多算法都需要在大量的數(shù)據(jù)情況下才會(huì)得到相對(duì)準(zhǔn)確的結(jié)果。

所以,最后思考解決這個(gè)問題的方式,便又回到帖子瀏覽這個(gè)事情的本質(zhì)上來。站在用戶的角度上,一方面當(dāng)然是希望對(duì)于一些比較熱門的帖子能夠及時(shí)看到,但另外一方面還是希望能不斷看到新的東西。

一、相關(guān)原理

上面的這種場景,概括起來就是新的內(nèi)容總是會(huì)替代老的內(nèi)容,而它又恰好類似于物理學(xué)當(dāng)中的一個(gè)定律,它叫做“牛頓冷卻定律”。

本質(zhì)上它描述了高于周圍溫度的物體會(huì)向外散熱,并逐漸降溫的過程,同時(shí)單位時(shí)間內(nèi)散熱與周圍溫差會(huì)成正比關(guān)系。

而這個(gè)就跟我們前面提到的帖子的曝光情況是基本一致的,如果把帖子曝光或者排名情況想象成溫度,隨著時(shí)間的推移,最終帖子的排名也是會(huì)慢慢降下來。

二、影響因素

根據(jù)上面的描述,我們會(huì)發(fā)現(xiàn),帖子的排名受到了幾方面的因素影響:

1. 初始熱度

既然是一個(gè)隨著時(shí)間推移熱度逐漸降低的過程,如果帖子剛被發(fā)布的初始情況下,沒有一個(gè)默認(rèn)的熱度值,則會(huì)導(dǎo)致帖子沒有辦法降低熱度;出現(xiàn)的結(jié)果就是大量帖子的熱度是相同的,那就無法區(qū)分排名情況。

所以,對(duì)于帖子剛發(fā)布時(shí),需要給出相應(yīng)的熱度,如果完全是模擬溫度降溫的情況,那么就可以把初始的熱度設(shè)置為100,最終帖子的熱度都會(huì)慢慢趨近于0,但不會(huì)等于0。

而且,由于當(dāng)時(shí)我們有很多不同的內(nèi)容分類展示在同一個(gè)帖子列表當(dāng)中,而我們又有一些對(duì)于不同內(nèi)容的初始情況下的不同展示傾向,于是便按照不同的內(nèi)容分類劃分了不同的初始熱度值。

比如有科技、財(cái)經(jīng)、體育、女性等不同類別的內(nèi)容,而我們傾向的順序是科技、女性、體育、財(cái)經(jīng),所以最終劃分的初始熱度值就不再都是100,而是劃分成了100,90,80,70。當(dāng)然,具體的數(shù)值,還是需要根據(jù)實(shí)際上線后的情況去反復(fù)的調(diào)整。

2. 用戶行為

如果只是有上面提到的因素,那么可能會(huì)導(dǎo)致的問題就是,有很多相近或者同一時(shí)間段發(fā)布的帖子,熱度值隨著時(shí)間的推移降低的速度幾乎是一致的,這就會(huì)導(dǎo)致帖子的排名也基本上是一致的,從而失去了我們做這個(gè)東西的目的。

所以為了解決這樣的問題,還可以在除了初始熱度以外,引入帖子被發(fā)布后用戶對(duì)其產(chǎn)生的一些行為,常見的行為可以包括瀏覽、評(píng)價(jià)、收藏、分享、點(diǎn)贊等。

具體實(shí)現(xiàn)時(shí),可以按照不同的維度劃分權(quán)重,然后按照實(shí)際的數(shù)量乘以對(duì)應(yīng)的權(quán)重后(比如瀏覽量、評(píng)價(jià)量、收藏量、點(diǎn)贊量、分享量分別對(duì)應(yīng)的權(quán)重是10%、20%、20%、20%、30%),求總的得分,總分姑且稱之為用戶行為熱度,計(jì)算方式為:

用戶行為熱度=瀏覽量*10%+評(píng)價(jià)量*20%+收藏量*20%+點(diǎn)贊量*20%+分享量*30%

3. 時(shí)間

最主要的毫無疑問是時(shí)間。

無論對(duì)于用戶還是平臺(tái),顯然是不希望一直是同樣的內(nèi)容霸占了排行榜或者帖子列表的最前面位置的,而是希望不斷被更新的內(nèi)容所替代,也可以稱之為帖子的熱度需要隨時(shí)時(shí)間的推移而慢慢衰減,最好能呈現(xiàn)出下面這樣的一種趨勢(shì):

牛頓冷卻定律的應(yīng)用

在時(shí)間方面,除了上面提到的隨時(shí)間推移的趨勢(shì),站在實(shí)際的場景上,對(duì)于任一帖子,最好是在某一定時(shí)間段之后,帖子順序能夠發(fā)生周期性的變化。

可以理解為刷新帖子熱度的時(shí)間間隔,具體的間隔多少則需要根據(jù)平臺(tái)的內(nèi)容量來確定、如果內(nèi)容較多,希望盡快呈現(xiàn)新的內(nèi)容給用戶,便可以把時(shí)間間隔設(shè)置的比較短;如果內(nèi)容較少,則可以把間隔時(shí)間設(shè)置的比較長。

三、推導(dǎo)過程

確定了上面的影響因素,便可以參照牛頓冷卻定律整理出對(duì)應(yīng)的算法公式了,牛頓冷卻定律的公式可以表示為:

ΔT(t) / Δt = – k (T(t) – C)

其中T(t)表示溫度隨時(shí)間變化的函數(shù),t表示當(dāng)前的時(shí)間,C表示一個(gè)常量室溫,ΔT(t)表示當(dāng)前時(shí)間從開始到當(dāng)前時(shí)間的溫度隨時(shí)間變化的差值,Δt則表示從開始到當(dāng)前時(shí)間的間隔,而-k則是牛頓冷卻定律概念當(dāng)中單位時(shí)間內(nèi)散熱與周圍溫差會(huì)成正比關(guān)系的比值,又稱之為冷卻系數(shù)。

而將上面這個(gè)公式利用導(dǎo)函數(shù)、積分的知識(shí),進(jìn)行相應(yīng)的轉(zhuǎn)換變形后,可以變化如下(具體過程就不推導(dǎo)了,畢竟沒太大意義):

T = T0 x (1/e) ^(k(t-t0))

而將上面這些變量和常量替換為產(chǎn)品設(shè)計(jì)當(dāng)中的帖子情況時(shí),則可以理解為,T代表著帖子當(dāng)前的熱度,T0代表著初始熱度和用戶行為熱度的總和,k則代表著冷卻系數(shù),t-t0則代表間隔時(shí)間。

結(jié)合前面提到的關(guān)于初始熱度和用戶行為熱度的計(jì)算方式,則相關(guān)公式可以為:

T0 = H(Type)+ H(Action)

H(Action) = action1* a% + action2* b% + action3* c% + ……

H(Type)則為初始熱度值,可以根據(jù)不同類型內(nèi)容進(jìn)行設(shè)置,H(Action)則為用戶行為熱度值,不同的行為有各自的權(quán)重,權(quán)重占比總額為1。

而從函數(shù)曲線上來說,k越大,則曲線越陡,意味著熱度降低越快,k越小,則曲線越平緩,意味著熱度降低越慢。

四、注意事項(xiàng)

針對(duì)一些異常情況,需要定義相關(guān)規(guī)則。在熱度值恰好一樣的情況下,需要定義相關(guān)的排序規(guī)則,比如按照某個(gè)單一維度或者綜合維度排序。

上線后,還需要不斷去監(jiān)控?cái)?shù)據(jù)情況,如果發(fā)現(xiàn)排名變化太快,則需要去對(duì)冷卻系數(shù)進(jìn)行相應(yīng)的調(diào)整。

當(dāng)然,為了更好的拓展相關(guān)業(yè)務(wù),比如會(huì)在正常的帖子熱度當(dāng)中加入付費(fèi)的排行,或者其他推廣的業(yè)務(wù),可以考慮優(yōu)化公式,或者強(qiáng)行人工推薦,那么對(duì)于帖子內(nèi)容可能就會(huì)考慮做一些不一樣的帖子池的維護(hù)。

 

作者:小風(fēng),產(chǎn)品經(jīng)理;公眾號(hào):村上風(fēng)

本文由 @小風(fēng) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Pexels,基于 CC0 協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 老師好,還有些沒看懂,方便了給指導(dǎo)一下呢,感謝 感謝!
    T = T0 x (1/e) ^(k(t-t0)),公式里1/e,這個(gè)“e”代表啥意思呢?t-t0,“t”代表時(shí)間總數(shù),“t0”是不斷變化的?感謝百忙之中,給予指導(dǎo),感謝 感謝!

    來自河南 回復(fù)
  2. 小風(fēng)老師yyds?。。?/p>

    回復(fù)
  3. 想法不錯(cuò)~

    回復(fù)