編輯導讀:在推薦系統中,召回是從物料庫中獲取一小部分物料,這一小部分物料會在后續的環節被模型用來打分排序。本文作者圍繞推薦系統的召回進行了策略和場景兩個維度的分析,希望對你有幫助。
本文主要覆蓋以下2個topic:
- 召回
- 召回策略與場景
如果你對本文有興趣,就繼續往下看吧~
一、召回
本模塊主要回答以下幾個問題:
- 召回是什么?
- 為什么需要召回?
- 工業界大家都是怎么做召回的?
1.1 召回是什么
在推薦系統中,召回是從物料庫中,獲取一小部分物料,這一小部分物料會在后續的環節被模型用來進行打分排序。
1.2 為什么需要召回
在真實的生產中,往往有數以億計的item,如果直接用模型對這些item進行打分,完全不現實。所以需要召回環節。
召回環節主要數以億計的數據中,檢索出百級別的候選物品。
1.3 工業界大家都是怎么做召回的?
看幾個行業case。
(微信看一看)
(愛奇藝段視頻)
(蜻蜓FM)
總結一下:多路召回是當前推薦系統的主流架構。
KNOW-WHY環節,為什么大家都要用多路召回這種架構呢?
這樣的設計主要有如下考慮:
- 考慮用戶層面:用戶興趣的多元化,用戶需求與場景的多元化。例如:新聞需求,重大要聞,相關內容沉浸閱讀等等
- 考慮系統層面:增強系統的魯棒性;部分召回失效,其余召回隊列兜底不會導致整個召回層失效;排序層失效,召回隊列兜底不會導致整個推薦系統失效。
- 系統多樣性內容分發:圖文、視頻、小視頻;精準、試探、時效一定比例;召回目標的多元化,例如:相關性,沉浸時長,時效性,特色內容等等
- 可解釋性推薦一部分召回是有明確推薦理由的:很好的解決產品性數據的引入;
二、召回策略與場景
本模塊主要回答如下幾個問題:
- 策略與場景的關系?
- 如何設置場景的策略?
2.1 策略與場景的關系
先說結論:策略是強場景相關的~!
如何validate上述結論?
用戶逛首頁:這個時候,用戶暫時沒有明確的購物意圖,就是想來看看,有什么什么物品能夠吸引自己的興趣。所以這個時候的召回策略,偏興趣試探。
用戶逛詳情頁:比如你這個時候就想買一只奶茶色的口紅,你在某只口紅的詳情頁研究了3分鐘,并且下單了,這個時候給你推薦的,肯定還是奶茶色的口紅。畢竟對女人來說,一只口紅是買,兩只口紅也是買。
2.2 如何設置場景的策略?
是否有一些可以遵循的標準步驟/思考模式可以復用?
2.2.1 第一步:看數據
原則:任何策略都需要數據的支持。
use-case:
場景:
運營同學、算法同學、還有你,大家在一起討論是否要增加一路召回,這路召回的具體邏輯是按照用戶興趣topic進行召回。
思考邏輯:
按照興趣topic召回具體實現邏輯梳理:即用戶畫像有興趣topic字段,比如我西藍花,我的用戶畫像興趣topic字段有健身,那么可以用這一路進行召回。
數據現狀梳理:經過review用戶畫像數據,發現99%的用戶,都沒有興趣topic字段。那這樣的話,就算上了這一路召回,也沒有多大價值。
如果思考到這里就結束了,那我覺得還是不夠,我們還需要思考,如何獲得用戶的興趣topic字段。這就需要從產品設計上進行考慮~比如小紅書的引導
2.2.2 第二步:看場景
原則:
- 推薦策略最本質的功能是參與構建使得用戶沉浸其中的場景
- 用戶帶著不同的動機進入不同的場景,在用戶的瀏覽鏈路中,各個場景應該滿足或者引導用戶的需求。具體到召回與場景,不同的場景需要不同的召回通道,或者不同的場景對同一個召回通道有所偏重。舉例,app推薦首頁,更側重用戶興趣試探,展示內容比較發散,使得用戶能夠找到自己感興趣的主題。用戶點擊推薦頁進入詳情頁,用戶的興趣進一步明確,在該頁推薦的內容應該比較收斂。因此,結合業務需求,推薦頁可能需要各種不同類型的召回通道,從召回上保證多樣性。詳情頁可能不需要那么多召回通道,同時召回上保證相關性。
use-case:
場景:美團買菜,商品詳情頁,用戶點擊“加入購物車”,底部會彈出“買了又買”模塊。
策略:在該場景,買了又買模塊是當前場景,給用戶推薦其加購商品同一類的商品。比如用戶加購冰淇淋,則推薦冰淇淋;用戶買零食,則推薦零食;用戶買水果,則推薦水果。
一點延伸思考,美團買菜的這個產品設計,目標是什么?
先和大家分享一個群里的故事,群里有個朋友提問:”想請教下對于用戶冷啟動,這些方法怎么能比較靠靠譜滴落地呢?user、item的embedding沒有行為數據情況還有什么方法可以得到嗎?”
我的回答分為兩層:
- 第一,建議你梳理并講解一下你們的業務背景;
- 第二,你們做這個冷啟動,業務目標是什么?是提升轉化率還是點擊率?
明白為什么我講這個故事了嗎?產品設計與目標永遠都是結伴而行,不可分割。
如果看到一個推薦場景,我們不能條件反射地去思考,這個場景的目標是什么?背后站著的產品設計者(creator)是如何構建他所期望讓用戶沉浸其中的場景?也就是KNOW WHY 和KNOW HOW。那我們就應該強制自己這樣思考。
回到美團買菜這個case本身。
- KNOW-WHY。該場景目標是什么?讓用戶購買更多的商品,提升的是GMV。
- KNOW-HOW。creator如何構建這個該場景?用戶在詳情頁,加購某一商品,這個時候用戶的興趣意圖是非常明確的。比如用戶買鐘薛高的冰淇淋,那么用戶的意圖可以分為:第一,用戶希望買冰淇淋;第二,用戶希望買鐘薛高的冰淇淋。那么這個時候可以給用戶推薦符合這兩種條件的冰淇淋。
一點題外話:總會看到有人討論推薦產品經理的價值,在推薦這整個系統中,主導的是算法,那策略產品的價值是什么。我的理解是,策略產品很大一部分價值就是在挖掘場景,構建場景。像用戶加購商品后的買了又買模塊,就是一個非常好的場景。
美團買菜這個場景的構建是蠻好的~既然有好的case,就必須說一個我覺得很差的case,沒有對比哪能知道孰好孰壞
這是7fresh的一個加購頁面,給我推薦了油麥菜和鱸魚。我是7fresh的忠實用戶,消費頻率高,一周3-4次的購買行為。主要集中在:零食、飲料、化妝品、護膚品等模塊。我從來不做飯不做菜,所以我真的沒有理解為什么要推薦這個。
2.2.3 第三步:多路召回,冗余過濾
原則:審視多路召回,冗余過濾。同一個場景可能會篩選出多路召回,各路召回盡量不要冗余。如果兩路召回拉取的帖子屬性非常相近,那么這兩路召回冗余性較大,其中一路召回可以去掉。
use-case:這個暫時沒有use-case,主要考慮是如果兩路召回,其分別召回的內容差不多,效用不大,還新增了需要去重,不劃算。
最后,如果你覺得本篇文章對你有幫助~記得收藏并且關注我哦~
#專欄作家#
一顆西蘭花,人人都是產品經理專欄作家。關注AI產業與寫作工具,擅長數據分析,產品研發管理。
本文原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議