廣告策略產(chǎn)品(3):推薦系統(tǒng)的排序策略那些事兒

1 評(píng)論 6693 瀏覽 58 收藏 17 分鐘

推薦策略是每個(gè)產(chǎn)品都會(huì)涉及到的問(wèn)題,是根據(jù)時(shí)間順序推薦還是根據(jù)一定的比重推薦,這關(guān)乎著流量分配和用戶留存。本文作者對(duì)推薦系統(tǒng)的排序策略進(jìn)行分析,與你分享。

Hi 我是策略產(chǎn)品經(jīng)理Arthur,上一篇文章給大家分享廣告eCPM最大化期望收益建模核心問(wèn)題之一的廣告競(jìng)價(jià)問(wèn)題,今天給大家繼續(xù)分享一下另一個(gè)問(wèn)題:預(yù)估排序問(wèn)題。

排序是評(píng)估一個(gè)無(wú)論自然推薦還是推薦系統(tǒng)都會(huì)涉及的問(wèn)題,基于用戶興趣推薦展示內(nèi)容準(zhǔn)不準(zhǔn)的關(guān)鍵模塊,在這里順帶提一下,從召回到粗排到精排再到重排序的整個(gè)鏈路搭建,一般大型的頭部互聯(lián)網(wǎng)公司,因?yàn)閕tem物料的豐富與推薦內(nèi)容多樣性的高要求,所以需要將每個(gè)步驟都搭建完善。

但是對(duì)于某些物料item整體偏少,例如某些線上中小學(xué)課程教育推薦系統(tǒng),總體課程item數(shù)量也就不到100的話,那么連召回鏈路都不需要搭建,只需要簡(jiǎn)單的搭建一個(gè)排序系統(tǒng)即可,因此需要基于業(yè)務(wù)考量來(lái)做系統(tǒng)搭建。

我們這里的分享會(huì)介紹完整的系統(tǒng)搭建,下面的排序都以小紅書(shū)推薦。

今天我們先來(lái)介紹粗排,主要分成幾個(gè)部分來(lái)介紹:

  1. 排序是什么&有哪幾種排序方式
  2. 排序的目標(biāo)與評(píng)估標(biāo)準(zhǔn)
  3. 排序的主流策略&方法枚舉介紹;

一、排序是什么&排序模塊分類

前文也提到了排序相較于召回要處理的物料item更精煉精準(zhǔn),模型的選擇更加復(fù)雜,使用的特征也更加豐富,相較于召回?cái)?shù)以十萬(wàn)甚至百萬(wàn)量級(jí)的物料到排序階段可能已經(jīng)只剩下數(shù)千到數(shù)百的水準(zhǔn);排序模塊的作用就是從很多候選的item中挑出最好的一個(gè)或者多個(gè)進(jìn)入到展示邏輯中。

排序主要包含粗排、精排以及重排序三種排序方式。

粗排(Pre-rank):粗排其實(shí)在排序鏈路中是一個(gè)比較尷尬的定位,在絕大多數(shù)的場(chǎng)景下粗排其實(shí)類似于召回巨大量級(jí)item與精排之間的item過(guò)濾器,類似精排的影子,其使用的模型復(fù)雜度一般會(huì)類似精排或者弱于精排,絕大多數(shù)使用離線簡(jiǎn)單的特征數(shù)據(jù)(例如離線客戶畫(huà)像、行為等),給精排輸出精煉的物料內(nèi)容預(yù)估簡(jiǎn)單的點(diǎn)擊率CTR,降低精排直接對(duì)上萬(wàn)物料處理的系統(tǒng)算力問(wèn)題+耗時(shí)問(wèn)題;

精排(Rank):最純粹的機(jī)器學(xué)習(xí)排序模塊,目標(biāo)只有一個(gè)根據(jù)所有的信息(最復(fù)雜的排序分類模型+實(shí)時(shí)在線行為而數(shù)據(jù)+離線特征)輸出最終準(zhǔn)確的CTR預(yù)測(cè)排序item(在廣告場(chǎng)景下就是eCPM的排序,即bid*pCTR*1000),?預(yù)測(cè)的小紅書(shū)筆記/視頻被點(diǎn)擊的結(jié)果“精煉”,準(zhǔn)確度也明顯高于粗排;

重排序(Re-Rank): 重排序的作用其實(shí)是幫助排序從純粹的“單點(diǎn)最優(yōu)”往“全局最優(yōu)”做邁進(jìn),在精排考慮的小紅書(shū)筆記并未考慮到context上下文之間的關(guān)系,比如用戶喜歡看美食筆記,整體排序預(yù)估下來(lái)會(huì)給客戶推薦滿屏的都是圖片類似的筆記,這樣體驗(yàn)非常不好,因此為了保證在一個(gè)推薦隊(duì)列中的筆記新穎性和多樣性,會(huì)在重排序做各種考慮上下文Context的過(guò)濾,在不盡量不破壞精排final_score的基礎(chǔ)上做局部重構(gòu),保證全局最優(yōu);

