推薦策略產(chǎn)品經(jīng)理必知必會③:粗排、精排、重排模型

乾意
0 評論 3175 瀏覽 21 收藏 20 分鐘

前兩篇文章,我們分享了數(shù)據(jù)處理和數(shù)據(jù)召回的策略。數(shù)據(jù)召回后的下一個環(huán)節(jié)就是粗排,分為基于規(guī)則、基于模型兩種。這篇文章,我們來詳細說明一下。

一、粗排策略

召回的下一個環(huán)節(jié)就是粗排。粗排主要包括兩類:基于規(guī)則、基于模型。

主要分以下三個步驟:

  1. 對召回的結(jié)果進行匯總?cè)ブ?/li>
  2. 將去重后的結(jié)果輸入粗排模型中
  3. 遴選出排名前幾位的物料

1. 基于規(guī)則的粗排策略

如若召回策略都是基于規(guī)則或協(xié)同過濾的召回,那么每一路在返回時會有一個對應的歸一化分數(shù),先對所有召回路結(jié)果進行匯總?cè)ブ?,如果一個物料出現(xiàn)在多個召回路里,則將物料分數(shù)相加(加權(quán)匯總時可以為每路召回設置權(quán)重),最終按照總分倒排。

2. 基于模型的粗排策略

基于規(guī)則的粗排策略雖然簡單,但是不夠智能化。目前行業(yè)先進的解決方案是搭建專門的粗排模型,針對返回的物料進行初步的CTR預估,公式為:CTR粗排 = 曝光點擊數(shù)/召回物料數(shù)。

3. 粗排策略效果評估

粗排策略效果評估有線上和離線兩種方式。在進行線上評估時,可直接實施AB Test小流量實驗,比較新粗排策略與舊粗排策略,關注推薦系統(tǒng)幾個核心效果指標的變化。

在離線評估時,對于基于模型的粗排策略重點關注離線AUC指標(基于規(guī)則的也是),也可以對比粗排模型與精排模型返回物料與曝光點擊物料的重合度,重合度越高,代表粗排效果越好。

二、精排策略

物料經(jīng)過召回、粗排、過濾環(huán)節(jié)后才會進入精排模型,過濾環(huán)節(jié)多采用硬規(guī)則,入電商領域的無貨過濾、未上架過濾、黑名單過濾等。

精排模型是整個推薦系統(tǒng)中最復雜的模型,也是耗時最多的模型,做策略產(chǎn)品經(jīng)理工作的同學需要重點關注哦!

1. 學習目標

首先需要針對精排模型設定學習目標,在不同業(yè)務場景下,精排模型的學習目標不一樣。

電商推薦場景:

大部分情況下,精排模型的核心目標都是CTR(曝光點擊率),極少數(shù)情況為CVR(曝光轉(zhuǎn)化率),主要看業(yè)務訴求。以京東和淘寶為代表的綜合性電商平臺,目前以預估CTR為主,精排模型正樣本為埋點記錄中被用戶點擊的商品,負樣本為埋點記錄表中曝光卻未被點擊的商品。

內(nèi)容推薦場景:

以抖音、快手為例,精排模型全部采用多目標排序的方法,核心業(yè)務指標為DAU、用戶使用時長。為了留住用戶,需要為其推薦感興趣的視頻,也要讓用戶互動起來。關鍵在于增加用戶使用時長,增加正向反饋,減少用戶負向反饋。

正反饋指標:(顯性)點/轉(zhuǎn)/評/收藏;(隱性)觀看時長、完播率、有效播放率等。

負反饋指標:(顯性)負反饋點擊、舉報、負面評論;(隱性)短播放、停止瀏覽等

精排模型需要匯總指標,綜合排序,排序公式為:

$$RankScore=a*P_播+b*P_贊+···+h*f(P_t)$$

應用分數(shù)計算公式時,應先針對每一個指標設置一個超參數(shù),然后計算所有指標的加權(quán)結(jié)果,基于最終結(jié)果進行統(tǒng)一排序。

2. 算法選擇

確定訓練目標與訓練樣本后,接下來需要確定使用哪一種算法來進行學習。目前行業(yè)里的精排模型大多使用深度神經(jīng)網(wǎng)絡(deep neural network)算法,即DNN算法。

