淺談百度新一代query-ad 推薦引擎如何提升廣告收益率

今天看了一篇論文,是某頂會的被推薦為最值得閱讀的論文之一。題目是《MOBIUS: Towards the Next Generation of Query-Ad Matching in Baidu's Sponsored Search》,裡面有幾個觀點挺新穎的,跟大家分享下。

首先query-ad指的就是搜一個信息然後展示一個廣告,用戶點擊廣告會付費,向百度這樣的體量,單純這樣的廣告營收轉化每天可能就有上億元。

淺談百度新一代query-ad 推薦引擎如何提升廣告收益率

在這個論文裡,百度的研究員提了一個很有趣的觀點:傳統的召回-排序架構,可能對於CPM轉化不是最理想的(CPM = CTR × Bid),這個觀點挺有趣的,接下來看下百度是怎麼證明這個問題並解決的。

01 傳統的召回-排序框架有什麼問題?

傳統的推薦架構是這樣分工的,將推進分為召回和排序模塊,召回負責解決相關性問題,排序解決業務目標的問題。以搜索廣告為例,召回模塊的作用是首先遍歷出跟用戶檢索信息相關的廣告,然後排序模塊負責找出那些廣告用戶點擊帶來的CPM最高。

淺談百度新一代query-ad 推薦引擎如何提升廣告收益率

百度認為這種做法並不經濟,因為如果召回階段只考慮相關性的話會產生大量沒有價值的召回候選集,這些內容在接下來排序的過程中是一種資源浪費。另外對於一些低頻出現的但是可能觸發高CPM的廣告,在召回階段可能會過濾掉,因為召回並沒有考慮CPM。

02 怎麼解決召回階段沒考慮CPM這個問題呢?

答案就是在召回階段加一層,這一層負責考慮業務屬性。

淺談百度新一代query-ad 推薦引擎如何提升廣告收益率

綠色這一層就是增加的層。這一層他希望給相關性加一個threshold,在召回候選集滿足大於threshold的同時讓CPM最大(下圖上邊公式是CPM的計算公式)。

淺談百度新一代query-ad 推薦引擎如何提升廣告收益率

這麼做的一個結果我感覺就是那種跟搜索內容沒有特別高的相關性的但是很貴的廣告也會出現在廣告表。

流程圖如下:

淺談百度新一代query-ad 推薦引擎如何提升廣告收益率

先把user和ad做vector,然後做vector compression,這裡的compression不是壓縮的意思,有點向量分桶的意思,通過kmeans算法吧向量按照index分成不同的類別(我有點沒太看懂這一段)。

然後就是常規的ANN&MIPS,ANN就approximate nearest neighbor,ANN簡單來說就是向量歐氏距離或者餘弦距離。MIPS就是maximum inner product search,就是找出向量機最大的列表。這些都是推薦領域很常規的操作,但是百度很明確說了在大規模數據下ANN比較好的方案是random partition tree method,這個可以瞭解下。

03 總結

本文提到的方法經過百度自己的測試,能達到很好地業務效果。


淺談百度新一代query-ad 推薦引擎如何提升廣告收益率

我自己的感覺,確實在召回階段加一些業務的目標還是比較有價值的,把業務屬性全由排序模塊負責可能有模塊1講的問題。

PS:百度這個項目名字也挺逗的,他是這樣解釋的:

“Mobius” is Baidu’s internal code name of this project. Coinciden- tally, the well-known “Mobius Loop” is also the bird’s eye view of Baidu’s Technology Park in Beijing, China;


分享到:


相關文章: