推薦策略產(chǎn)品必備技能之推薦系統(tǒng)框架(中)
編輯導(dǎo)語:推薦系統(tǒng)中包含著許多模塊,數(shù)據(jù)流是其中的一個重要模塊。在上篇文章里,作者闡述了推薦策略產(chǎn)品中的系統(tǒng)框架及模塊演進(jìn);本篇文章里,作者總結(jié)了推薦系統(tǒng)框架中的數(shù)據(jù)流模塊,讓我們一起來看一下。
在本章節(jié),我們來了解推薦系統(tǒng)框架的數(shù)據(jù)流。
一、概括
為什么要了解數(shù)據(jù)流?
對于一款非常復(fù)雜的產(chǎn)品,比如像推薦系統(tǒng)這塊由多個模塊組成的產(chǎn)品,只有了解了其數(shù)據(jù)流,才能知道這個系統(tǒng)是如何運作的。
對于產(chǎn)品經(jīng)理自身而言,只有了解了整體數(shù)據(jù)流,才能增強自己對復(fù)雜產(chǎn)品設(shè)計的把控能力。
二、推薦系統(tǒng)數(shù)據(jù)流
1. 背景Brief
要了解推薦系統(tǒng)的數(shù)據(jù)流,首先需要知道,對于一個推薦系統(tǒng),主要的數(shù)據(jù)模塊??梢詫⑵涑橄蟪?個模塊:用戶數(shù)據(jù)、物料數(shù)據(jù)、用戶行為。
2. 推薦系統(tǒng)目標(biāo)
對于一個推薦系統(tǒng),它的目標(biāo)是什么?通過兩個case來了解。
1)Case 1:資訊場景
比如資訊場景業(yè)務(wù)目標(biāo)是點擊率。點擊率的計算邏輯 = click / show。
那為了提升點擊率,我們需要哪些數(shù)據(jù)實現(xiàn)目標(biāo)?
- 靜態(tài)數(shù)據(jù):用戶表、物料表。
- 用戶行為數(shù)據(jù):用戶行為數(shù)據(jù)。
聚焦到用戶行為數(shù)據(jù),如何定義哪些是正樣本、哪些是負(fù)樣本。
需要注意的是,在行為數(shù)據(jù)定義時候(樣本定義時候),經(jīng)常出現(xiàn)的幾個show虛報的問題:
- 推薦結(jié)果即show。推薦結(jié)果即show的意思是,比如一個相關(guān)推薦場景,后臺服務(wù)器一次給出的預(yù)測結(jié)果是10條數(shù)據(jù),客戶端只展現(xiàn)了4條。為了圖方便,客戶的上報show的邏輯是將所有的返回推薦結(jié)果都上報為show。
- 加載即show。在信息流場景,往往需要預(yù)加載。但是很多預(yù)加載的item,實際上尚未被展示。客戶的埋點邏輯是加載即上報show,因此會導(dǎo)致show虛高。
- 信息流上下滑動。在信息流場景,還經(jīng)常出現(xiàn)的一個問題是,用戶經(jīng)常上下刷動,所以同一物料會有多次曝光,建議上報時候做去重設(shè)置。
2)Case 2:小視頻場景
比如小視頻場景,建模目標(biāo)是完播率,即視頻的播放時長/視頻的總時長。
3. 推薦系統(tǒng)如何實現(xiàn)業(yè)務(wù)目標(biāo)
將推薦系統(tǒng)實現(xiàn)業(yè)務(wù)目標(biāo)拆分成兩條數(shù)據(jù)流來理解,在線數(shù)據(jù)流和離線數(shù)據(jù)流。
1)在線數(shù)據(jù)流
在線數(shù)據(jù)流是指一個請求進(jìn)入到推薦系統(tǒng)到給出預(yù)估結(jié)果的流程,參考下述示例圖。
接著進(jìn)一步了解在線數(shù)據(jù)流。
用戶來到APP,打開APP,這個時候前端會像服務(wù)器后端發(fā)送請求,接著服務(wù)器后端會像推薦系統(tǒng)(SaaS服務(wù))發(fā)送請求。
推薦服務(wù)接受到這個請求,會先進(jìn)行l(wèi)oad balance,接著后端處理,在后端處理分為算法和規(guī)則,算法即召回和排序,規(guī)則即rerank。
根據(jù)2.2的描述,我們知道,對于一個推薦系統(tǒng)來說,都有其特定的目標(biāo),當(dāng)我們完成目標(biāo)確認(rèn)后,比如提升點擊率或者完播率。
接著就可以開始建模了。假設(shè)模型已經(jīng)ready。來看一下推薦系統(tǒng)的在線流程~
- 召回(Recall):召回的作用是從整個物料庫中,通過某一種/多種策略,快速召回一小批物料,供后續(xù)模型打分使用。
- 排序(Rank):排序是將前一個階段召回的物料進(jìn)行模型排序。
- 重排(Rerank)
重排是什么?
重排是基于排序環(huán)節(jié)的打分結(jié)果,對上述結(jié)果再次進(jìn)行排序。
為什么需要重排?
在上一個環(huán)節(jié),排序做的事本質(zhì)上是預(yù)測用戶對物品該興趣的概率,考慮的只是物品與用戶之間的關(guān)系,但是忽略掉了物品之間的相關(guān)性。
如何理解呢?分享一個極端的case,小紅最近酷愛刷電影剪輯類小視頻,模型學(xué)習(xí)的話,很可能學(xué)出來最后給用戶推薦的都是同一個publisher的10條item。
這樣肯定是不行的,試想,如果你正在刷抖音,連續(xù)10條都給你推薦同一個博主的內(nèi)容,這個體驗?zāi)芎脝??所以需要rerank。
重排環(huán)節(jié)一般會做什么?
重排階段是個策略出沒之地,就是集中了各種業(yè)務(wù)和技術(shù)策略。比如為了更好的推薦體驗,這里會加入去除重復(fù)、結(jié)果打散增加推薦結(jié)果的多樣性、強插某種類型的推薦結(jié)果等等不同類型的策略。
2)離線
什么是離線數(shù)據(jù)流呢?模型訓(xùn)練以及模型的更新都是離線數(shù)據(jù)流完成的事。
離線模型的訓(xùn)練以及模型的更新,涉及到多個數(shù)據(jù)模塊的配合,包括用戶畫像、物料畫像、行為日志,離線數(shù)據(jù)流,我們下章節(jié)見~
#專欄作家#
一顆西蘭花,人人都是產(chǎn)品經(jīng)理專欄作家。關(guān)注AI產(chǎn)業(yè)與寫作工具,擅長數(shù)據(jù)分析,產(chǎn)品研發(fā)管理。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
科普得深入淺出,期待這系列的下篇,能再多舉些實例嗎,就能理解得更透徹了
沒有下篇了嗚嗚嗚嗚
sf 講的很棒 期待下篇了