在預測CTR時也可以選擇使用經(jīng)典的LR算法,或者LR+GBDT算法。具體可以結(jié)合公司實際的系統(tǒng)架構(gòu)和業(yè)務情況進行選擇。DNN效果好,解釋性差,對系統(tǒng)性能要求很高,線上部署會導致系統(tǒng)整體的時延很高,用戶體驗差。

如果使用LR算法預估CTR,主要工作是構(gòu)建模型特征。如果使用DNN算法,一部分工作是構(gòu)建模型特征,另一部分工作是設計神經(jīng)網(wǎng)絡結(jié)構(gòu),策略產(chǎn)品經(jīng)理主要參與構(gòu)建模型特征。

3. 特征構(gòu)造

如果說召回的關鍵是樣本的選擇,那么精排的關鍵就是特征的構(gòu)造。為了更好理解用戶行為,會采用用戶特征、物料特征、交叉特征等,接下來將以電商APP首頁推薦場景為例介紹一些特征。

1)靜態(tài)特征

  • 用戶特征:用戶ID、性別、注冊時間、是否會員、注冊手機號、所在城市、職業(yè)、收入水平、婚姻水平等。
  • 物料特征:SKU ID、一級類目、二級類目、三級類目、品牌名。

靜態(tài)特征基本不會變化,能幫助模型理解用戶和商品的一些基礎信息。

2)請求特征

請求特征:請求ID(Request ID)、請求時刻(時刻、早中晚、日期)。

請求時間特征主要為了區(qū)分用戶在不同季節(jié)、一天之中的不同時間的消費行為偏好。

3)用戶基本畫像特征

通過用戶畫像特征表了解用戶消費能力、消費頻次、類目偏好等,同時統(tǒng)計不同時窗下(如7、15、30天)用戶的特征信息。也設置有比例衍生類特征,用于計算各個子類占父類的比例,最終通過該特征理解用戶對各個子類的偏好度。

例:比例類衍生特征:上述各個一級類目的子項占該用戶總訂單、下單總金額的比例。

4)用戶商品畫像特征

用戶商品畫像特征表是對用戶基本畫像特征的進一步補充,有助于深層次理解用戶對特定商品、品牌、類目等的偏好,仍需統(tǒng)計不同時窗下(如7、15、30天)用戶的特征信息。

5)行為序列特征

上述特征基本屬于用戶的屬性特征,而行為序列特征則指用戶的動作行為特征,模型基于用戶的歷史行為序列來預測下一次行為。在現(xiàn)實生活中,人們在線上APP的行為具有強關聯(lián)性,在模型加入行為序列特征后能使模型捕獲用戶的動態(tài)偏好。常見行為序列:用戶點擊序列、加購序列、下單序列、觀看序列等。

例如,在構(gòu)建一個點擊行為序列時,首先需要定義一個序列長度,如4,則將用戶瀏覽該物料前的最近4個物料批結(jié)在一起,形成一個點擊行為序列。

6)交叉特征

在實際應用中,我們會將很多單個特征組合在一起形成交叉特征,通過特征組合更加全面地挖掘用戶的興趣偏好。User ID和SKU ID的組合特征是精排模型里面最重要的一個特征。

4.特征選擇

完成特征構(gòu)造后,就可以開始特征選擇了。特征選擇是指從眾多特征中選擇一個子集的過程。在實際應用模型時要考慮模型整體性能,選擇最高效的特征集,主要選擇方法有以下四種

1)業(yè)務經(jīng)驗法

策劃產(chǎn)品經(jīng)理和算法工程師基于對實際業(yè)務場景的理解進行特征構(gòu)建和特征選擇。此方法不需要借助模型離線效果評估,完全憑借人工經(jīng)驗和業(yè)務知識。

流程:特征選擇(特征候選集——>特征子集)——>算法選擇、模型訓練——>模型效果評估

  • 電商推薦場景:用戶品類偏好、品牌偏好、消費力匹配等特征
  • 內(nèi)容推薦場景;用戶視頻類型偏好、視頻題材偏好、視頻時長偏好等特征
  • 金融風控場景:銀行征信報告的了結(jié),需要咨詢業(yè)務專家

