廣告系列:召回與排序

編輯導語:如今很多企業會使用實時競價的方式進行廣告投放,在推薦系統中會有召回和排序兩個環節,根據用户和商品的部分特徵進行快速的排序,做出個性化推薦;本文作者分享了關於廣告中的召回與排序的方式,我們一起來了解一下。

廣告系列:召回與排序

實時競價廣告整體鏈路中,媒體側發起請求,經ADX發向各DSP,DSP在對流量評估的基礎上返回廣告參與競價,ADX比價後返回勝出廣告,媒體展示並上報完成一次廣告全流程。

其中DSP在接收到廣告請求後,需要在100-200ms內找出符合的廣告返回給ADX,廣告庫中的候選數量龐大,一般在幾十萬-幾百萬之間,要在極短時間內完成對海量廣告的打分評估,業界普遍的做法與推薦系統類似分為兩個主要環節:召回+排序。

一、召回

召回的目的在於減少候選的數量(儘量控制在1000以內),方便後續排序環節使用複雜模型精準排序;因為在短時間內評估海量候選,所以召回的關鍵點是個快字,受限與此與排序相比,召回的算法模型相對簡單,使用的特徵比較少。

業界普遍採用的方式是多路召回,即從多個維度出發在海量庫裏把相關度高的候選儘可能找出來。

多路同時召回是出於多方面的考慮:

  • 多樣性,從不同維度出發去找到相關的候選;
  • 魯棒性,即使一路召回出現問題,其他召回通路也會正常運行不至於阻塞主流程;
  • 可解釋與靈活性,每一路從單獨維度出發可以很好解釋召回的邏輯,如果效果不理想調整起來複雜度低更加靈活。

在某一路召回時選好方向確定對應的打分函數,之後進行打分、排序、截斷召回topN,各路召回之間彼此獨立,勝出的候選之間不具有可比性。

召回主要從用户(U)、上下文(C)、搜索詞(Q)、廣告(A)幾個大方向出發,細化維度可以結合實際業務場景,可以基於上下文標題/描述/分類/標籤/圖片、用户基礎統計信息/興趣標籤/歷史行為、檢索詞、基於物品的協同過濾,處理的信息是多模態的包括文字、圖片、視頻等。

具體召回匹配時有兩種思路:

  • 基於標籤/關鍵詞的文本硬匹配,如廣告定向中的地域、性別,要麼匹配,要麼不匹配,擴展性及靈活度差一些;
  • 基於向量的語義軟匹配。選擇有效的原始特徵進行embedding嵌入向量空間,通過雙塔模型學習獲得用户、廣告的向量表示,利用點積、餘弦相似度或者歐氏距離等方式計算向量相關度,類似Youtube的推薦雙塔和微軟的DSSM;既可以改變閾值調整召回數量又能滿足性能需求,是當前召回的主流形式。

召回不像排序階段直接影響業務指標,經過粗排精排等環節作用後對最終結果的影響已經很小,對質量衡量難度相對較大,可以從兩個方面出發嘗試評估:

  • 獨特性,某路召回結果的不可替代或者與其他通路的重複度,重複度越高該路召回的價值越小;
  • 轉化效果,召回結果的後續表現,如精排後的排名或者被曝光後用户是否點擊,效果越好價值越高。
二、排序

如果説召回是提供可能性,則排序是提供確定性:把最合適的候選找出來推給用户。

排序細化可以分為粗排、精排、重排。

  • 粗排是召回階段返回的候選數量還是太多,精排直接處理性能上不能滿足,粗排用簡單模型再做一次過濾減少數量,是個可選環節;
  • 重排則是出於業務考慮,對精排後的結果進行處理:多樣性、頻控、類別控制、特定結果提權等;
  • 精排是整個排序的關鍵,是各路模型的主戰場,也是我們討論的主角。

與召回相比,排序面對的候選在數量上急劇減少:只需要處理在召回階段勝出的候選“如果整個創意庫的量級在千級左右(如開屏廣告/商店原生等)則可以全部召回直接用於排序”;這為排序的發揮奠定了很好的基礎:使用更多的特徵與特徵組合、複雜的模型對多路召回的結果統一評判打分、排序、截斷topN輸出。

為了更細緻的刻畫與擬合實際場景,排序階段對模型的要求不斷提高,伴隨着技術的發展,從線性到非線性、從原始特徵到低階特徵組合、高階特徵組合,到低高階並存。

如果説召回是基於表示的學習,其重點在學習用户和廣告的向量表徵,那麼排序則是基於特徵與特徵組合的學習;尤其是高階特徵組合,整個排序模型發展的主方向就是對有效特徵及特徵組合的發現與使用。

