運(yùn)營必知「推薦」二三事

不想當(dāng)「廚師」的「采購員」不是「好運(yùn)營」

對于一個內(nèi)容產(chǎn)品來說,運(yùn)營的日常的工作中,特別是「內(nèi)容運(yùn)營」的同學(xué)會經(jīng)常和推薦算法同學(xué)有很多工作上的配合,運(yùn)營同學(xué)像是一個餐館的采購員,負(fù)責(zé)食材的采買,而推薦同學(xué)就像是廚師,結(jié)合用戶所點的菜單(偏好)采用對應(yīng)的食材做成用戶大概率會喜歡的菜肴。

在這個鏈條里,運(yùn)營同學(xué)在上游,如果引入的內(nèi)容/創(chuàng)作者不夠優(yōu)質(zhì),就像采買的食材不夠新鮮高質(zhì)一樣,推薦同學(xué)無論怎么努力都很難做出可口的菜肴。同時還有另一個問題,即便運(yùn)營同學(xué)采買了最好的食材,如果推薦同學(xué)做菜的方式有問題,后者沒有最合理的使用食材,也沒有最大限度發(fā)揮食材的價值,暴殄天物了。

因此對于運(yùn)營同學(xué)來說,不僅做好自己的上游工作,還非常有必要知道推薦的相關(guān)工作,這樣當(dāng)做出的菜肴不夠好吃時,我們才能及時發(fā)現(xiàn)是食材的問題,還是做的方法有問題?更快的進(jìn)行下一步的調(diào)整。

必知一:內(nèi)容是如何被推薦的?

對于運(yùn)營同學(xué)來說,首先需要了解的是:內(nèi)容是如何被推薦的?我們引入的創(chuàng)作者和他們的內(nèi)容,是如何經(jīng)過層層流程,決定是否被推薦,以及被給到多少流量的?內(nèi)容在進(jìn)入系統(tǒng)后整體的處理流程,不同產(chǎn)品和不通過公司的處理是不太一樣的,但是整體邏輯上基本相同,大模塊的業(yè)務(wù)邏輯基本如下圖。

內(nèi)容推薦流程圖

如上圖所示,當(dāng)用戶上傳一條內(nèi)容后,內(nèi)容會首先經(jīng)過安全審核的流程,安全審核主要是將一些違規(guī),黃色暴力血腥的內(nèi)容剔除掉,未過審的視頻基本就永久屏蔽或者直接刪除。通過安全審核后,大部分內(nèi)容社區(qū)會有原創(chuàng)審核,將一些重復(fù)上傳或者搬運(yùn)的內(nèi)容過濾掉,原創(chuàng)審核大部分是依靠機(jī)器來審核的,未通過原創(chuàng)審核的就只會在用戶自己的個人主頁,或者粉絲的關(guān)注頁等私域展示;

通過了原創(chuàng)審核后的視頻會再進(jìn)入第一道質(zhì)量審核,質(zhì)量審核主要是把一些無意義、無主題、雜亂的內(nèi)容過濾掉,通過了第一道質(zhì)量審核后,內(nèi)容將會被推薦系統(tǒng)納入推薦候選池,然后會給作品最基礎(chǔ)的流量推薦,目的是通過基礎(chǔ)流量后產(chǎn)生的數(shù)據(jù)初步判斷作品質(zhì)量的好壞。

如果基礎(chǔ)流量過后的數(shù)據(jù)反饋較好的話,就會接著加碼給到更多的流量推薦,拿到更多流量推薦后,如果數(shù)據(jù)表現(xiàn)不好,也會被停止推薦,數(shù)據(jù)表現(xiàn)好的,會再進(jìn)入一道內(nèi)容質(zhì)量審核或者舉報審核,第二道質(zhì)量審核主要目的是防止前面的審核會有漏審,或者有一些不符合社區(qū)內(nèi)容調(diào)性的內(nèi)容出現(xiàn)。舉報審核是指消費(fèi)內(nèi)容用戶主動點擊的舉報,收到過多舉報的內(nèi)容一定是有潛在風(fēng)險,需要人工再次審核。

通過第二道質(zhì)量審核,或者舉報審核后,作品將會被持續(xù)給到更多流量,進(jìn)入一個周期的推薦,成為內(nèi)容平臺重點推薦的候選內(nèi)容。但是在整個持續(xù)推薦過程中,還會有一些更細(xì)的審核流程,比如高熱審核,針對全平臺最熱門的視頻進(jìn)行審核,保證沒有風(fēng)險,同時持續(xù)進(jìn)行用戶舉報審核,及時發(fā)現(xiàn)潛在違規(guī)作品。