二、排序的目標(biāo)與評(píng)估標(biāo)準(zhǔn)

前面舉了一個(gè)例子,如果小紅書(shū)筆記推薦核心優(yōu)化指標(biāo)如果是CTR(點(diǎn)擊率,為了方便理解我們先構(gòu)建單一目標(biāo)優(yōu)化,多目標(biāo)一般還會(huì)包含人均曝光筆記數(shù)、筆記互動(dòng)等),那么核心排序的方式就是對(duì)于點(diǎn)擊率CTR的預(yù)估,按照最終預(yù)估pCTR_Score的情況進(jìn)行排序。

1. 排序?qū)W習(xí)的目標(biāo):后驗(yàn)CTR

精排學(xué)習(xí)的目標(biāo)的范圍一般是所有存在曝光的樣本。有曝光但沒(méi)有點(diǎn)擊的是負(fù)樣本,有曝光也有點(diǎn)擊的就是正樣本。在其他目標(biāo)中可以以此類推:比如轉(zhuǎn)化率(CVR)預(yù)估,點(diǎn)擊了沒(méi)轉(zhuǎn)化的是負(fù)樣本,點(diǎn)擊了,也轉(zhuǎn)化了就是正樣本。

2. 排序所依賴的特征工程

特征所做的事兒其實(shí)就是講推薦系統(tǒng)中達(dá)成學(xué)習(xí)目標(biāo)效果的特征內(nèi)容,特征工作的基本思路是,先通過(guò)人工預(yù)判有效特征->離線評(píng)估重要度和覆蓋率->訓(xùn)練模型離線評(píng)估->在線實(shí)驗(yàn)。總的來(lái)說(shuō)在比較低的層面,充斥著大量的數(shù)據(jù)清洗、處理或者歸一化等,并且實(shí)現(xiàn)ETL(Extraction-Transformation-Loading),推薦系統(tǒng)當(dāng)中的特征選取是一件非常重要的事情。

例如,如果希望整個(gè)小紅書(shū)推薦系統(tǒng)筆記點(diǎn)擊率較高,推薦美食和旅游,選取用戶側(cè)特征就更多側(cè)重用戶的購(gòu)買力、飲食偏好、地域、考慮筆記特征的時(shí)候就需要看文章context內(nèi)容,位置、價(jià)格等,特征工程整體是一件收益較高的事兒,但是一般需要有經(jīng)驗(yàn)豐富的專業(yè)人士人工前置預(yù)判有效特征。

3. 排序的評(píng)估指標(biāo):AUC

排序可歸類為一個(gè)二分類問(wèn)題,其核心要解決的就是小紅書(shū)筆記曝光后是否點(diǎn)擊的問(wèn)題,即“曝光點(diǎn)擊與曝光未點(diǎn)擊”,可以通過(guò)二分類問(wèn)題的混淆矩陣(內(nèi)容偏多,如果點(diǎn)贊收藏超過(guò)100,后續(xù)單獨(dú)輸出筆記介紹),通過(guò)來(lái)對(duì)預(yù)估模型效果進(jìn)行評(píng)估。

可以看到圖中混淆矩陣從整提上拆分了實(shí)際值A(chǔ)ctual預(yù)測(cè)值Prediction,實(shí)際值又分為True和False,對(duì)應(yīng)小紅書(shū)筆記優(yōu)化上對(duì)應(yīng)的真實(shí)點(diǎn)擊與未點(diǎn)擊,預(yù)測(cè)值分為Positive和Negtive,表示的是筆記預(yù)測(cè)點(diǎn)擊結(jié)果的正確與否。

TP(True Positive)在混淆矩陣中的意思就是模型預(yù)測(cè)該筆記被點(diǎn)擊并且實(shí)際也被點(diǎn)擊,即預(yù)測(cè)正確;因此FN、FP都可以得到對(duì)應(yīng)的關(guān)系,TN(True Negtive)在混淆矩陣的位置就是預(yù)測(cè)不被點(diǎn)擊實(shí)際也是曝光未點(diǎn)擊的結(jié)果(預(yù)測(cè)正確了所以是True);recall-召回率 、Precision-精確率和Accuracy-準(zhǔn)確率對(duì)應(yīng)的代表如圖片所示,核心用來(lái)評(píng)估預(yù)測(cè)的準(zhǔn)不準(zhǔn)以及全不全的問(wèn)題。

