从二值检索到层次竞买图——让搜索广告关键词召回焕然新生
丨目錄:
?? · 背景
?? · 廣告改寫的歷史與新目標
?? · 從兩階段到一段式:二值海選
?? · 從一段式到聯合召回:層次競買圖
?? · 關鍵詞召回的業務思考
本文主要分享過去一年我們在搜索廣告召回的傳統領域--關鍵詞召回方向上的一些實踐。通過二值檢索、層次競買圖兩期的工作,先后完成了關鍵詞召回從兩階段近似建模到一段式、從一段式到聯合召回的兩次算法架構升級,既在算力約束的情況下讓召回階段大批量廣告在線打分成為可能,也讓不同設計目標的Query改寫算法不再"內卷",打開獨立優化的空間,讓直通車關鍵詞召回煥然新生。
1 背景
隨著移動互聯網及信息技術不斷創新,電子商務已經是數字化轉型的基礎設施,其中,商品搜索場景是客戶尋找商品的必經環節,如何幫助客戶定位所需商品成為了重要挑戰,也是搜索廣告商業化中幫助廣告主精準投放廣告要解決的重要問題。在阿里媽媽直通車搜索廣告業務中,主要采用關鍵詞拍賣與競價排名的產品形式,因此,競買詞Bidword作為廣告主圈選用戶主動搜索流量的重要抓手,不僅起到計費作用同時也是重要的橋梁與計費作用。一直以來,關鍵詞改寫召回作為一種從用戶搜索Query出發的召回方法,主要通過對Query的改寫擴展與<Bidword,Ad>的買詞倒排關系,形成相關廣告召回與計價,它的優勢在于:
利用廣告主自主圈選關鍵詞流量的集體智慧,從Bidword維度分配流量,是搜索廣告的啟蒙形式;
倒排索引是天然的動態索引,新廣告買詞append到對應倒排鏈末尾實時生效,能高效承載幾十億規模的廣告索引與檢索。
在關鍵詞召回方向上,我們從改寫關系<Query,Bidword>與倒排靜態分<Bidword,Ad>兩方面進行迭代,如圖1.1所示,提高改寫分與靜態分兩階段近似海選分<Query,Ad>的準度,取得了業務效果與系統性能收益;但同時我們也意識到,目前的兩階段近似海選分,在面向效果的海選打分準確性與實時性、面向相關性與效果兩個不同目標的改寫通道融合quota分配問題上,仍是亟待解決的難題,且最終效果天花板受制于關鍵詞召回目前先改寫再打分的架構。
圖1.1 ?直通車關鍵詞召回海選分的演進為了解決以上問題,關鍵詞召回面臨著3個挑戰:
算力強約束:在倒排檢索內存與計算消耗約束下,用輕量高效檢索模型替代改寫分與靜態分,提高海選打分的準確性與實時性。
quota-free全局排序:使關鍵詞多目標改寫不再需要設置quota,解耦改寫分,實現各Bidword倒排鏈全局可比的排序。
聯合召回:進一步突破先召回Bidword再檢索廣告的模式,構建檢索模型與索引結果聯合學習、Bidword與Ad聯合召回的高效高精度算法。
我們通過使用低存儲與低計算的二值檢索模型替換海選靜態分,實現了海選從兩階段近似打分到一段式全局排序的跨越,在為低精度異質檢索探索出有效方法的同時,大大優化了引擎負載與離線維護成本,打破了關鍵詞召回的迭代天花板;又通過<Ad,Bidword>聯合召回的層次競買圖,將DNN全庫檢索落地直通車召回場景,突破了關鍵詞召回先改寫再打分的架構,實現了檢索模型與索引結構、改寫與廣告召回的聯合學習。
2 廣告改寫的歷史與新目標
在搜索廣告場景較早期的階段,競價排名的產品形式決定了商家參與流量競價的主動權在商家傳統精確、寬泛的買詞。廣告改寫的早期目標本質是提高召回率與高競價隊列填充(RPM最大覆蓋),保障平臺的競價候選充足,因此廣告改寫算法作為關鍵詞召回提效的關鍵,雅虎、百度等搜索引擎公司不斷有改寫相關研究出現;而隨著推薦技術大踏步進入深度模型時代,算法的瓶頸不斷被模型、算力克服,業界主要的研究也更集中在直接面向最終效果的query/user與ad的匹配排序問題上,廣告改寫因不是通用的推薦問題逐漸淡出了廣告業界的主要研究方向。面對這個現狀,將改寫召回的目標對齊到最前沿的模型技術與面向最終效果學習的樣本流,貫穿在我們的廣告改寫模型迭代中。
同時,隨著各種商家推薦產品的發展,尤其是<Bidword,Ad>的傳統人工買詞關系也進入機器挖掘推薦詞的階段,我們意識到需要更積極的使用點擊日志挖掘之外的語義目標,才能跳出“商家端推薦詞、投放端改寫計費”的數據自循環。為此我們在基于以RPM最大覆蓋為目標、Query與人群共同隱式表達的深度雙塔改寫模型DeepNB基礎上,強化語義抽取與關系生成,提出了面向語義關系的生成式改寫模型GRM。但我們在生成式改寫模型上線過程中發現,面向相關性的改寫難以保證廣告圈選集合的召回率與高競價隊列填充率,對大盤競價(PPC)有負向影響,最終上線方案實際是與面向效果的DeepNB改寫方法做通道融合競爭,而這個融合策略使改寫不同通道間的改寫分量綱不同,引入了難以優化的quota分配超參數。
因此,拋棄改寫分、解耦召回quota分配,在海選階段用一個統一的<Query,Ad>全庫打分指標,在滿足索引存儲與檢索效率下進行所有改寫通道召回廣告間的全局排序,解決高相關性與高競價填充率的改寫通道無損融合,將是打破現有關鍵詞改寫天花板的重要升級重構。經過過去一年在二值海選、層次競買圖兩期的工作,我們順利解決了以上問題,先后完成了從兩階段近似到一段式、從一段式到聯合召回的兩次算法架構跳躍,讓直通車關鍵詞召回煥然新生。
3 從兩階段到一段式:二值海選
在關鍵詞召回方向上,為了提高在倒排索引上的召回準度與效率,我們一直采用改寫關系<Query,Bidword>與倒排靜態分<Bid,Ad>兩階段的方式,用Query->Bidword->Ads近似<Query,Ad>的準度。目前這種兩階段近似海選分存在兩個問題:
兩階段近似海選打分不能直接面向<Query, Ad>關系建模,仍然依賴改寫詞間的改寫分決定倒排檢索各鏈檢索數量配額,無法解耦改寫多通道融合配比問題,也很難打開現有改寫召回天花板。
靜態分是<Bidword,Ad>粒度,數量達到十億量級,離線全量打分對離線計算資源是很大的消耗,且因調價頻繁,對更新鏈路也有較大的性能壓力。
基于以上問題,我們考慮使用基于低存儲與低計算的二值表征檢索,替代兩階段近似打分,主要解決兩方面的問題:
一段式全局海選:直接面向<Query, Ad>關系建模二值表征模型,只需要128bit存儲、位運算打分即可滿足海選階段超大候選集合下的置信廣告召回。
改寫不同通道quota分配問題將被全局統一、量綱一致的二值打分徹底解決,面向不同目標的『改寫』結果不再需要考慮如何分配召回配額,為未來B庫迭代打開空間。
根本性解決靜態分模型的歷史遺留問題,可以用準ODL的模型訓練與實時索引,提高對用戶偏好與商家投放意愿的捕獲速度。
位運算的度量計算效率極高,且對索引內存占用較低,支持上億量級的倒排索引構建,相比靜態分幾乎沒有性能損失與內存膨脹。
鏈路簡化,煥然新生:更新鏈路粒度從<Bidword,Ad>簡化為Ad,更新鏈路非常輕量。二值表征替代了很多靜態分相關的字段,精簡倒排索引字段的同時,也下掉老字段相關的在線模塊與大量離線節點,大幅解耦歷史包袱,讓引擎輕裝上陣。
二值海選在為低精度異質檢索探索出有效方法的同時,實現了從兩階段近似打分到一段式全局排序的跨越。如圖3.1,改寫作為一級索引,專注于解決相關性廣告集合圈選問題;二值海選作為二級索引,在改寫圈選的所有倒排廣告鏈上二值檢索,并全局排序獲得召回集合。
圖3.1 ?從兩階段近似打分到二值全局排序3.1 量化一致性 vs 表征能力
二值表征目前主要研究方向是基于Learning to Hash的方法,在模型訓練過程中對輸出量化,增強訓練/預測一致性,主要方法可分為Activation-based、Regularization-based兩大類。其中Activation-based方法是在輸出層增加激活函數,使向量取值趨近于{-1, 1}。由于sign為非連續函數,容易出現梯度消失問題。一種經典的方法是通過連續函數tanh逐漸逼近sign,如圖3.2。
圖3.2 ?LTH激活函數方法而Regularization-based方法在特定任務損失外,增加量化損失,使向量取值趨近于{-1, 1}。如比較常見正則化項為雙峰拉普拉斯先驗分布,等價于L1正則化,得到接近-1與1的稀疏解,二值表征模型如圖3.3。除量化損失外,還可增加向量方差損失(均勻映射)、參數正交損失(獨立映射)等正則化項,實現多目標優化。
圖3.3 ?LTH正則化項約束方法上述方法大多用于圖像到圖像的verification任務,使用MAP(Mean Average Precision)作為評價指標,數據集規模相對較小。將上述方法直接應用到直通車搜索廣告的大規模召回場景,離線Recall指標顯著不達預期。我們對兩類量化方法分別設置了三組對照實驗:“全精度”代表正常訓練得到的float32全精度向量,作為base;“二值全精度”代表LTH模型直接輸出,未做二值處理的float32全精度向量;“二值”代表LTH模型輸出,并截斷為{-1, 1}的bit二值向量。
Regularization-based:
增加二值正則化項后,二值全精度的recall相比于全精度有提升,說明正則化項對全精度模型訓練能起到抑制噪聲的作用。但二值量化后的recall極低,完全喪失表征能力,說明其對精度依賴性高,量化一致性差。
Activation-based:
使用二值激活函數后,二值全精度與二值的recall差異較小,量化一致性好,有效降低了對精度的依賴性。但與全精度相比,recall明顯降低,對表征能力的影響較大,仍難以滿足要求。上述實驗結果表明,當前主流二值表征模型無法用于大規模召回。基于對數據、實驗的深入分析,為兼顧量化一致性與表征能力,我們將目光放在了強化符號主成分上,提出面向大規模檢索的二值量化方法。
3.2 大規模二值量化檢索
3.2.1 二值化方法
二值化的本質可以描述為:將原本連續的取值,映射到{-1, 1}的離線取值上。但其實,它的取值可以是任意絕對值相等的離散取值集合,差異僅由符號體現。{-1, 1}是最簡單的表達形式,但不意味著模型要直接學習這種形式。向量檢索任務通常使用余弦距離,等價于原始向量歸一化后計算點積。在二維空間中,歸一化相當于將全空間映射到圓環上,消除了向量的模長差異性,僅保留角度差異性,模型更容易學習;而二值化相當于將全空間映射到矩形四角的固定點上,僅保留有限取值的角度差異性。根據以往經驗,歸一化向量更適合在大候選集合下的大規模檢索,因此我們思考如何將歸一化與二值化有機結合。
圖3.4 ?歸一化向量空間與二值化向量空間假設維向量第維取值為,歸一化等效于約束:。二值化等效于約束:。很明顯這種情況下,歸一化與二值化無法同時成立。為使兩者兼容,我們將二值化的定義擴展為:對任意,。由此得到歸一化且二值化的定義:。由此優化目標變為,向量歸一化后各維絕對值盡可能接近,既保留向量表征能力,又實現最小量化誤差。在二維空間中的最優點為圖3.4中藍色虛線與紅色圓環的四個交點。
為使歸一化向量盡可能接近最優點,受主流LTH方法的啟發,我們也相應地設計了兩種方法:
Activation-based:輸出層增加線性激活函數
402 Payment Required
。起到線性放大、截斷的作用,線性放大在一定區間內可保留向量各維的相對大小關系,逐漸增大逼近sign函數,激活函數如圖3.5。
以圖3.6為例,向最優點二值化的操作分為三步:
歸一化:模型原始輸出點從1變換到圓環上的2。
線性激活:2先經過線性放大變換到3,再將取值大于|1|的部分截斷,變換到矩形上的4。
歸一化:最后將4變換到圓環上的5。
經過上述步驟,實現了歸一化向量從2到5的變換,即逐漸向最優點偏移。
圖3.6 ?Activation-based方法示例Regularization-based:已知,要使取值接近,即分布盡可能均勻,等價于最小化向量的方差。將作為正則化項,通過約束使向量各維絕對值趨于相等,突出符號位的作用。
兩種方法的recall接近,Activation-based方法的動態參數在訓練過程中指數增長,引入了更多超參數,指標浮動范圍較大。而Regularization-based方法可使用固定參數,指標相對更穩定。對兩種方法做評估后,我們選擇使用Regularization-based二值量化方法。在二值表征模型的樣本構造上,如果采用預估點擊率的pv/click樣本,無論任何方法召回效果都很差。主要原因是面向pctr的模型學習結果分布集中在[0, 1]區間靠近0的較小范圍內,刻畫序關系對精度要求高,二值量化造成的信息損失過大,因此我們需要從負樣本構造上均衡匹配分的分布,給二值表征學習足夠的分割能力。
3.2.2 低精度糾偏
在搜索廣告場景下,Query提供的搜索意圖與Ad相匹配非常重要,而二值表征模型因精度不足會損失準確性與多樣性。我們通過在Pairwise訓練中通過引入對Ad類目判別輔助任務,作為一種面向I2I關系學習的約束目標,約束Ad在類目空間上的內聚性,目標函數設計如圖3.7所示。在實驗上證明了引入輔助任務后召回率與類目符合率都大幅提升。
圖3.7 ?借助廣告類目監督輔助任務約束I2I關系同時,為解決模型召回分布集中、多樣性不足、偏向高點擊量廣告的問題,我們引入廣告周期與點擊規模debias的輔助目標,類似于SSB下流行度偏差(Popularity Bias)的一些行業實踐,將廣告按創建時間、點擊量規模劃分為64個分層,通過設計不同分層的傾向性得分(Propensity Score),達到均衡不同廣告周期與信號強度的海選打分偏差的目的。
3.3 實驗與效果
我們將以上介紹的大規模二值量化檢索方法,落地在直通車召回場景,在每日增量校驗中二值表征相比全精度表征,離線指標Recall@1000的絕對值差異穩定小于5%,類目符合率絕對值差異小于2%。同時,建設了面向新廣告的實時二值表征消費鏈路,新廣告可以在2s內完成二值索引的計算并合入在線索引參與競價。
空間復雜度:用128bit的二值向量,與64維float32向量召回率指標相接近,達到16倍的內存壓縮;結合老靜態分相關字段被替換下線,索引總大小還略有下降。
時間復雜度:64維float32向量內積,需要64次浮點乘法,而128bit的二值向量內積,只需要進行一次異或運算與一次bitcount,計算量顯著低于全精度,與查詢靜態分相比rt也幾乎沒有提升。
因二值檢索能力相比靜態分大幅提升,關鍵詞召回通道占比也顯著提升,在各場景CTR指標都有非常積極的表現。通過實驗觀察廣告周期分層、不同點擊信號數量分層看,各個層分布均勻,沒有明顯在新廣告上的召回折損、沒有對高點擊量樣本廣告的偏向。
4 從一段式到聯合召回:層次競買圖
通過上述二值海選的工作,我們有效學習了用128bit對大規模廣告集合的二值表征,其物理意義可以理解為將廣告投射到128層滿二叉樹的葉子節點上,而代表空間劃分的子樹代表了用戶相似搜索意圖的人群簇,也代表了廣告主圈選目標客戶的競買簇。因此,我們考慮壓縮表征空間,用更緊湊的樹形索引建模檢索結構,探索搜索廣告召回模型在索引結構與檢索模型聯合訓練方法。
使用樹形索引的檢索模型出發點主要有以下幾個方面:
Bidword競買具有層次性:Bidword競買深度從激烈到獨特、描述從寬泛到詳細,呈現非常強的競買層次關系,Bidword可以組織在樹形索引的中間節點上,構建以Bidword可解釋性的層次檢索過程。
**聯合召回<Ad,Bidword>**:將關鍵詞召回改造為改寫關系<Query,Bidword>與二值海選<Query,Ad>的二級索引后,仍然有一部分高價值廣告受制于目前的先改寫再打分的二級索引架構,因一級索引『改寫』沒有圈選到導致無法召回。為了解決此問題,我們希望通過改寫關系與二值海選的聯合優化,將樹形索引與Bidword充分綁定,在沿樹逐層檢索到葉節點廣告的路徑上同時召回相關Bidword,實現<Ad,Bidword>的聯合召回。
更強的檢索模型:樹形索引將廣告全庫集合做層次劃分,壓縮總打分次數,拆分子空間糾偏全庫打分偏差,能夠支持我們將向量度量升級到DNN復雜模型,提升召回模型擬合能力。
綜合以上出發點,我們使用樹形層次索引的方法將DNN全庫檢索落地直通車召回場景,如圖4.1突破了關鍵詞召回先改寫再打分的架構,大幅精簡高熱廣告庫倒排索引大小,以Ad層次召回指導Bidword從粗到細粒度檢索、以Bidword競買關系約束Ad召回相關性,顯式建模Bidword廣告主競買關系優化競價分配,形成可解釋的競買關系召回通路,實現了檢索模型與索引結構、改寫與廣告召回的聯合學習。
圖4.1 ?從先改寫再打分的二級架構,到<Ad,Bidword>聯合召回4.1 競買圖預訓練
競買圖內引入了豐富的連通性信息,來約束圖學習表征在Co-Click、Co-Bidword、Co-Semantic三方面的關系。與同質圖不同,異質圖需要考慮不同關系下鄰居信息的差異,圖中主要包含4種描述不同關系的邊,包括刻畫用戶行為的<Query,Ad>、刻畫廣告主買詞行為的<Ad,Bidword>、刻畫Term match語義關系的<Query,Bidword>、與刻畫Ad語義關系的<Ad,Ad>。我們通過對圖學習的metapath采樣與multiview拆分,對多種關系下的節點表示進行融合得到一個較為全面的節點表示,實現了多重關系的同圖同空間建模,有效抑制了不同關系互相干擾的情況,在不同類型圖節點下的檢索均能得到較好的結果,以此競買圖預訓練結果作為層次索引構建的初始化向量與檢索模型的dense特征。
圖4.2 ?層次競買圖索引Overview4.2 層次索引構建方法
目前的索引方案使用了樹形檢索結構,類似展示廣告TDM的索引方法(正式發文時將插入文章友鏈),通過EM迭代聯合訓練檢索模型與索引結構。同時,與二值海選低精度糾偏中采用的訓練方法一樣,我們在檢索模型訓練中通過引入對Ad類目判別輔助任務,目的是在一個比較小的類目解空間內約束Ad在結構上的內聚性,使得匹配相似用戶意圖的廣告集中在同一棵子樹上。
圖4.3 ?檢索模型與索引結構聯合訓練4.3 面向競買關系的檢索模型
建立層次檢索的索引,形成Bidword高內聚簇之后,我們根據葉子節點Ad所實際購買的Bidword集合,自底向上地投票匯聚公共競買Bidword到他們在樹形索引上的最近公共祖先節點,賦予中間檢索節點多個Bidword與Term的解釋,用于在檢索到葉子節點的過程中,召回路徑上相關Bidword。這樣也使得任意兩個不同Ad節點,在索引上的距離與Bidword共同競買關系高度相關,距離越遠代表公共競買關系越弱,越近代表越在同一種流量下高度競爭。通過掛載Bidword的過程,我們將百萬量級的Bidword賦予在樹形索引中間節點上,最粗粒度描述的競買詞如”連衣裙“、”手機“被掛載在最淺層節點上,最細粒度的競買詞如”牛油果綠春裝上衣女中長款“則在葉子節點的父節點上。
得受益于效能團隊“二向箔”項目對算力的充分挖掘,我們在檢索模型上從一期的向量度量升級為二期的DNN模型結構,將id特征在高維空間內交叉,相比DSSM類的向量度量有更高的擬合能力,同時也需要更強的泛化性約束,防止檢索模型在記憶之外,不能補充有效召回增量。聯合檢索過程如圖4.4所示,在沿樹路徑進行Beam search的檢索過程中,同時對路徑上的Bidword進行相關性打分,在檢索到最后一層Ad之前,就能評估出檢索Ad路徑上與Query滿足相關性條件的Bidword改寫詞。
為了兼容低活廣告與新廣告的召回關系,在檢索Ad路徑上選定了Bidword后,會對所選Bidword所在子圖進行二次擴展。我們會根據競買關系圖Co-Bidword、Co-Semantic的關系,專門構建高熱Ad到低活Ad、新Ad的映射關系,面向共同Bidword競價與屬性節點關聯的相似新廣告進行規則式擴展,并在后鏈路進行一定冷啟扶持。
圖4.4 ?競買路徑檢索與擴展過程4.5 實驗與效果
層次競買圖與全庫暴力打分相比,離線recall與類目符合率均有一定提升。
2021年雙12全量上線,為大盤營收效率帶來較為顯著的提升;面向用戶體驗的Gob相關性指標上也有較好表現。
5 關鍵詞召回的業務思考
理解:相比排序模型在競價階段廣告候選集合下側重學習pCTR絕對值與pcoc預估準度,召回模型則是在全部廣告集合下側重學習粗粒度的集合序關系,用有限的算力與表征能力,提供足夠多Query/User模式下的空間度量關系。強信號強記憶模型適合擬合出更高的召回率,而弱信號強泛化模型適合為下游細致預估環節供給更多多樣性候選,通過優化召回模型與策略,在兩者之間尋找一個均衡地帶,提供在相關性約束下,不強依賴點擊先驗、包含足夠多樣性、競價充分的最優召回集合。
現狀:在深度學習可解釋性與結果可控性研究沒有取得突破之前,召回模型在一段時間內仍需要以不同目標來設計多個召回通道,用通道融合與給定配額的方式組合供給下游的預估競價集合,如讓高roi的行為重定向廣告與Query字面相關廣告獨立排序,都有配額進入下游參與競價,避免從供給端就向單一目標傾斜,加劇全鏈路系統的數據循環、破壞競價生態。不同目標的召回通道間,配額需要結合流量價值、用戶意圖傾向、系統算力等多方面因素進行動態分配,是一個結合更多下游策略來考慮的問題。
展望:召回業務承載著廣告引擎最上游廣告供給的職責,如果視野只看召回的一畝三分地,會發現撬動大盤的能力越來越有限。我們歡欣鼓舞在各召回通道上迭代模型漲了離線Recall/Hitrate,往往因為指標辛普森悖論、通道間重疊、下游打分偏差等原因,無法為大盤帶來明顯的競價集合與效果變化。因此未來關鍵詞召回業務的著力點,將聚焦在全鏈路排序的目標一致性上。將搜索廣告系統看作一個計算圖,召回階段作為最上游的“召回Op”,需要捕捉更多下游“預估Op”、“機制Op”反向傳播的“梯度”來動態修正召回階段的檢索能力;擴展更多維度的算法評價指標,為下游供給多樣性充分、廣告主競爭相對平等的廣告集合,為直通車業務的高質量發展添磚加瓦。
END
也許你還想看
丨阿里媽媽搜索廣告預估模型2021思考與實踐
丨CIKM 2021 | 基于異質圖學習的搜索廣告關鍵詞推薦
丨KDD 2021 | 基于多智能體協同競價博弈的電商搜索廣告多目標競價優化
瘋狂暗示↓↓↓↓↓↓↓
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的从二值检索到层次竞买图——让搜索广告关键词召回焕然新生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Deep GSP : 面向多目标优化的工
- 下一篇: 阿里妈妈技术团队5篇论文入选 SIGIR