持續(xù)推薦過程中,如果內(nèi)容的數(shù)據(jù)反饋出現(xiàn)下滑,那么會慢慢的進(jìn)行推薦冷卻,直至停止推薦。

以上所有流程中,被停止推薦的作品,在后續(xù)的 過程中,也會因為一些偶然的觸發(fā)或者其它的召回被重新激活,給到更多流量進(jìn)行推薦。常見的比如遇到節(jié)日,過往節(jié)日類的內(nèi)容就會被重新召回推薦。

了解了上面的推薦流程后,運(yùn)營同學(xué)就能對整體內(nèi)容的流轉(zhuǎn)有一個清晰的認(rèn)知,可以結(jié)合到自己的產(chǎn)品或者業(yè)務(wù)邏輯,細(xì)化整體的流程,這樣當(dāng)遇到問題的時候,就能及時的知道目前內(nèi)容處在一個什么階段。

必知二:推薦系統(tǒng)是如何工作的?

上述的推薦流程中,能幫助我們厘清內(nèi)容流轉(zhuǎn)的邏輯,但是在上圖中的流量推薦模塊,到底是如何進(jìn)行推薦的,我們并不清楚。為了搞清楚這個問題,我們得先對整體推薦系統(tǒng)有一個了解。

如果把推薦系統(tǒng)簡單拆開來看,推薦系統(tǒng)主要是由數(shù)據(jù)、算法、架構(gòu)三個方面組成。

  • 數(shù)據(jù)主要提供推薦所必須的信息,包括用戶和內(nèi)容的特征信息,用戶對于內(nèi)容的行為反饋數(shù)據(jù)等;
  • 算法主要是提供策略和邏輯,在海量的數(shù)據(jù)下,人工策略已經(jīng)很難進(jìn)行分析和干涉,因此需要一套算法來自動的進(jìn)行信息邏輯處理和返回推薦的內(nèi)容;
  • 架構(gòu)主要是承載數(shù)據(jù)和算法的平臺,對接上下游的數(shù)據(jù)和邏輯,保證系統(tǒng)能夠穩(wěn)定、實時自動的運(yùn)行。

常見的推薦系統(tǒng)如下圖所示。


推薦系統(tǒng)架構(gòu)(示意圖)

在上圖的推薦架構(gòu)中,數(shù)據(jù)存儲模塊,主要是負(fù)責(zé)存儲內(nèi)容索引(一種對應(yīng)到內(nèi)容的邏輯標(biāo)識,便于找到內(nèi)容),用戶特征(包含用戶的畫像信息,興趣點等),用戶日志(包含用戶在客戶端對內(nèi)容產(chǎn)生的一些行為,比如,點擊,點贊,分享,評論等)

推薦算法部分,會通過內(nèi)容索引對內(nèi)容進(jìn)行召回,召回的候選內(nèi)容一般都比較多,然后會經(jīng)過一層過濾,將一些不適合推薦,或者其它運(yùn)營、審核邏輯干涉的進(jìn)行過濾,然后產(chǎn)生的推薦候選池會進(jìn)行排序,排序通常分為粗排和精排兩個步驟,排序的方式是通過用戶的特征,以及用戶的行為日志,將內(nèi)容排成用戶最有可能細(xì)化的順序。這樣最終的排序后的內(nèi)容就會推送到客戶端,按照客戶端實際的展現(xiàn)場景進(jìn)行展示。

內(nèi)容展示后,用戶對其產(chǎn)生的行為就會通過日志重新上報,然后實時進(jìn)行日志的計算,用戶畫像更新和推薦指標(biāo)更新,比如ctr等,實時計算完成后,再更新到數(shù)據(jù)存儲中進(jìn)行最后的存儲,這樣,后續(xù)的推薦取得數(shù)據(jù)都是最新的。

必知三:推薦算法核心兩步:召回+排序

前面的推薦系統(tǒng)結(jié)構(gòu)圖,讓我們知道了推薦的上下游工作原理,也知道推薦系統(tǒng)的組成部分有哪些,在這些組成部分里,和運(yùn)營日常工作中交集最多的部分,應(yīng)該是推薦算法部分,推薦算法中最核心的兩步就是:召回和排序。了解了這一塊,基本也就大概明白了推薦算法的原理,以及我們遇到一些推薦問題的時候,大概也能知道是哪一塊出了問題。

我們先來看下「召回」,什么是召回?召回就是指推薦系統(tǒng)通過某種策略從全量內(nèi)容池中選取一部分出來。推薦系統(tǒng)召回的方式一般有很多種,比如常見的,熱門召回,協(xié)同過濾召回,興趣標(biāo)簽召回等。單一的召回有自己的優(yōu)點,但同時缺點也會很明顯,因此為了有更完整、全面的召回,通常采用的是「多路召回」,如下圖所示:

多路召回

如上圖所示。如果我們根據(jù)召回是否有用戶個性化因素存在來劃分,可以分成兩大類:一類是無個性化因素的召回路,比如熱門內(nèi)容或者歷史點擊率高的內(nèi)容的召回;另外一類是包含個性化因素的召回路,比如用戶興趣標(biāo)簽召回,比如協(xié)同過濾召回。

簡單解釋下這幾個常見的召回策略:

  • 熱門召回,即全站,當(dāng)前按照內(nèi)容各項指標(biāo)計算得到的綜合分的排序,從這個排序中召回前k1個內(nèi)容;
  • 興趣標(biāo)簽,指根據(jù)用戶偏向的興趣標(biāo)簽,比如用戶喜歡看體育中的籃球,那么從籃球這個標(biāo)簽下召回k2個內(nèi)容;
  • 基于用戶的協(xié)同過濾,是指計算出用戶之間的興趣相似度,舉一個簡單的例子,比如用戶A喜歡{a,b,c},用戶B喜歡{a,b,d},那么我們可以用兩個用戶喜歡集合的交集除以并集,得到兩者的興趣相似度,為{a,b}/{a,b,c,d}=0.5;這樣我們找到和推薦用戶興趣點最相似的用戶們,推薦其它當(dāng)前用戶沒有看過的內(nèi)容,比如給用戶A推薦d;可以按照相似用戶中不同內(nèi)容的列表召回Top k3個內(nèi)容;
  • 基于內(nèi)容的協(xié)同過濾,和基于用戶的協(xié)同過濾類似,這里我們計算不同內(nèi)容之間的相似度,計算的方式有很多,簡單的可以直接喜歡兩個內(nèi)容的用戶數(shù)之間的重合度來計算,這樣可以得到和當(dāng)前內(nèi)容相似的內(nèi)容序列,按照相似度進(jìn)行排序,召回Top K4進(jìn)行推薦;
  • 基于社交關(guān)系的召回,一般是通過社交媒體的關(guān)系,將用戶的朋友喜歡的內(nèi)容推薦給用戶,比如微信視頻號里的,你的朋友點贊的內(nèi)容推薦;
  • 上下文信息召回,是指依照一些時間上下文,位置上下午進(jìn)行召回,最典型的是在節(jié)日期間,召回節(jié)日相關(guān)內(nèi)容,還有就是依據(jù)地理位置,進(jìn)行附近的內(nèi)容召回。

召回之后的排序,一般分成粗排和精排兩個階段;粗排一般對召回的大量內(nèi)容,進(jìn)行一些簡單的融合排序,比如多個召回源,各取TOP k,將大量的召回內(nèi)容,截斷到一個可控的量級(一般到千的量級),不然精排階段會非常耗時,精排一般都采用模型進(jìn)行排序,排序后召回內(nèi)容會到百量級。

精排的方式有很多,最初級的是策略規(guī)則排序(對各路召回,指定權(quán)重和規(guī)則進(jìn)行排序),后續(xù)有基于各種模型的排序,有LR(線性回歸),LR+GBDT(線性回歸+樹模型),F(xiàn)M(因子分解模型),DNN(深度學(xué)習(xí)模型)等。各種模型的排序較為復(fù)雜,很多不具備可解釋性,在這里不再贅述,感興趣的讀者可以自行檢索。

必知四:部分書籍和文章推薦

作為運(yùn)營的同學(xué)知道了上述的推薦邏輯后,基本能夠很順暢的和推薦同學(xué)進(jìn)行溝通,同時,也能及時發(fā)現(xiàn)推薦系統(tǒng)中可能存在的問題,也能在推薦召回部分,用戶畫像,內(nèi)容特征等維護(hù)根據(jù)自己運(yùn)營的經(jīng)驗,給出一些自己的看法。

在寫這篇文章過程中,我也參考了一些書籍和文章,推薦給大家。

《推薦系統(tǒng)實戰(zhàn)》:https://book.douban.com/subject/10769749/
推薦系統(tǒng)技術(shù)演進(jìn)趨勢:從召回到排序再到重排:https://zhuanlan.zhihu.com/p/100019681
推薦系統(tǒng)怎樣實現(xiàn)多路召回的融合排序:https://zhuanlan.zhihu.com/p/90796257
【機(jī)器學(xué)習(xí)】邏輯回歸:https://zhuanlan.zhihu.com/p/74874291

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容