除此之外,在得到評(píng)估指標(biāo)AUC曲線之前,我們首先要計(jì)算ROC曲線,所有的測(cè)試集中對(duì)每個(gè)樣本(此處代指小紅書(shū)筆記)都需要做出一個(gè)實(shí)際值的預(yù)測(cè),可以是(0,1)的范圍,大于閾值判定成正例,小于則被判定為負(fù)例。

如果按照預(yù)測(cè)值從大到小排序,并且從大到小選擇預(yù)測(cè)值作為分類閾值的話,就可以得到對(duì)應(yīng)的P和R指標(biāo)。圖片中的TPR(真正例率)表示所有應(yīng)該被預(yù)測(cè)為被點(diǎn)擊的筆記樣本,被正確預(yù)測(cè)為點(diǎn)擊的比例;而FPR(假正利率)表示所有應(yīng)該被預(yù)測(cè)不被點(diǎn)擊的筆記被錯(cuò)誤預(yù)測(cè)成為點(diǎn)擊的比例。

我們以假正例率為橫坐標(biāo),真正例率為縱坐標(biāo)繪制一條從(0,0)到(1,1)即可得到一條曲線,我們稱之為ROC曲線,我們通過(guò)ROC曲線下方的面積來(lái)評(píng)估一個(gè)模型預(yù)測(cè)的好壞與否,這個(gè)面積就叫做AUC(Area Under ROC Curve)。

整體來(lái)說(shuō)所TPR 越高,同時(shí) FPR 越低(即 ROC 曲線越陡),那么模型的性能就越好。AUC一般評(píng)判標(biāo)準(zhǔn)理想情況是1(理想態(tài),模型一般達(dá)不到),在0.5到1之間是模型一般會(huì)達(dá)到的效果水準(zhǔn),一般比較好的就在0.85-0.95之間,一直低于0.5就可以卷鋪蓋走人啦,因?yàn)殡S機(jī)猜測(cè)0.5的比例都比這個(gè)高;后面模型預(yù)估排序效果的好壞都可以通過(guò)AUC這個(gè)指標(biāo)來(lái)進(jìn)行效果判定。

三、排序的主流策略&方法枚舉

了解完排序的目標(biāo)和評(píng)估標(biāo)準(zhǔn)之后我們?cè)诨谶@個(gè)大的框架了解一下排序目前主流的策略。

首先建立一個(gè)概念就是排序的整體目標(biāo)是根據(jù)業(yè)務(wù)不斷變化的,最早期,業(yè)務(wù)目標(biāo)比較簡(jiǎn)單需要聚焦的時(shí)候,就會(huì)選擇某一個(gè)指標(biāo)來(lái)作為優(yōu)化(單目標(biāo)優(yōu)化),例如CTR,到了中后期的時(shí)候,發(fā)現(xiàn)單一目標(biāo)對(duì)整體的提升有限&并且容易造成排序Cheating作弊的時(shí)候,就需要引入多目標(biāo)排序的方式了。

例如小紅書(shū)文章需要考慮CTR點(diǎn)擊率之外的點(diǎn)贊、收藏以及評(píng)論情況,小紅書(shū)視頻需要看完播率(如果看完播率的話,就由二分類問(wèn)題變成了一個(gè)回歸問(wèn)題了)等;

3.1 算法框架 LR:pointwise、pairwise和listwise

LR是比較簡(jiǎn)單的線性模型方式,通過(guò)學(xué)習(xí)用戶的點(diǎn)擊行為來(lái)實(shí)現(xiàn)對(duì)于CTR的預(yù)估。利用邏輯回歸的方式構(gòu)建推薦算法模型,具體模型公式如下:

公式當(dāng)中,p代表的是用戶喜歡某個(gè)標(biāo)的的概率,Wi代表的是權(quán)重,學(xué)習(xí)模型的參數(shù)(前期可以人工調(diào)整,后期最好做成自適應(yīng)類型);Fi是特征i值;通過(guò)上面的公式計(jì)算給用戶推薦的筆記iteme -p值;然后最終按照p值的score打分大小降序進(jìn)行排序。

1)PointWise單點(diǎn)法

基于單點(diǎn)打分,對(duì)參與排序的每一篇小紅書(shū)文章都會(huì)得到Score(相對(duì)分?jǐn)?shù)),只要和用戶匹配的業(yè)務(wù)目標(biāo)(指代CTR點(diǎn)擊率)越近的item,得分Score就更高。單點(diǎn)計(jì)算的結(jié)果就是構(gòu)造簡(jiǎn)單,模型能夠?qū)崟r(shí)更新,計(jì)算量也比較小。但是輸出的排序列沒(méi)有考慮到排序之間的item筆記也會(huì)存在影響,沒(méi)有考慮全局最優(yōu)。

2)PairWise配對(duì)法

