一文看懂推荐系统:物品冷启05:流量调控
一文看懂推薦系統:物品冷啟05:流量調控
提示:最近系統性地學習推薦系統的課程。我們以小紅書的場景為例,講工業界的推薦系統。
我只講工業界實際有用的技術。說實話,工業界的技術遠遠領先學術界,在公開渠道看到的書、論文跟工業界的實踐有很大的gap,
看書學不到推薦系統的關鍵技術。
看書學不到推薦系統的關鍵技術。
看書學不到推薦系統的關鍵技術。
王樹森娓娓道來**《小紅書的推薦系統》**
GitHub資料連接:http://wangshusen.github.io/
B站視頻合集:https://space.bilibili.com/1369507485/channel/seriesdetail?sid=2249610
基礎知識:
【1】一文看懂推薦系統:概要01:推薦系統的基本概念
【2】一文看懂推薦系統:概要02:推薦系統的鏈路,從召回粗排,到精排,到重排,最終推薦展示給用戶
【3】一文看懂推薦系統:召回01:基于物品的協同過濾(ItemCF),item-based Collaboration Filter的核心思想與推薦過程
【4】一文看懂推薦系統:召回02:Swing 模型,和itemCF很相似,區別在于計算相似度的方法不一樣
【5】一文看懂推薦系統:召回03:基于用戶的協同過濾(UserCF),要計算用戶之間的相似度
【6】一文看懂推薦系統:召回04:離散特征處理,one-hot編碼和embedding特征嵌入
【7】一文看懂推薦系統:召回05:矩陣補充、最近鄰查找,工業界基本不用了,但是有助于理解雙塔模型
【8】一文看懂推薦系統:召回06:雙塔模型——模型結構、訓練方法,召回模型是后期融合特征,排序模型是前期融合特征
【9】一文看懂推薦系統:召回07:雙塔模型——正負樣本的選擇,召回的目的是區分感興趣和不感興趣的,精排是區分感興趣和非常感興趣的
【10】一文看懂推薦系統:召回08:雙塔模型——線上服務需要離線存物品向量、模型更新分為全量更新和增量更新
【11】一文看懂推薦系統:召回09:地理位置召回、作者召回、緩存召回
【12】一文看懂推薦系統:排序01:多目標模型
【13】一文看懂推薦系統:排序02:Multi-gate Mixture-of-Experts (MMoE)
【14】一文看懂推薦系統:排序03:預估分數融合
【15】一文看懂推薦系統:排序04:視頻播放建模
【16】一文看懂推薦系統:排序05:排序模型的特征
【17】一文看懂推薦系統:排序06:粗排三塔模型,性能介于雙塔模型和精排模型之間
【18】一文看懂推薦系統:特征交叉01:Factorized Machine (FM) 因式分解機
【19】一文看懂推薦系統:物品冷啟01:優化目標 & 評價指標
【20】一文看懂推薦系統:物品冷啟02:簡單的召回通道
【21】一文看懂推薦系統:物品冷啟03:聚類召回
【22】一文看懂推薦系統:物品冷啟04:Look-Alike 召回,Look-Alike人群擴散
提示:文章目錄
文章目錄
- 一文看懂推薦系統:物品冷啟05:流量調控
- 流量調控:新老筆記怎么分配流量
- 新筆記提權(boost)
- 新筆記保量
- 動態提權更牛
- 差異化保量
- 總結
流量調控:新老筆記怎么分配流量
這節內容是物品冷啟動中的流量調控。
做冷啟動最重要的抓手有兩個,
一個是優化推薦全鏈路,包括召回和排序,每一個環節都針對新筆記做優化,
讓新筆記有足夠多的機會走完鏈路被曝光,還要盡量讓新筆記的推薦多的準,不要讓用戶反感。
另一個抓手是流量調控,也就是流量怎么樣,在新筆記和老筆記之間分配。
工業界常見的做法是讓流量向新筆記傾斜,幫助新筆記獲得更多的曝光機會。
我們來討論一個問題。為什么要給新筆記流量傾斜?
扶持新筆記主要有兩個目的,第一個目的是促進作者發布,增大內容池,
前面我們已經討論過,新筆記獲得的曝光越多,作者的創作積極性就越高,
把流量向新筆記傾斜,可以觀測到發布滲透率和人均發布量的提升。
扶持新筆記的第二個目的是挖掘出優質筆記。
假如一篇筆記沒有獲得幾次曝光,即使筆記的質量特別高,系統也沒有辦法發現這是篇優質筆記。
不會給這篇筆記更多的流量,讓它變成熱門筆記,
所以我們要保證每篇新筆記在初始的探索階段,都能獲得足夠多的曝光,
比如獲得100次曝光,如果能體做得好,能更好的挖掘出優質筆記,
那么高熱筆記的占比會提高,比如點擊1000次以上的筆記占比會更高。
我舉個例子,說明工業界大致怎樣對新發布的物品做扶持展示。
推薦系統主要分發年齡小于30天的筆記,
超過30天的筆記,通常不會出現在推薦的結果里,只能通過搜索和其他渠道曝光,
假如采用完全的自然分發,讓新老筆記公平競爭,
那么年齡小于24小時的新筆記的曝光機會非常少,只有1/30,
但我們會給新筆記大力度的扶持,讓新筆記有足夠多的機會曝光。
小紅書年齡小于24小時的新筆記的曝光占比具體是多少,我不方便說,
但這個數字遠遠大于1/30,也就是說新筆記的流量遠遠大于自然分發的流量。
業界的流量調控技術大致有這幾個發展階段,最原始的流量調控技術是強插。
在推薦結果中強插新筆記,讓新筆記獲得額外的曝光機會。
我聽說某些大廠的邊緣業務線現在還是在用這種落后的技術【萬一插完讓用戶惡心咋弄呢?比如百度那些廣告……】,
提權boost是稍微復雜一點的流量調控技術,
其實也不復雜,就是調權重有點麻煩,
在做排序的時候,給新筆記的分數做boost,
比如加上或者乘以一個系數,這樣會讓新筆記更占優勢,獲得更多的曝光機會。
給新筆記齊全,是投入產出比很劃算的策略,
實現起來也不難,效果還可以,
像抖音小紅書在前期都這么做。
高級點的技術是保量。比如盡量保證每篇新筆記都能在前24小時或者至少100次曝光。
保量的手段也是提前,但是提前的策略更復雜、更精細。
更高級的技術是差異化保量,在筆記剛剛發布的時候,
根據內容質量決定保量的目標是多少次曝光,內容質量高的
保量的目標是給質量高給更多的流量傾斜,
我從新筆記的提權開始講起,后面的保量也是靠提全來做。
新筆記提權(boost)
這是推薦系統的電路粗排會做截斷,從幾千物品中選出幾百個,
重排的時候會根據精牌分數和多樣性做抽樣,從幾百個物品中選出幾十個曝光給用戶。
如果不用規則去干涉,而上新筆記和老筆記自由競爭,那么新筆記的曝光機會是很有限的。
假設推薦系統主要分發年齡小于30頁的筆記,
如果純粹用自然分發,那么曝光的筆記中年齡小于24小時的新筆記應該占1/30。
如果想讓新筆記占到更多的曝光?
那么就必須做人為干涉,在哪個環節干涉?
顯然是干涉粗排和重排。
這兩個環節是漏斗,會過濾掉大量筆記,
干涉的方法就是對新筆記提權,讓新筆記比老筆記更有優勢,有更多的機會通過漏斗,
我再重復一遍,給新筆記提權的目標就是讓新筆記有更多的機會曝光。
如果純粹做自然分發,不去干涉新筆記的權重,
那么24小時以內的新筆記的曝光占比只有1/30。
我們做人為干涉,給新筆記提權,讓新筆記的占比增大到一個很大的數值大于1/30,
粗排和重排環節都是漏斗促排,從幾千篇筆記中選出幾百篇重排,從幾百篇中選出幾十篇。
我們要做人為干涉,讓新筆記有更多機會。
通過粗排和重排,可以給新筆記的分數乘以一個大于一的系數,
讓新筆記更有優勢,然后讓新筆記和老筆記自由競爭,
誰的分數高,誰就有更大的幾率通過漏斗最終獲得曝光給新筆記。
提權比較容易實現,可以用小的投入獲得比較好的產出,
在前期沒有足夠多的人力的情況下,這種方案比較好。
但這種方案有很明顯的缺點,這種方案需要人為設置一些提權系數,
把他們乘到排序模型打的分數上,曝光量對集權系數很敏感,
系數大一點,可能會把很多B質量的新筆記排在前面,
系數小一點給新筆記的曝光可能不足,很多新筆記得不到充足的曝光,
這就造成另一個問題,很難精確控制曝光量,
我們需要仔細調參數,但是調的再細也做不到精準控制曝光量,肯定會發生過度曝光和不充分曝光。
新筆記保量
剛才討論的新筆記齊全,接下來我要介紹新筆記保量
保量是什么意思?
舉個例子,對于一篇新筆記,不論筆記質量高低,無論筆記是什么內容,
都盡量保證它在前24小時獲得100次曝光。
最原始的保量方法是在原有提權系數的基礎上,再乘以額外的提權系數,
幫助筆記在24小時獲得100次曝光。
我們需要差異化對待不同的發布時間,不同曝光次數的筆記。
這里我舉了個例子,表中的數字是提權系數,也就是在原有提權的基礎上進一步加大權重。
表中的行表示筆記的年齡列表示當前已經獲得的曝光次數。
大致的意思是這樣的,24小時獲得100次曝光是保量的目標,
比100次曝光差的越多,提權的系數就越大,
爭取給筆記更多的曝光機會。
舉個例子,等比例來算,12小時應該獲得50次曝光,
如果12小時達到50次曝光了,那么提權系數就是一,不給額外的扶持。
假如12小時只獲得20次曝光,那么就應該大幅度提權
比如乘以提權系數1.2,
這個表只是為了方便,都是我隨便編的,真正做保量的時候,需要仔細調權重才行。
動態提權更牛
動態集權保量是更先進的保量做法,
用四個數字計算出提權系數,
前兩個只是目標時間和目標曝光,比如24小時獲得100次曝光,
第三個只是發布時間,比如筆記已經發布了12小時,
第四個只是已有曝光,比如筆記已經獲得了20次曝光,
在這個例子中,
如果筆記已經發布了12小時,那么預期應該獲得至少50次曝光,
假如12小時才獲得了20次曝光,
那么就應該讓提權系數變大,有更多的機會被曝光。
可以利用類似上面f這樣的函數動態計算提權系數
函數f有兩個變量,
一個變量是發布時間除以目標時間,
另一個變量是已有曝光除以目標曝光。
在上面的例子中,發布時間是12小時,目標時間是24小時,兩者相除等于0.5,
已有曝光是20,目標曝光是1,把兩者相除等于零點二
兩個變量,分別是0.5和0.2
用這兩個數來確定一個提權系數,第一個數越大,第二個數越小,提權系數就應該越大。
更多的細節我就不方便多說了。
保量看起來簡單,只需要把提權系數調好就行了,
但實際操作起來,保量并不容易,成功率遠低于100%,
也就是說很多新筆記加24小時達不到100次。
曝光造成保量失敗的原因可能有很多種,
有可能是鏈路上存在問題,比如新筆記的召回做的不好。
有些類型的新筆記很難被召回,就算提權系數再高,這樣的新筆記也很難獲得曝光。
也有可能是排序模型的問題,對新筆記的預估做的不準,
還有可能是新筆記提前系數沒有調好,導致曝光不足。
即使把鏈路和提前系數都優化好了,現場環境的變化也會導致保量的失敗。
這件系統總是在不斷的升級迭代中,比如添加新的召回通道,比如升級的排序模型。
比如改變了重拍、打散的規則,這些變化都有可能導致保量失敗。
現場環境變化之后,往往需要調整提權系數,很麻煩。
我們來思考一個問題,能不能這樣做保量?
我們給所有新筆記一個很大的提權系數,比如四倍,一直給到達成100次曝光為止。
比方說有的筆記20分鐘就達到100次曝光,
有的筆記用了十個小時才達到100次曝光,只要一篇新筆記達到曝光,
就不再做提權系數,把它跟老筆記同等對待,
很顯然有很大的提權系數系數,保量的成功率會很高。
問題來了,既然這樣的保量成功率很高,那為什么不用這種簡單的方法,
而是要用更精細、更復雜的計算方法?
不用這種簡單粗暴的方法,當然這種方法效果不好。
我們來分析一下,思考一個問題,是不是給新筆記的分數提升越多,對新筆記越有利?
乍看起來是這么回事,假如把一篇筆記的分數乘以二,筆記的排序位置就會更高,獲得更多的曝光。
也就是說,在筆記等級階段,分數提升越多,對新筆記的曝光次數越有利,
但是過了冷啟動階段之后,之前大力度的扶持可能會起到反作用。
如果不要去人為提升預估分數,那么只有當遇見匹配的受眾的時候,預估分數才會高,
筆記才能通過排序的篩選最終曝光給用戶。
假如人為大幅提升筆記的分數,那么筆記很容易通過排序的篩選,
哪怕筆記不是用戶特別感興趣的話題,把筆記推薦給不太合適的受眾會有什么后果?
很顯然,如果用戶不太感興趣,那么就不會點擊,不會點贊,
這樣會對點擊率、點贊率等指標造成負面的影響。
給筆記分數提升的越狠,**越會讓筆記展示給不合適的受眾,**對點擊率點贊率越不利。
如果點擊率、點贊率之類的數值比較低,那么筆記會長期受推薦系統的打壓,曝光會很少,
本來有潛力熱門的物品最終沒有成長起來,
回到上面的問題,是不是給新筆記分數提升的越多對新筆記越有利?
答案是否定的,
所以很粗暴的給新筆記提全對新筆記并不好,這也就是為什么做保量的時候要很仔細的調提權的系數。
差異化保量
前面我介紹了保量的方法和難點,接下來介紹差異化保量。
簡單的保量是這么做的,不論新筆記質量高低都會扶持,目標是在前24小時給100次曝光,
差異化保量有所區別
不同的筆記有不同的保量目標,比如普通筆記保100次曝光,優質內容的筆記保100到500次曝光,
具體的保量目標由算法判定,
差異化保量大致是這么做的,每篇筆記都有一個基礎保量,比如24小時保100次曝光,
差異化保量的依據是筆記內容質量和作者質量【這時候體現質量和美學質量評價的好處了】
對于內容質量,我們可以用多模態神經網絡判定圖文視頻的質量高低。
在新筆記發布的時候,根據模型的預測給新筆記額外的保量,比方說最多給200次額外的保量。
差異化保量的另一個依據是作者質量,
如果一個作者以前發布的筆記質量普遍比較高,那么他發的新筆記也大概率質量比較高,
應該給予額外的保量目標,比如最多增加200次額外的保量,
如果這這樣做差異化保量,那么一篇新筆記,在前24小時至少保100次曝光,最多保500次曝光,
達到保量目標之后就會停止扶持,讓新筆記自然分發,跟老筆記公平競爭。
總結一下這節的內容,
流量調控的意思是用策略決定流量如何在新老筆記之間分配。
這節通用的做法是扶持新筆記,這樣可以促進作者發布。
扶持新筆記的抓手主要有兩個,
一個是給新筆記增加單獨的召回通道,
另一個抓手是在排序階段提權,
也就是這節的內容
保量是業界做的一個比較先進的做法,
比方說幫助新筆記在前24小時獲得100次曝光,
想要達到保量目標并不容易,保量的成功率達不到100%。
比標準保量更高級的做法是差異化保量,
就是根據筆記的內容質量、作者質量,給每篇筆記單獨定一個保量目標。
差異化保量有助于扶持高質量的新筆記,對整個生態是有益的。
這節介紹的動態提權,保量和差異化保量算不上業界的頂尖技術,但也算是比較先進的技術。
技術很好的大廠,核心部門才能做到,
非核心部門或者是二線互聯網公司是做不到的。
我剛加入小紅書的時候,小紅書也做不到,
做保量的坑很多,但還是值得嘗試。
根據業界的經驗,如果能把保量的基礎做好,對發布的指標會有非常大的提升。
最后我多說一句,我在課程里面講的數據全都是我隨便編的,為了教學方便,這些不是小紅書的真實數據,大家不要當真。
總結
提示:如何系統地學習推薦系統,本系列文章可以幫到你
(1)找工作投簡歷的話,你要將招聘單位的崗位需求和你的研究方向和工作內容對應起來,這樣才能契合公司招聘需求,否則它直接把簡歷給你掛了
(2)你到底是要進公司做推薦系統方向?還是純cv方向?還是NLP方向?還是語音方向?還是深度學習機器學習技術中臺?還是硬件?還是前端開發?后端開發?測試開發?產品?人力?行政?這些你不可能啥都會,你需要找準一個方向,自己有積累,才能去投遞,否則面試官跟你聊什么呢?
(3)今日推薦系統學習經驗:這節介紹的動態提權,保量和差異化保量算不上業界的頂尖技術,但也算是比較先進的技術。根據業界的經驗,如果能把保量的基礎做好,對發布的指標會有非常大的提升。
總結
以上是生活随笔為你收集整理的一文看懂推荐系统:物品冷启05:流量调控的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AUTOCAD安装未完成,某些产品无法安
- 下一篇: WMS系统