推薦策略產(chǎn)品經(jīng)理必知必會(huì)③:粗排、精排、重排模型
前兩篇文章,我們分享了數(shù)據(jù)處理和數(shù)據(jù)召回的策略。數(shù)據(jù)召回后的下一個(gè)環(huán)節(jié)就是粗排,分為基于規(guī)則、基于模型兩種。這篇文章,我們來(lái)詳細(xì)說(shuō)明一下。
一、粗排策略
召回的下一個(gè)環(huán)節(jié)就是粗排。粗排主要包括兩類(lèi):基于規(guī)則、基于模型。
主要分以下三個(gè)步驟:
- 對(duì)召回的結(jié)果進(jìn)行匯總?cè)ブ?/li>
- 將去重后的結(jié)果輸入粗排模型中
- 遴選出排名前幾位的物料
1. 基于規(guī)則的粗排策略
如若召回策略都是基于規(guī)則或協(xié)同過(guò)濾的召回,那么每一路在返回時(shí)會(huì)有一個(gè)對(duì)應(yīng)的歸一化分?jǐn)?shù),先對(duì)所有召回路結(jié)果進(jìn)行匯總?cè)ブ?,如果一個(gè)物料出現(xiàn)在多個(gè)召回路里,則將物料分?jǐn)?shù)相加(加權(quán)匯總時(shí)可以為每路召回設(shè)置權(quán)重),最終按照總分倒排。
2. 基于模型的粗排策略
基于規(guī)則的粗排策略雖然簡(jiǎn)單,但是不夠智能化。目前行業(yè)先進(jìn)的解決方案是搭建專(zhuān)門(mén)的粗排模型,針對(duì)返回的物料進(jìn)行初步的CTR預(yù)估,公式為:CTR粗排 = 曝光點(diǎn)擊數(shù)/召回物料數(shù)。
3. 粗排策略效果評(píng)估
粗排策略效果評(píng)估有線上和離線兩種方式。在進(jìn)行線上評(píng)估時(shí),可直接實(shí)施AB Test小流量實(shí)驗(yàn),比較新粗排策略與舊粗排策略,關(guān)注推薦系統(tǒng)幾個(gè)核心效果指標(biāo)的變化。
在離線評(píng)估時(shí),對(duì)于基于模型的粗排策略重點(diǎn)關(guān)注離線AUC指標(biāo)(基于規(guī)則的也是),也可以對(duì)比粗排模型與精排模型返回物料與曝光點(diǎn)擊物料的重合度,重合度越高,代表粗排效果越好。
二、精排策略
物料經(jīng)過(guò)召回、粗排、過(guò)濾環(huán)節(jié)后才會(huì)進(jìn)入精排模型,過(guò)濾環(huán)節(jié)多采用硬規(guī)則,入電商領(lǐng)域的無(wú)貨過(guò)濾、未上架過(guò)濾、黑名單過(guò)濾等。
精排模型是整個(gè)推薦系統(tǒng)中最復(fù)雜的模型,也是耗時(shí)最多的模型,做策略產(chǎn)品經(jīng)理工作的同學(xué)需要重點(diǎn)關(guān)注哦!
1. 學(xué)習(xí)目標(biāo)
首先需要針對(duì)精排模型設(shè)定學(xué)習(xí)目標(biāo),在不同業(yè)務(wù)場(chǎng)景下,精排模型的學(xué)習(xí)目標(biāo)不一樣。
電商推薦場(chǎng)景:
大部分情況下,精排模型的核心目標(biāo)都是CTR(曝光點(diǎn)擊率),極少數(shù)情況為CVR(曝光轉(zhuǎn)化率),主要看業(yè)務(wù)訴求。以京東和淘寶為代表的綜合性電商平臺(tái),目前以預(yù)估CTR為主,精排模型正樣本為埋點(diǎn)記錄中被用戶(hù)點(diǎn)擊的商品,負(fù)樣本為埋點(diǎn)記錄表中曝光卻未被點(diǎn)擊的商品。
內(nèi)容推薦場(chǎng)景:
以抖音、快手為例,精排模型全部采用多目標(biāo)排序的方法,核心業(yè)務(wù)指標(biāo)為DAU、用戶(hù)使用時(shí)長(zhǎng)。為了留住用戶(hù),需要為其推薦感興趣的視頻,也要讓用戶(hù)互動(dòng)起來(lái)。關(guān)鍵在于增加用戶(hù)使用時(shí)長(zhǎng),增加正向反饋,減少用戶(hù)負(fù)向反饋。
正反饋指標(biāo):(顯性)點(diǎn)/轉(zhuǎn)/評(píng)/收藏;(隱性)觀看時(shí)長(zhǎng)、完播率、有效播放率等。
負(fù)反饋指標(biāo):(顯性)負(fù)反饋點(diǎn)擊、舉報(bào)、負(fù)面評(píng)論;(隱性)短播放、停止瀏覽等
精排模型需要匯總指標(biāo),綜合排序,排序公式為:
$$RankScore=a*P_播+b*P_贊+···+h*f(P_t)$$
應(yīng)用分?jǐn)?shù)計(jì)算公式時(shí),應(yīng)先針對(duì)每一個(gè)指標(biāo)設(shè)置一個(gè)超參數(shù),然后計(jì)算所有指標(biāo)的加權(quán)結(jié)果,基于最終結(jié)果進(jìn)行統(tǒng)一排序。
2. 算法選擇
確定訓(xùn)練目標(biāo)與訓(xùn)練樣本后,接下來(lái)需要確定使用哪一種算法來(lái)進(jìn)行學(xué)習(xí)。目前行業(yè)里的精排模型大多使用深度神經(jīng)網(wǎng)絡(luò)(deep neural network)算法,即DNN算法。
在預(yù)測(cè)CTR時(shí)也可以選擇使用經(jīng)典的LR算法,或者LR+GBDT算法。具體可以結(jié)合公司實(shí)際的系統(tǒng)架構(gòu)和業(yè)務(wù)情況進(jìn)行選擇。DNN效果好,解釋性差,對(duì)系統(tǒng)性能要求很高,線上部署會(huì)導(dǎo)致系統(tǒng)整體的時(shí)延很高,用戶(hù)體驗(yàn)差。
如果使用LR算法預(yù)估CTR,主要工作是構(gòu)建模型特征。如果使用DNN算法,一部分工作是構(gòu)建模型特征,另一部分工作是設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),策略產(chǎn)品經(jīng)理主要參與構(gòu)建模型特征。
3. 特征構(gòu)造
如果說(shuō)召回的關(guān)鍵是樣本的選擇,那么精排的關(guān)鍵就是特征的構(gòu)造。為了更好理解用戶(hù)行為,會(huì)采用用戶(hù)特征、物料特征、交叉特征等,接下來(lái)將以電商APP首頁(yè)推薦場(chǎng)景為例介紹一些特征。
1)靜態(tài)特征
- 用戶(hù)特征:用戶(hù)ID、性別、注冊(cè)時(shí)間、是否會(huì)員、注冊(cè)手機(jī)號(hào)、所在城市、職業(yè)、收入水平、婚姻水平等。
- 物料特征:SKU ID、一級(jí)類(lèi)目、二級(jí)類(lèi)目、三級(jí)類(lèi)目、品牌名。
靜態(tài)特征基本不會(huì)變化,能幫助模型理解用戶(hù)和商品的一些基礎(chǔ)信息。
2)請(qǐng)求特征
請(qǐng)求特征:請(qǐng)求ID(Request ID)、請(qǐng)求時(shí)刻(時(shí)刻、早中晚、日期)。
請(qǐng)求時(shí)間特征主要為了區(qū)分用戶(hù)在不同季節(jié)、一天之中的不同時(shí)間的消費(fèi)行為偏好。
3)用戶(hù)基本畫(huà)像特征
通過(guò)用戶(hù)畫(huà)像特征表了解用戶(hù)消費(fèi)能力、消費(fèi)頻次、類(lèi)目偏好等,同時(shí)統(tǒng)計(jì)不同時(shí)窗下(如7、15、30天)用戶(hù)的特征信息。也設(shè)置有比例衍生類(lèi)特征,用于計(jì)算各個(gè)子類(lèi)占父類(lèi)的比例,最終通過(guò)該特征理解用戶(hù)對(duì)各個(gè)子類(lèi)的偏好度。
例:比例類(lèi)衍生特征:上述各個(gè)一級(jí)類(lèi)目的子項(xiàng)占該用戶(hù)總訂單、下單總金額的比例。
4)用戶(hù)商品畫(huà)像特征
用戶(hù)商品畫(huà)像特征表是對(duì)用戶(hù)基本畫(huà)像特征的進(jìn)一步補(bǔ)充,有助于深層次理解用戶(hù)對(duì)特定商品、品牌、類(lèi)目等的偏好,仍需統(tǒng)計(jì)不同時(shí)窗下(如7、15、30天)用戶(hù)的特征信息。
5)行為序列特征
上述特征基本屬于用戶(hù)的屬性特征,而行為序列特征則指用戶(hù)的動(dòng)作行為特征,模型基于用戶(hù)的歷史行為序列來(lái)預(yù)測(cè)下一次行為。在現(xiàn)實(shí)生活中,人們?cè)诰€上APP的行為具有強(qiáng)關(guān)聯(lián)性,在模型加入行為序列特征后能使模型捕獲用戶(hù)的動(dòng)態(tài)偏好。常見(jiàn)行為序列:用戶(hù)點(diǎn)擊序列、加購(gòu)序列、下單序列、觀看序列等。
例如,在構(gòu)建一個(gè)點(diǎn)擊行為序列時(shí),首先需要定義一個(gè)序列長(zhǎng)度,如4,則將用戶(hù)瀏覽該物料前的最近4個(gè)物料批結(jié)在一起,形成一個(gè)點(diǎn)擊行為序列。
6)交叉特征
在實(shí)際應(yīng)用中,我們會(huì)將很多單個(gè)特征組合在一起形成交叉特征,通過(guò)特征組合更加全面地挖掘用戶(hù)的興趣偏好。User ID和SKU ID的組合特征是精排模型里面最重要的一個(gè)特征。
4.特征選擇
完成特征構(gòu)造后,就可以開(kāi)始特征選擇了。特征選擇是指從眾多特征中選擇一個(gè)子集的過(guò)程。在實(shí)際應(yīng)用模型時(shí)要考慮模型整體性能,選擇最高效的特征集,主要選擇方法有以下四種
1)業(yè)務(wù)經(jīng)驗(yàn)法
策劃產(chǎn)品經(jīng)理和算法工程師基于對(duì)實(shí)際業(yè)務(wù)場(chǎng)景的理解進(jìn)行特征構(gòu)建和特征選擇。此方法不需要借助模型離線效果評(píng)估,完全憑借人工經(jīng)驗(yàn)和業(yè)務(wù)知識(shí)。
流程:特征選擇(特征候選集——>特征子集)——>算法選擇、模型訓(xùn)練——>模型效果評(píng)估
- 電商推薦場(chǎng)景:用戶(hù)品類(lèi)偏好、品牌偏好、消費(fèi)力匹配等特征
- 內(nèi)容推薦場(chǎng)景;用戶(hù)視頻類(lèi)型偏好、視頻題材偏好、視頻時(shí)長(zhǎng)偏好等特征
- 金融風(fēng)控場(chǎng)景:銀行征信報(bào)告的了結(jié),需要咨詢(xún)業(yè)務(wù)專(zhuān)家
優(yōu)點(diǎn):快速高效——可以快速構(gòu)建一批價(jià)值比較高的特征,實(shí)現(xiàn)模型快速上線。
缺點(diǎn):高度依賴(lài)人工,無(wú)法大規(guī)模復(fù)制——尤其對(duì)于金融風(fēng)控等復(fù)雜度高的場(chǎng)景
2)過(guò)濾法
從特征本身以及特征和樣本標(biāo)簽的相關(guān)性出發(fā)進(jìn)行選擇,也不依靠模型離線效果評(píng)估。關(guān)鍵在于:如何科學(xué)評(píng)估特征的價(jià)值,通常有如下兩種方法:1.評(píng)估特征本身的相關(guān)指標(biāo)。 2.評(píng)估特征和標(biāo)簽之間的相關(guān)性。
- 評(píng)估特征本身的相關(guān)指標(biāo)
(1)覆蓋率指標(biāo):特征能夠覆蓋樣本中超過(guò)50%的數(shù)據(jù)時(shí)有價(jià)值
(2)方差指標(biāo):不同樣本在同一個(gè)特征上的分布差異越小,代表該特征對(duì)樣本的區(qū)分度越小。(注意統(tǒng)一量綱)
- 評(píng)估特征和標(biāo)簽之間的相關(guān)性
如果特征X和標(biāo)簽變量Y的數(shù)據(jù)類(lèi)型不同,則采用的方法不一樣。
若特征X為數(shù)值變量,標(biāo)簽Y也為數(shù)值變量,則用皮爾遜相關(guān)系數(shù)公式。
若特征X為數(shù)值變量,標(biāo)簽Y為類(lèi)別變量,則用費(fèi)雪分?jǐn)?shù)。
若特征X為類(lèi)別變量,標(biāo)簽Y也為類(lèi)別變量,皮爾遜卡方檢驗(yàn)。
3)封裝法
以特征應(yīng)用到模型里產(chǎn)生的實(shí)際效果為出發(fā)點(diǎn)進(jìn)行特征選擇的辦法,不斷挑選實(shí)驗(yàn)、循環(huán)反復(fù)。挑選特征組合的方法有兩種:完全搜索;啟發(fā)式搜索。
- 完全搜索:遍歷所有特征,暴力計(jì)算,實(shí)用性不高
- 啟發(fā)式搜索:
(1)序列前向選擇:從空集開(kāi)始添加,效果最優(yōu)的留下,不斷重復(fù)直至效果無(wú)法提升
(2)序列后向選擇:從全量開(kāi)始去除,效果最優(yōu)的留下,不斷重復(fù)直至效果無(wú)法提升
封裝法的優(yōu)點(diǎn):最佳應(yīng)用效果
封裝法的缺點(diǎn):時(shí)間成本高、選擇流程長(zhǎng)、計(jì)算量大
4)嵌入法
多種方法結(jié)合使用,伴隨建模全過(guò)程不斷基于模型效果實(shí)驗(yàn)特征組合。首先,分析單個(gè)特征對(duì)模型效果的重要性,分別基于單個(gè)特征建模,觀察離線效果,基于特征重要性進(jìn)行初步的特征選擇和判斷。
5. 特征編碼
在實(shí)際建模時(shí)無(wú)法直接使用這些特征,需要進(jìn)行特征編碼。常用方法有三種:one-hot編碼;分插編碼;向量映射編碼,主要構(gòu)建元組、向量組進(jìn)行編碼。
6. 模型訓(xùn)練
主要分為三步:構(gòu)建訓(xùn)練樣本、基于訓(xùn)練樣本進(jìn)行模型訓(xùn)練、輸出收斂的模型。
- 構(gòu)建訓(xùn)練樣本:小心數(shù)據(jù)穿越的問(wèn)題。
- 基于訓(xùn)練樣本進(jìn)行模型訓(xùn)練:本質(zhì)是通過(guò)數(shù)學(xué)計(jì)算的方式學(xué)習(xí)訓(xùn)練樣本數(shù)據(jù),最終得到一組收斂的模型參數(shù)w,主要使用梯度下降法,訓(xùn)練過(guò)程中可以加入正則項(xiàng)系數(shù)如L1、L2用于提升模型的泛化能力、防止模型過(guò)擬合。
- 輸出收斂的模型:設(shè)定閾值,若P>閾值,則成立。
7. 效果評(píng)估與迭代應(yīng)用
離線效果評(píng)估,一般構(gòu)造多版模型,挑選離線效果最優(yōu)的模型線上部署,主要驗(yàn)證模型在測(cè)試樣本上的效果。對(duì)于分類(lèi)任務(wù)來(lái)說(shuō),看AUC指標(biāo)。
迭代應(yīng)用也稱(chēng)模型的自學(xué)習(xí),不會(huì)對(duì)算法和特征工程做較大調(diào)整,但會(huì)對(duì)新線上數(shù)據(jù)進(jìn)行重新訓(xùn)練,替換舊模型。若要調(diào)整,則AB Test小實(shí)驗(yàn)等德國(guó)
以上就是構(gòu)建精排模型的全部步驟,策略產(chǎn)品經(jīng)理可以參與精排模型的主要工作是模型訓(xùn)練樣本的挑選和特征工程的構(gòu)建。
三、重排策略
重排策略一般要完成以下3項(xiàng)工作:
1.全局最優(yōu)的排序調(diào)整:以淘寶為例,用戶(hù)瀏覽是一個(gè)連續(xù)的過(guò)程,一屏內(nèi)有4個(gè)商品,而精排模型返回的主要是最優(yōu)單品,而不是最優(yōu)組合,所以需要重新排列。
2.基于用戶(hù)體驗(yàn)的策略調(diào)整:調(diào)整用戶(hù)在APP前端實(shí)際看到的物料順序,保證前端展示物料的新穎性、多樣性。
3.適當(dāng)?shù)牧髁勘O(jiān)控:和業(yè)務(wù)強(qiáng)相關(guān)的流量調(diào)控策略會(huì)部署在重排層,比如對(duì)某些物料的加權(quán),常見(jiàn)的有對(duì)直播內(nèi)容的加權(quán)、情人節(jié)對(duì)花卉等商品的加權(quán)等,這些策略只有部署在最后一層才可以實(shí)現(xiàn)直接調(diào)控。
1. 全局最優(yōu)的排序調(diào)整
排序模型有三種優(yōu)化目標(biāo):?jiǎn)吸c(diǎn)優(yōu)化(point wise)、成對(duì)優(yōu)化(pair wise)、序列優(yōu)化(list wise)。精排模型的CTR預(yù)估實(shí)際上就是單點(diǎn)優(yōu)化,不考慮上下文信息。成對(duì)優(yōu)化和序列優(yōu)化都考慮上下文信息,但是成對(duì)優(yōu)化只考慮兩個(gè)物料的順序關(guān)系,重排模型的優(yōu)化目標(biāo)通常是序列優(yōu)化(list wise)。
序列優(yōu)化本身不是一個(gè)具體的算法或者模型,只是一個(gè)模型的優(yōu)化目標(biāo)或者損失函數(shù)的定義方式。序列優(yōu)化關(guān)注整個(gè)列表中物料之間的順序關(guān)系,主要分以下兩個(gè)步驟:
第一步:序列生成
序列生成模型基于精排模型返回的商品數(shù)量進(jìn)行排列組合,一般情況下從排序靠前的候選集中進(jìn)行挑選。
第二步:對(duì)生成的序列候選集進(jìn)行效果評(píng)估。
首先需要構(gòu)建一個(gè)序列評(píng)估模型,目前序列評(píng)估模型中常用的算法是RNN(recurrent neural network,循環(huán)神經(jīng)網(wǎng)絡(luò))。RNN模型的一大特點(diǎn)是以序列數(shù)據(jù)為輸入,通過(guò)神經(jīng)網(wǎng)絡(luò)內(nèi)部的結(jié)構(gòu)設(shè)計(jì)有效捕捉序列之間的關(guān)系特征,非常適合作為序列評(píng)估模型來(lái)實(shí)現(xiàn)序列優(yōu)化。
模型針對(duì)序列中的每個(gè)商品重新給出P(CTR),一般情況下只會(huì)對(duì)精排模型的CTR進(jìn)行微調(diào),不會(huì)大幅調(diào)整精排模型預(yù)估的CTR,最終選擇綜合CTR最高的序列返回App前端。
2. 基于用戶(hù)體驗(yàn)的策略調(diào)整
主要包括兩種:打散策略、多樣性策略
1)打散策略
在電商推薦場(chǎng)景,需要針對(duì)同三級(jí)類(lèi)目、同品牌、同封面圖的商品進(jìn)行大賽;在內(nèi)容推薦場(chǎng)景下,需要針對(duì)同類(lèi)型、同封面圖、同作者的內(nèi)容進(jìn)行大三。目前主流的打散策略主要基于硬規(guī)則的打散,也有基于用戶(hù)個(gè)性化興趣的打散方式(容易出現(xiàn)UE問(wèn)題)。
電商同三級(jí)類(lèi)目商品打散,針對(duì)此類(lèi)打散一般使用滑動(dòng)窗口法打散,構(gòu)建兩個(gè)窗口,若符合硬規(guī)則則移動(dòng)窗口,若不符合則按順序替換,容易出現(xiàn)末尾扎堆的問(wèn)題(末尾物料順序無(wú)法調(diào)整)
2)多樣化策略
向單個(gè)用戶(hù)推薦多少種不同類(lèi)目的商品,怎么樣推薦才算符合多樣性,這是由各平臺(tái)自己決定的,一般由策略產(chǎn)品經(jīng)理和相關(guān)業(yè)務(wù)方一起制定規(guī)則。實(shí)際應(yīng)用時(shí)通常采用多種策略,觀察實(shí)際線上效果,然后基于AB Test小流量實(shí)驗(yàn)效果進(jìn)行討論,最終在平衡業(yè)務(wù)訴求和實(shí)際線上效果的基礎(chǔ)上確定一版最終策略。
多樣性策略和打散策略最終融合在一起,變成一個(gè)多目標(biāo)約束優(yōu)化問(wèn)題。為了方便省心,我們通常直接使用硬規(guī)則策略解決。
3. 適當(dāng)?shù)牧髁勘O(jiān)控
流量調(diào)控策略只有一種,直接在重排層針對(duì)這部分物料進(jìn)行相應(yīng)權(quán)重的調(diào)整。但在實(shí)際落地中不僅要考慮CTR這一指標(biāo),在電商領(lǐng)域還要考慮轉(zhuǎn)化率、曝光率、GMV、質(zhì)量分等。對(duì)于內(nèi)容場(chǎng)景,我們需要考慮視頻的預(yù)估完播率、預(yù)估播放時(shí)長(zhǎng)、互動(dòng)率以及發(fā)布者賬號(hào)的等級(jí)等。在最終排序時(shí)一般設(shè)置一個(gè)綜合性的排序分?jǐn)?shù),具體排序公式可以自行擬定。
本文由 @策略產(chǎn)品經(jīng)理規(guī)劃 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來(lái)自Pixabay,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!