對(duì)參與排序的小紅書(shū)筆記item兩兩比較,計(jì)算和目標(biāo)優(yōu)先級(jí)得到排序的結(jié)果,如果參與排序的筆記有三篇A、B、C。理想排序是”A > B > C”,我們希望通過(guò)兩兩學(xué)習(xí)的關(guān)系“A > C”,”B >C “和“A>B”的方式來(lái)得到最終的目標(biāo)A > B > C的方法,模型的精度有所提升效果優(yōu)于PointWise方法,但是樣本構(gòu)造的成本比PointWise要更高,如果無(wú)法構(gòu)造所有的Pair對(duì)會(huì)造成所有模型存在偏差。

3)ListWise列表法

講整個(gè)的item筆記的序列看做一個(gè)樣本,對(duì)參與排序的item中的每一個(gè)預(yù)測(cè)出一個(gè)在目標(biāo)列表中的位置。一般來(lái)說(shuō)ListWise 排序的精度最高,但是構(gòu)造樣本的成本最高,需要ranking的算法基于排列來(lái)計(jì)算Loss。

總結(jié):推薦場(chǎng)景之下常用的建模方法是PointWise居多,正負(fù)樣本對(duì)構(gòu)造方便快捷,用戶正向行為的item點(diǎn)擊可以記為1,未點(diǎn)擊記錄為0,當(dāng)然需要去除作弊點(diǎn)擊、誤觸點(diǎn)擊的樣本;其次,推薦場(chǎng)景用戶沒(méi)有準(zhǔn)確意圖,相對(duì)排序精度要求要微弱于搜索query,而且PairWise、ListWise方法構(gòu)造樣本難度大成本高,目前用的會(huì)相對(duì)來(lái)說(shuō)較少一點(diǎn)。

3.2 模型的選擇

推薦系統(tǒng)基于上述的PointWise單點(diǎn)法,產(chǎn)生了一些代表性的基于PointWise的排序模型。如DNN、Attention、多任務(wù)學(xué)習(xí)等都被移植到了推薦系統(tǒng)的排序上。畢竟是屬于算法模型部分,這里策略產(chǎn)品只做一些簡(jiǎn)單的介紹。

1)DNN系列:微軟的DSSM雙塔模型

在召回策略部分已經(jīng)給大家分享過(guò),屬于大家的老朋友了,核心還是在推薦場(chǎng)景下圍繞用戶和待推薦的小紅書(shū)筆記構(gòu)建兩個(gè)Embedding向量,同時(shí)構(gòu)造哦政府樣本模型去做訓(xùn)練區(qū)分;線上提供服務(wù)的時(shí)候用請(qǐng)求用戶User去和筆記Embedding向量去計(jì)算余弦相似度,排序分Score來(lái)做最終結(jié)果的呈現(xiàn)。

2)Attetion系列:阿里云DIN

注意力機(jī)制Attention與推薦系統(tǒng)的融合的開(kāi)山之作,模型結(jié)構(gòu)比較簡(jiǎn)單解決問(wèn)題的場(chǎng)景也比較容易理解,感興趣的朋友可以自己找一下論文了解一下。

輸入的特征最重要的就是用戶發(fā)生實(shí)時(shí)正向行為item的embedding,會(huì)直接在網(wǎng)絡(luò)中對(duì)這個(gè)item物體做pool池化操作;比方用戶在瀏覽大衣感興趣的時(shí)候,那么就不希望對(duì)用戶行為中的杯子、包等item給不相關(guān)的物體更大的權(quán)重,維持對(duì)于大衣相關(guān)cat類目的權(quán)重,這個(gè)行為item和目標(biāo)item之間的權(quán)重是自動(dòng)學(xué)習(xí)得來(lái)的,也是隨時(shí)會(huì)發(fā)生變化的,這個(gè)就是Attention的整體思路;

整體來(lái)說(shuō)以上就是推薦系統(tǒng)在排序方面的介紹,核心是幫助廣告策略產(chǎn)品經(jīng)理入門了解排序策略需要知曉的工作內(nèi)容,幫助大家簡(jiǎn)歷職業(yè)壁壘,而不是讓大家從事算法工程師的工作,深度的去理解廣告策略建模的兩個(gè)核心問(wèn)題競(jìng)價(jià)問(wèn)題與排序問(wèn)題,這樣作為產(chǎn)品才好結(jié)合建模目標(biāo)去實(shí)現(xiàn)業(yè)務(wù)的需求,也更加理解廣告收入如何去做優(yōu)化。

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

題圖來(lái)自 Unsplash,基于 CC0 協(xié)議

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

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 策略產(chǎn)品交流與學(xué)習(xí)歡迎關(guān)注作者主業(yè)

    來(lái)自北京 回復(fù)