推薦策略產(chǎn)品必備技能之推薦系統(tǒng)框架(中)

3 評論 12139 瀏覽 90 收藏 7 分鐘

編輯導(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虛報的問題:

  1. 推薦結(jié)果即show。推薦結(jié)果即show的意思是,比如一個相關(guān)推薦場景,后臺服務(wù)器一次給出的預(yù)測結(jié)果是10條數(shù)據(jù),客戶端只展現(xiàn)了4條。為了圖方便,客戶的上報show的邏輯是將所有的返回推薦結(jié)果都上報為show。
  2. 加載即show。在信息流場景,往往需要預(yù)加載。但是很多預(yù)加載的item,實際上尚未被展示。客戶的埋點邏輯是加載即上報show,因此會導(dǎo)致show虛高。
  3. 信息流上下滑動。在信息流場景,還經(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é)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 科普得深入淺出,期待這系列的下篇,能再多舉些實例嗎,就能理解得更透徹了

    來自北京 回復(fù)
    1. 沒有下篇了嗚嗚嗚嗚

      來自重慶 回復(fù)
  2. sf 講的很棒 期待下篇了

    回復(fù)