優(yōu)點:快速高效——可以快速構(gòu)建一批價值比較高的特征,實現(xiàn)模型快速上線。

缺點:高度依賴人工,無法大規(guī)模復制——尤其對于金融風控等復雜度高的場景

2)過濾法

從特征本身以及特征和樣本標簽的相關性出發(fā)進行選擇,也不依靠模型離線效果評估。關鍵在于:如何科學評估特征的價值,通常有如下兩種方法:1.評估特征本身的相關指標。 2.評估特征和標簽之間的相關性。

  • 評估特征本身的相關指標

(1)覆蓋率指標:特征能夠覆蓋樣本中超過50%的數(shù)據(jù)時有價值

(2)方差指標:不同樣本在同一個特征上的分布差異越小,代表該特征對樣本的區(qū)分度越小。(注意統(tǒng)一量綱)

  • 評估特征和標簽之間的相關性

如果特征X和標簽變量Y的數(shù)據(jù)類型不同,則采用的方法不一樣。

若特征X為數(shù)值變量,標簽Y也為數(shù)值變量,則用皮爾遜相關系數(shù)公式。

若特征X為數(shù)值變量,標簽Y為類別變量,則用費雪分數(shù)。

若特征X為類別變量,標簽Y也為類別變量,皮爾遜卡方檢驗。

3)封裝法

以特征應用到模型里產(chǎn)生的實際效果為出發(fā)點進行特征選擇的辦法,不斷挑選實驗、循環(huán)反復。挑選特征組合的方法有兩種:完全搜索;啟發(fā)式搜索。

  • 完全搜索:遍歷所有特征,暴力計算,實用性不高
  • 啟發(fā)式搜索:

(1)序列前向選擇:從空集開始添加,效果最優(yōu)的留下,不斷重復直至效果無法提升

(2)序列后向選擇:從全量開始去除,效果最優(yōu)的留下,不斷重復直至效果無法提升

封裝法的優(yōu)點:最佳應用效果

封裝法的缺點:時間成本高、選擇流程長、計算量大

4)嵌入法

多種方法結(jié)合使用,伴隨建模全過程不斷基于模型效果實驗特征組合。首先,分析單個特征對模型效果的重要性,分別基于單個特征建模,觀察離線效果,基于特征重要性進行初步的特征選擇和判斷。

5. 特征編碼

在實際建模時無法直接使用這些特征,需要進行特征編碼。常用方法有三種:one-hot編碼;分插編碼;向量映射編碼,主要構(gòu)建元組、向量組進行編碼。

6. 模型訓練

主要分為三步:構(gòu)建訓練樣本、基于訓練樣本進行模型訓練、輸出收斂的模型。

  • 構(gòu)建訓練樣本:小心數(shù)據(jù)穿越的問題。
  • 基于訓練樣本進行模型訓練:本質(zhì)是通過數(shù)學計算的方式學習訓練樣本數(shù)據(jù),最終得到一組收斂的模型參數(shù)w,主要使用梯度下降法,訓練過程中可以加入正則項系數(shù)如L1、L2用于提升模型的泛化能力、防止模型過擬合。
  • 輸出收斂的模型:設定閾值,若P>閾值,則成立。

7. 效果評估與迭代應用

離線效果評估,一般構(gòu)造多版模型,挑選離線效果最優(yōu)的模型線上部署,主要驗證模型在測試樣本上的效果。對于分類任務來說,看AUC指標。

迭代應用也稱模型的自學習,不會對算法和特征工程做較大調(diào)整,但會對新線上數(shù)據(jù)進行重新訓練,替換舊模型。若要調(diào)整,則AB Test小實驗等德國

以上就是構(gòu)建精排模型的全部步驟,策略產(chǎn)品經(jīng)理可以參與精排模型的主要工作是模型訓練樣本的挑選和特征工程的構(gòu)建。

三、重排策略

重排策略一般要完成以下3項工作:

1.全局最優(yōu)的排序調(diào)整:以淘寶為例,用戶瀏覽是一個連續(xù)的過程,一屏內(nèi)有4個商品,而精排模型返回的主要是最優(yōu)單品,而不是最優(yōu)組合,所以需要重新排列。