召回與排序對整個廣告有重要影響,其結果的好壞很大程度上決定了廣告的質量和變現效果;它是廣告鏈路上的一顆明珠,值得花精力精雕細琢。

上面介紹了召回與排序在整個廣告鏈路中所屬環節及各自作用,接下來主要介紹二者的異同及目標一致性問題。

相同點:

召回與排序都是通過特徵選取、模型構造,對候選集進行打分/排序/截斷,將不符合的候選過濾,符合條件的候選進入下一環節,總體來講召回排序環節選出了合適的候選。

差異點:

1)數據環境的差異

業界有句話,數據/特徵決定了模型的上限,模型只是不斷的去逼近它;因為模型學習的就是數據的內在規律和分佈結構,為保證上線效果,訓練數據要儘可能接近線上數據。

召回階段處理的是全量候選,魚龍混雜,其中絕大多數都與當前請求不相關;排序階段面對的是已經通過了一次篩選,相關度已經有了很好的保障。

基於二者環境的差異,在訓練數據/樣本的選擇上需要注意,正樣本的選擇相對明確,重點在於負樣本的選取;對於排序而言,曝光未點擊的數據與線上環境基本接近(完全一致需要選取召回勝出的候選集,但此時的數據沒有標記);對於召回而言,一種有效的做法是通過全局隨機抽樣來產生不相關的負樣本。

2)模型處理的差異

針對新的影響因素/特徵,召回出於多樣性和可解釋等多方面考慮,一般會新增一路召回,導致了各路之間彼此獨立,結果不可比。

排序是將新因素作為特徵融入現有模型進行相關的特這組合交互,所有候選按照統一的標準打分評估。

召回與排序目標一致性:

推薦和廣告在很多方面有相似性,包括召回和排序面對的場景、處理思路、技術和實現,前面文章中提到廣告對召回排序的處理借鑑推薦系統的做法;在一定程度上包含在目標的處理上,其實二者之間是有本質區別的。

推薦:推薦系統產生的背景是因為商品/內容量級太大,用户想找到感興趣的內容需要花費一定成本/時間,基於此提出推薦系統幫助用户快速找到感興趣的內容,在相關性的基礎上需要同時考慮內容的多樣性、新穎和時效性;不能只根據用户行為歷史生成推薦內容,否則容易造成用户審美疲勞,所以既要利用已知又要探索新的內容。

從根本上講屬於用户體驗問題,服務於用户滿意度,最終提升用户活躍和留存,所以推薦的整體目標是:把用户喜歡的東西推薦給用户。

廣告:廣告是從商業化角度出發,為了變現獲取收益,與推薦相比廣告的目標/訴求更加純粹:收益最大化。在實時競價廣告中拍賣的商品是曝光,所以具化為曝光收益最大化。實際場景中考慮了收益最大化以外的因素一般都是廣告和其他業務/場景在折中妥協後的結果(搜索場景的相關性/展示場景的類別/次數限制等),換個角度看也是為了廣告走的更長遠。

基於上述差異二者在召回與排序的目標和具體指標上會有所不同。

推薦在兩階段的總體目標基本一致:找出來用户喜歡的/相關的,具體操作上會有細微差別,召回一般用雙塔衡量相關度,排序根據實際場景指標有所調整如點擊率/觀看時長/分享等。

廣告兩階段的目標是基本分開的:

  • 召回:在全部候選中召回相關的候選集;
  • 排序:排序對最終結果直接產生影響,因此從商業化角度出發將收益最大的候選推出去。

召回與排序是前後相連的兩個環節,如果二者目標不一致會影響商業化效率:召回的優質候選在排序階段的排名可能比較靠後,排序階段的優質候選在召回環節被過濾掉掉。

百度在莫比烏斯的論文中也提到:召回階段勝出相關性高的候選因為cpm不夠高最終推出不去無法曝光。

從廣告的根本目標出發,為有效解決上述耗損問題,百度提出把排序的目標前移至召回階段:召回就需要考慮商業化目標(ECPM),這對召回模型的複雜度提出了很高的要求;因為召回場景的特殊性需要同時兼顧性能和效果兩個方面。

關於這個點,阿里在深度樹(TDM)的論文中提供了一種解決性能問題的方向:利用樹結構進行高效的全局檢索,這為解放召回階段使用複雜模型點燃了星星之火,與百度提出的排序目標前移堪稱廣告的兩大福音。

下一篇主要介紹召回排序在具體處理時採用的思路和方法。

本文由 @知乎-莫菲克 原創發佈於人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基於CC0協議

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 3292 字。

轉載請註明: 廣告系列:召回與排序 - 楠木軒