排得更好VS估得更准VS搜的更全「推荐、广告、搜索」算法间到底有什么区别?...
文 | 王喆
源 | 王喆的機器學(xué)習(xí)筆記
作為互聯(lián)網(wǎng)的核心應(yīng)用“搜廣推”,三個方向基本都是互聯(lián)網(wǎng)公司的標(biāo)配。各頭部公司的搜廣推系統(tǒng)也都各自發(fā)展成了集成了多種模型、算法、策略的龐然大物,想一口氣講清楚三者的區(qū)別并不容易。不過萬事總有一個頭緒,對于一個復(fù)雜問題,直接深入到細(xì)節(jié)中去肯定是不明智的,我們還是要回到問題的本質(zhì)上來,回到搜廣推分別想解決的根本問題上來,才能一步步的把這三個問題分別理清楚。
根本問題上的區(qū)別
廣告
一個公司要搭建廣告系統(tǒng),它的商業(yè)目的非常直接,就是要解決公司的收入問題。所以廣告算法的目標(biāo)就是為了直接增加公司收入。
推薦
推薦算法雖然本質(zhì)上也是為了增加公司收入,但其直接目標(biāo)是為了增加用戶的參與度。只有用戶的參與度高了,才能讓廣告系統(tǒng)有更多的inventory,進而增加公司營收。
搜索
搜索要解決的關(guān)鍵問題全部是圍繞著用戶輸入的搜索詞展開的。雖然現(xiàn)在搜索越來越強調(diào)個性化的結(jié)果,但是一定要清楚的是,推薦算法強調(diào)的個性化永遠(yuǎn)只是搜索算法的補充。“圍繞著搜索詞的信息高效獲取問題“才是搜索算法想解決的根本問題。
正是因為三者間要解決的根本問題是不同的,帶來了三者算法層面的第一個區(qū)別,那就是優(yōu)化目標(biāo)的區(qū)別。
優(yōu)化目標(biāo)的區(qū)別
▲廣告系統(tǒng)的各種計費方式廣告
各大公司廣告算法的預(yù)估目標(biāo)非常統(tǒng)一,就是預(yù)估CTR和CVR。這是跟當(dāng)前效果類廣告的產(chǎn)品形態(tài)密切相關(guān)的。因為CPC和CPA計價仍是效果類廣告系統(tǒng)的主流計價方式。所以只有預(yù)估出CTR和CVR,才能反向推導(dǎo)出流量的價值,并進一步給出合理的出價。所以針對這樣的目標(biāo),廣告算法非常看重把預(yù)估偏差當(dāng)作首要的評價指標(biāo)。
推薦
推薦算法的預(yù)估目標(biāo)就不盡相同,視頻類更多傾向于預(yù)測觀看時長,新聞類預(yù)測CTR,電商類預(yù)估客單價等等這些跟用戶參與度最相關(guān)的業(yè)務(wù)指標(biāo)。而且由于推薦系統(tǒng)的推薦場景是生成一個列表,所以更加關(guān)注item間的相對位置,因此評估階段更傾向于用AUC,gAUC,MAP這些指標(biāo)作為評價標(biāo)準(zhǔn)。
搜索
搜索的預(yù)估目標(biāo)又有所不同,因為相比廣告和推薦,搜索某種意義上說是存在著“正確答案”的。所以搜索非常看重能否把這些正確答案給召回回來(廣告和推薦也關(guān)注召回率,但重要性完全不同)。所以搜索系統(tǒng)往往會針對召回率,MAP,NDCG這些指標(biāo)進行優(yōu)化。
總的來說,廣告算法是要“估得更準(zhǔn)”,推薦算法是要整體上“排的更好”,搜索算法是要“搜的更全”。
算法模型設(shè)計中的區(qū)別
優(yōu)化目標(biāo)有區(qū)別,這就讓它們算法模型設(shè)計中的側(cè)重點完全不一樣:
廣告
由于廣告算法要預(yù)測“精準(zhǔn)”的CTR和CVR,用于后續(xù)計算精確的出價,因此數(shù)值上的“精準(zhǔn)”就是至關(guān)重要的要求,僅僅預(yù)估廣告間的相對位置是無法滿足要求的。這就催生了廣告算法中對calibration方法的嚴(yán)苛要求,就算模型訓(xùn)練的過程中存在偏差,比如使用了負(fù)采樣、weighted sampling等方式改變了數(shù)據(jù)原始分布,也要根據(jù)正確的后驗概率在各個維度上矯正模型輸出。此外,因為廣告是很少以列表的形式連續(xù)呈現(xiàn)的,要對每一條廣告的CTR,CVR都估的準(zhǔn),廣告算法大都是point wise的訓(xùn)練方式。
推薦
推薦算法的結(jié)果往往以列表的形式呈現(xiàn),因此不用估的那么準(zhǔn),而是要更多照顧一個列表整體上,甚至一段時間內(nèi)的內(nèi)容多樣性上對于用戶的“吸引力”,讓用戶的參與度更高。因此現(xiàn)在很多頭部公司在算法設(shè)計時,不僅要考慮當(dāng)前推薦的item的吸引力,甚至?xí)幸恍﹍ist level,page level的算法去衡量整體的效果進行優(yōu)化。也正因為這一點,推薦算法有大量不同的訓(xùn)練方式,除了point-wise,還有pair-wise,list-wise等等。此外為了增加用戶的長期參與度,還對推薦內(nèi)容的多樣性,新鮮度有更高的要求,這就讓探索與利用,強化學(xué)習(xí)等一些列方法在推薦場景下更受重視。
搜索
對于搜索算法,我們還是要再次強調(diào)搜索詞的關(guān)鍵性,以及對搜索詞的理解。正因為這樣,搜索詞與其他特征組成的交叉特征,組合特征,以及模型中的交叉部分是異常重要的。對于一些特定場景,比如搜索引擎,我們一定程度上要抑制個性化的需求,更多把質(zhì)量和權(quán)威性放在更重要的位置。
▲推薦系統(tǒng)中的探索與利用問題占有非常重要的地位輔助策略和算法上的區(qū)別
除了主模型的差異,跟主模型配合的輔助策略/算法也存在著較大的區(qū)別。
廣告
廣告系統(tǒng)中,CTR等算法只是其中關(guān)鍵的一步,估的準(zhǔn)CTR只是一個前提,如何讓廣告系統(tǒng)盈利,產(chǎn)生更多收入,還需要pacing,bidding,budget control,ads allocation等多個同樣重要的模塊協(xié)同作用,才能讓平臺利益最大化,這顯然是比推薦系統(tǒng)復(fù)雜的。
推薦
推薦系統(tǒng)中,由于需要更多照顧用戶的長期興趣,需要一些補充策略做出一些看似“非最優(yōu)”的選擇,比如探索性的嘗試一些長尾內(nèi)容,在生成整個推薦列表時要加入多樣性的約束,等等。這一點上,廣告系統(tǒng)也需要,但遠(yuǎn)沒有推薦系統(tǒng)的重視程度高。
搜索
搜索系統(tǒng)中,大量輔助算法還是要聚焦在對搜索詞和內(nèi)容的理解上。因此搜索系統(tǒng)往往是應(yīng)用NLP模型最重的地方,因為需要對大量內(nèi)容進行預(yù)處理,embedding化,進而生成更理解用戶語義的結(jié)果。比如最典型的例子就是airbnb對搜索詞embedding化后,輸入滑雪skiing,會返回更多滑雪勝地的地點,而不是僅僅是字面上的匹配。
模型本身的差異
最后才談到模型本身的差異,因為相比上面一路走來的關(guān)鍵問題,模型本身的差異反而是更細(xì)節(jié)的問題,這里從模型結(jié)構(gòu)的層面談一個典型的差異:
在廣告模型中,用戶的興趣是不那么連貫的,因此容易造成sequential model的失效,attention機制可能會更加重要一些。
推薦模型中,如果不抓住用戶興趣的連續(xù)變化,是很難做好推薦模型的,因此利用sequential model來模擬用戶興趣變化往往是有收益的。
搜索模型中,搜索詞和item之間天然是一個雙塔結(jié)構(gòu),因此在模型構(gòu)建的時候各種交叉特征,模型中的各種交叉結(jié)構(gòu)往往是搜索類模型的重點。當(dāng)然,在構(gòu)建良好的交叉特征之后,使用傳統(tǒng)的LTR,GBDT等模型也往往能夠取得不錯的結(jié)果。
▲經(jīng)典的Attention推薦模型DIN▲融合了序列結(jié)構(gòu)的推薦模型DSIN▲Google play的搜索雙塔模型系統(tǒng)層面的痛點
總體感覺上,廣告算法的問題更加瑣碎,各模塊協(xié)同工作找到平臺全局利潤最大化方法的難度非常大,系統(tǒng)異常復(fù)雜到難以掌控的地步,這是廣告算法工程師的痛點;
而推薦算法這邊,問題往往卡在長期利益與短期利益的平衡上,在模型結(jié)構(gòu)紅利消失殆盡的今天,如何破局是推薦算法工程師們做夢都在想的問題。
搜索算法則往往把重心放在搜索詞和item的內(nèi)容理解上,只要能做好這一點,模型結(jié)構(gòu)本身反而不是改進的關(guān)鍵點了,但是在多模態(tài)的時代,圖片、視頻內(nèi)容的理解往往是制約搜索效果的痛點。
后臺回復(fù)關(guān)鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復(fù)關(guān)鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
總結(jié)
以上是生活随笔為你收集整理的排得更好VS估得更准VS搜的更全「推荐、广告、搜索」算法间到底有什么区别?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 格局打开,带你解锁 prompt 的花式
- 下一篇: 对话系统聊天机器人的设计艺术(上)