2.基于用戶體驗的策略調(diào)整:調(diào)整用戶在APP前端實際看到的物料順序,保證前端展示物料的新穎性、多樣性。

3.適當?shù)牧髁勘O(jiān)控:和業(yè)務強相關的流量調(diào)控策略會部署在重排層,比如對某些物料的加權(quán),常見的有對直播內(nèi)容的加權(quán)、情人節(jié)對花卉等商品的加權(quán)等,這些策略只有部署在最后一層才可以實現(xiàn)直接調(diào)控。

1. 全局最優(yōu)的排序調(diào)整

排序模型有三種優(yōu)化目標:單點優(yōu)化(point wise)、成對優(yōu)化(pair wise)、序列優(yōu)化(list wise)。精排模型的CTR預估實際上就是單點優(yōu)化,不考慮上下文信息。成對優(yōu)化和序列優(yōu)化都考慮上下文信息,但是成對優(yōu)化只考慮兩個物料的順序關系,重排模型的優(yōu)化目標通常是序列優(yōu)化(list wise)。

序列優(yōu)化本身不是一個具體的算法或者模型,只是一個模型的優(yōu)化目標或者損失函數(shù)的定義方式。序列優(yōu)化關注整個列表中物料之間的順序關系,主要分以下兩個步驟:

第一步:序列生成

序列生成模型基于精排模型返回的商品數(shù)量進行排列組合,一般情況下從排序靠前的候選集中進行挑選。

第二步:對生成的序列候選集進行效果評估。

首先需要構(gòu)建一個序列評估模型,目前序列評估模型中常用的算法是RNN(recurrent neural network,循環(huán)神經(jīng)網(wǎng)絡)。RNN模型的一大特點是以序列數(shù)據(jù)為輸入,通過神經(jīng)網(wǎng)絡內(nèi)部的結(jié)構(gòu)設計有效捕捉序列之間的關系特征,非常適合作為序列評估模型來實現(xiàn)序列優(yōu)化。

模型針對序列中的每個商品重新給出P(CTR),一般情況下只會對精排模型的CTR進行微調(diào),不會大幅調(diào)整精排模型預估的CTR,最終選擇綜合CTR最高的序列返回App前端。

2. 基于用戶體驗的策略調(diào)整

主要包括兩種:打散策略、多樣性策略

1)打散策略

在電商推薦場景,需要針對同三級類目、同品牌、同封面圖的商品進行大賽;在內(nèi)容推薦場景下,需要針對同類型、同封面圖、同作者的內(nèi)容進行大三。目前主流的打散策略主要基于硬規(guī)則的打散,也有基于用戶個性化興趣的打散方式(容易出現(xiàn)UE問題)。

電商同三級類目商品打散,針對此類打散一般使用滑動窗口法打散,構(gòu)建兩個窗口,若符合硬規(guī)則則移動窗口,若不符合則按順序替換,容易出現(xiàn)末尾扎堆的問題(末尾物料順序無法調(diào)整)

2)多樣化策略

向單個用戶推薦多少種不同類目的商品,怎么樣推薦才算符合多樣性,這是由各平臺自己決定的,一般由策略產(chǎn)品經(jīng)理和相關業(yè)務方一起制定規(guī)則。實際應用時通常采用多種策略,觀察實際線上效果,然后基于AB Test小流量實驗效果進行討論,最終在平衡業(yè)務訴求和實際線上效果的基礎上確定一版最終策略。

多樣性策略和打散策略最終融合在一起,變成一個多目標約束優(yōu)化問題。為了方便省心,我們通常直接使用硬規(guī)則策略解決。

3. 適當?shù)牧髁勘O(jiān)控

流量調(diào)控策略只有一種,直接在重排層針對這部分物料進行相應權(quán)重的調(diào)整。但在實際落地中不僅要考慮CTR這一指標,在電商領域還要考慮轉(zhuǎn)化率、曝光率、GMV、質(zhì)量分等。對于內(nèi)容場景,我們需要考慮視頻的預估完播率、預估播放時長、互動率以及發(fā)布者賬號的等級等。在最終排序時一般設置一個綜合性的排序分數(shù),具體排序公式可以自行擬定。

本文由 @策略產(chǎn)品經(jīng)理規(guī)劃 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來自Pixabay,基于CC0協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!