搜尋系統中容易存在頭部效應,中長尾的優質商品較難獲得充分的展示機會,如何破除系統的馬太效應,提升展示結果的豐富性與多樣性,助力中長尾商品成長是電商平臺搜尋系統的一個重要課題。其中,搜尋EE系統在保持排序結果基本穩定的基礎上,通過將優質中長尾商品穿插至排序結果中將優質商品動態展示給使用者,提升使用者體驗與搜尋結果豐富性,是破除馬太效應的一大助力。
本文將從搜尋EE近期的全量迭代出發,展現其鏈路演進的整體脈絡,包含:EE自適應動態探測模型——EE場景建模方式升級——打分與穿插兩階段一致性升級——探測與自然流量全域性聯動優化四個階段,梳理對搜尋EE的思考與下一步迭代方向。
1. EE自適應動態探測模型
2. EE場景建模方式升級
3. 打分與穿插兩階段一致性升級
4. 感知上下文的品牌店鋪維度探測
5. 總結與展望
傳統EE模型從商品曝光置信度、打分置信度等角度出發,決策EE商品的展示位置以及穿插位置,較少從使用者瀏覽意圖與探索意願的差異化角度,來考量探測力度。其可能導致使用者在寬泛瀏覽與挑選商品時,缺少豐富的商品選擇,在決策購買時反而穿插了探索商品的誤判情景,影響使用者的搜尋體驗,不能充分發揮搜尋EE系統的探索和利用(Explore & Exploit)兩大能力。
針對以上探測錯配情況,可嘗試在EE模型中顯式建模使用者的「逛」、「買」探索偏好,進一步結合偏好,自適應調整搜尋EE的利用與探索力度。對於偏「逛」使用者增強EE探索力度,提供更豐富的探索展示;對於購買意願明顯的使用者,提供更直接的購買選擇。通過對使用者探索偏好的顯式建模,能夠在提升使用者的轉化效率的同時提升搜尋結果豐富性。
相較於原有EE模型,自適應探索對EE模型的自適應探索能力進行了升級,主要體現在如下三點:(1)對使用者探索偏好進行差異化建模:"逛" "買"使用者提供動態差異化探測力度,在轉化效率和搜尋豐富性中取得平衡。(2)以使用者瀏覽深度為子任務建模到EE模型中:以瀏覽深度作為使用者意願的重要指標,並建模到EE模型中,顯式增強模型對使用者瀏覽意願的感知。(3)提升模型對探索性特徵利用性:對探索偏好的顯式建模,提升探索性特徵在模型中的學習權重,在EE過程中對探索特徵進行充分利用。
為了增強EE模型的自適應探索能力,針對原有EE模型進行如下升級:
(1)探索偏好網路Explore-Net
在保持原有的EE模型主網路Exploit-Net基礎上,新增了探索偏好網路Explore-Net(圖中左下綠色部分),提升模型對使用者探索意圖的差異化建模。
①輸入特徵優化
考慮到使用者的探索意圖只與個人特性、搜尋詞相關,因此Explore-Net的輸入特徵僅使用使用者側、Query側中相關特徵。
為進一步度量特徵與探索偏好的關聯性,統計不同瀏覽深度下各特徵的分佈差異,剔除了未與瀏覽深度明顯相關特徵,如搜尋詞長度等,精簡特徵空間提升預估精度。
②模型顯性建模
EE原模型的輸入中包含探索性特徵,但在進行搜尋排序任務中易被其他特徵掩蓋導致利用率不強,在探索偏好建模中顯式構建了探索偏好網路Explore-Net,對使用者探索意圖進行獨立建模構建,增強探索性特徵的重要性。
優化後的EE模型具有Exploit-Net與Explore-Net雙塔結構,Exploit-Net對商品進行精準化打分,對候選商品進行充分利用;Explore-Net對使用者探索意願進行建模,根據使用者偏好動態調整探索力度,共同構成商品探索與利用的完整機制。
(2)使用者瀏覽深度迴歸任務構建
在原有的訓練過程基礎上,新增了使用者瀏覽深度迴歸任務(圖中左上紅色部分),提升模型對使用者瀏覽意願的感知性,增強EE模型的自適應探索能力。
①輔助任務選擇
瀏覽深度作為使用者瀏覽意願的直觀體現,表現了使用者的探索意願,因此使用瀏覽深度預估任務作為模型訓練的輔助任務,對使用者偏好進行顯式建模。
在輔助任務型別的考量上,綜合考慮了將瀏覽深度劃分不同區間進行預測的分類任務,以及對瀏覽深度的迴歸任務。在實驗中分類任務體現出較為明顯的頭尾傾向性,輸出值分佈不均勻,實踐中最終選用了迴歸任務作為輔助任務。
②迴歸任務設計
在樣本資料分析中,發現使用者的瀏覽深度差異化極大。為了平衡瀏覽深度的差異,保障模型輸出值的均勻性與差異性,對瀏覽深度標籤進行了log平滑放縮,並選用RMSE-loss作為輔助任務的損失函數對瀏覽深度任務進行構建。
在模型訓練中頭尾樣本相對較少,對過淺和過深的兩類樣本預測準確性偏低。為平衡樣本間差異,在損失函數的樣本權重設計中,對由淺到深相應樣本,其權重為先減小後增大的 「凹形」權重,平衡頭尾和腰部樣本的準確性。
(3)Explore-Net與主網路的二次融合
Explore-Net 和 Exploit-Net 進行了融合(圖中中上紅色部分),增強模型整體對探索性特徵的利用,提升EE隱層embedding豐富性,對探索偏好較強的使用者提升了不確定性打分,提升探索商品的範圍和豐富度。
①特徵融合
由於在使用者瀏覽深度迴歸任務上對使用者的探索偏好進行了顯式建模,Explore-Net的輸出embedding對探索性特徵進行了高維抽取,能夠對使用者偏好進行自適應建模。
為讓探索偏好特徵更好地參與到整體任務訓練中,平衡打分的精準性與差異化,將Explore-Net的深層表徵與Exploit-Net的深層表徵進行拼接融合,提升EE模型隱層embedding的豐富性和表徵能力,提升模型打分能力。
②不確定性預估融合
使用者的探索偏好與商品的不確定性預估有直接的相關關聯。對於探索意圖較強的使用者,提升商品打分的不確定性,助力更豐富的商品穿插到搜尋結果中,反之亦如此。因此在不確定性預估模組中,設計在探索表徵層面進行融合。
在不確定性預估(SVGP)模組中,將瀏覽深度迴歸網路輸出值與方差預估部分進行了二次融合,對於探索偏好較強的使用者,顯式強化了商品不確定性打分,提升探索力度。
(1)探索利用效果分析
①EE模型打分結果分析:
在相同的預測集上,統計了平均打分探測力度隨瀏覽深度變化情況
結論:相比原模型,自適應探索模型的平均探測力度,隨瀏覽深度增大而逐漸增大,體現出session維度的顯著差異化。
②EE實驗位下穿插商品位置分析:
在各實驗位下,統計平均插入位置與瀏覽深度的變化情況。
結論:Test桶結果,隨著瀏覽深度增大,商品的平均插入位置相比原模型有所前移,探索力度增強。
核心結論:通過以上對探索利用的效果分析,自適應探索模型符合設計預期,在瀏覽深度較低的session下插入商品較少,探索力度較弱;在瀏覽深度較深的session下,EE模型的探索意願更強,模型探索力度更大,穿插商品位置有所前移。
(2)線上效果
保持搜尋效率持平的情況下,EE核心指標提升明顯並全量上線,流動性、探索成功率提升近 0.5%。
商品建模方式思考:
差異化建模使用者探索意圖後,EE模組實現了對不同使用者自適應調整探索並取得了一定收益。使用者側建模方式優化後,對商品側建模方式進行升級改造,將是進一步提升EE探測模型的合理切入點。
原主網路建模方式為點選率單任務,點選作為轉化的前置行為,建模點選行為實現對潛力中長尾的探索助力。同時在實踐中,通過樣本label進行動態權重調整,隱式建模轉化屬性,兼顧轉化效率。
僅建模點選對高轉化屬性商品並不友好,同時是對標題黨行為的潛在鼓勵,和EE模組優化整體生態環境、打造搜尋長期價值的初衷有所偏差。因此升級思路不再侷限於僅關注曝光後獲得點選這一前置鏈路行為,而是對整體轉化鏈路進行建模,關注商品的多維度屬性。
在原有基礎上引入轉化行為的顯式建模任務,將主網路結構從點選單任務升級為點選轉化多工,以多工方式增強不同行為的建模質量,實現對商品的更全面、更準確建模。
在EE自適應探索機制基礎上,EE場景建模方式升級對原有模型進行了如下優化與升級:
(1)SVGP模組互動方案設計
原模型中主網路和輔助模組在SVGP模組中互動,新版方案中輔助任務是否需要與SVGP模組進行互動? 即隨機高斯過程是否需要同樣作用於建模轉化任務,是方案設計首要考慮的問題。
具體實驗中,發現SVGP會導致收斂後AUC指標在千分位級別降低,即其在引入不確定性功能的同時,會輕微降低模型效果。考慮到目前SVGP模組已帶來所需的探索能力,難以通過多SVGP堆疊方式帶來收益。因此升級方案選擇將輔助任務構建成純淨任務,其僅建模商品屬性而不構建對應的SVGP模組。
(2)多工網路框架實現
EE探測線上耗時較低,建模方式升級後需延續這一目標。雖然主流多工結構MMOE效能更為優越,但線上耗時將有增加風險,因此選擇更輕量級的share bottom方式,在基本不增加線上耗時的情況下完成多工建模。升級方案把多工被設計為雙任務模型,使用低層網路進行表徵抽取,在高層維度使用兩個tower分別建模主任務和輔助任務。
①任務組合選取
選擇雙任務為ctr任務+ctcvr任務,考慮到點選樣本比訂單樣本更豐富, ctr正樣本更多,對於需要大量引導點的SVGP模組更為友好。同時點選相對購買行為的不確定性更高,在點選預測上引入不確定性打分更為合理,因此將ctr作為主任務、ctcvr為輔助任務進行設定。
②模型結構迭代
前述迭代過程中模型結構如圖中間所示,低層網路編碼輸入資訊後使用兩個淺層tower分別學習不同任務, 該結構潛在缺點為一方面可能導致低層網路梯度被某個任務主導(例如ctr任務),另一方面上層tower過淺可能導致任務學習不夠充分。
進一步探索僅共用特徵、增加任務tower深度的網路結構。在多工分數融合方式相同的情況下,新結構線上表現更佳,因此最終結構如上圖最右所示,使用較深的tower head建模各自任務,彼此間僅共用特徵。
③融合方式迭代
上述模型在離線指標上取得了不錯的收益且線上表現更優,但遇到了大盤效率和EE相關指標無法同時提升的問題。分析梳理現有方案實驗後,認為目前多工融合方式相對樸素、存在改善提升空間。
選取帶權相加、直接相乘和冪次指數相乘三種方式。由於缺乏合適的理論量化分析工具,因此選擇從實驗結果出發選取最優融合方式和融合係數,為此開發了離線融合尋參模組,將predict時各head打分結果儲存後,通過網格搜尋方式選取最優引數。
通過在多組資料上遍歷尋優確定不同融合方式的最優係數,並基於此開展線上實驗選取表現最優方式,最終我們選取帶權相加方式,在EE指標提升的同時保持大盤效率指標持平。
(1)模型建模升級效果分析
①EE模型打分割區分度分析:
在相同的預測集上,統計了離線打分分佈情況
結論:分佈由橙色線條(原版)變為藍色線條(升級後版本),整體更加平緩,保證不同商品彼此更具備區分度。
②EE探測次數分析:
統計線上打分分佈情況,對線上探測情況進行分析
結論:橫軸為曝光數量大於等於N,縱軸為distinct sku數量,下圖表明模型升級後在僅探索一次的dst sku數量上有所下降,減少偏隨機的一次性探測,但在多次探索商品上有所提升,表明test更傾向於探索中腰部商品。
(2)線上效果
搜尋效率持平情況下,流動性指標、探索成功率提升顯著並全量上線。
鏈路一致性思考:
完成EE打分模型優化後,能夠一定程度實現探索力度隨使用者探索意願的動態調整。但從整體EE鏈路上看 (候選集生成 → EE打分 → 動態展示),EE動態穿插決策與打分階段相互獨立,其結果由一個xgb迴歸模型決定,兩個階段的聯動關係和一致性程度弱。如何跟隨使用者瀏覽意願,將 EE打分→ 動態展示 兩個環節能夠同步、一致性地調整,是進一步的優化方向。
打分與穿插展示兩個階段一致性未能對齊,可能導致激進的模型打分無法匹配上豐富的穿插展示,無法同步放大EE的探測效果。此外,兩個階段分別由兩個模型獨立控制,也增加了維護和迭代成本。
面對此一致性問題,升級了端到端打分與穿插方案。EE模型中建模的使用者瀏覽意圖,不僅影響EE探測的力度大小,也同時決定動態穿插展示的策略強弱。兩階段的決策過程端到端實現,將流量進行更合理分配,寬泛意圖的使用者能夠達到探測更激進、穿插更多的共振。
端到端動態穿插機制在原有自適應探索基礎上,升級點主要體現在如下三點:
(1)瀏覽深度預估精準度升級:在EE探索偏好建模網路Explore-net基礎上,提升瀏覽深度預測精準度。
(2)EE流量精準化分配:根據session瀏覽深度分佈,動態分配各深度下穿插商品量,提升EE穿插商品佔比調控可操作性。
(3)模型打分與動態穿插數量端到端一致性增強:採用EE主模型的瀏覽深度,對映得到當前session下穿插商品數量,端到端解決EE穿插商品數量與EE商品打分兩個任務,提升兩階段一致性。
在EE自適應探索機制基礎上,端到端動態穿插機制對原有動態穿插機制進行了如下優化與升級:
(1)動態穿插機制端到端建模
①瀏覽深度預估任務優化
瀏覽深度代表了使用者在session下的瀏覽意願,是EE流量進行合理分配的基礎性指標。在不同瀏覽深度的session下,匹配適合數量的EE商品能在保障效率的前提下提升搜尋結果豐富性。
進一步優化了自適應探索模型中Explore-Net對瀏覽深度預估子任務的準確性,對其輸出的瀏覽深度預估值進行評估,其準度明顯高於原有xgb模型,可以對原有xgb模型進行替換。
②端到端建模瀏覽深度與模型打分
自適應探索實驗中使用Explore-Net對模型打分進行差異化探索,其中的瀏覽深度預估任務可以沿用到穿插商品數量任務中,使模型具有端到端建模兩個子任務的能力。
(2)合理設計瀏覽深度與穿插商品數量對映
在準確預估瀏覽深度的情況下,通過將瀏覽深度預估值對映到穿插數量中,保障穿插數量與模型打分一致性,在更深的session下有更多的商品穿插數量和更強的探測力度。
(1)動態穿插效果分析
①瀏覽深度預測準度分析:
對比兩模型的瀏覽深度預估準確性,使用均方根對數誤差(Root Mean Squared Logarithmic Error, RMSLE)指標進行衡量
結論:在同樣的驗證集下,Explore-net模型的預估精度明顯優於原模型。
②探索打分、動態穿插一致性效果分析:
檢查各瀏覽深度下base與test兩個機制下各瀏覽深度下預設的插入商品曲線和穿插商品數量分佈圖。
結論:
(2)線上效果
搜尋效率持平情況下,EE核心指標有一定提升並全量上線。
流量整體聯動優化思考:
在對EE流量進行整體優化後,商品探索力度與EE流量分配能夠隨使用者瀏覽意願進行自適應調整,但從全域性商品展示結果中看,EE探測流量與自然流量相互獨立,兩者之間並未建立充分的聯動與結合。
將視角逐漸放寬到整個排序鏈路,如何做好EE流量與自然流量的聯動,發揮EE在搜尋排序鏈路後置位的優勢充分補充與優化自然流量是下一個關心的問題。
在搜尋鏈路中,EE處於相對後置的位置,然而原EE系統未充分利用這一感知優勢,對前序排序結果感知能力較弱。在一些強勢品牌、店鋪主導的關鍵詞下,存在頭部品牌、店鋪扎堆現象,優質新品、中長尾商品無法露出,馬太效應明顯。
對此問題,嘗試跳出僅考慮商品維度探測的侷限,從更高的品牌、店鋪維度視角,對排序結果進行全域性性聯動優化,建立感知上下文的多維度探測能力。其設計旨在增強對上下文排序結果的感知能力,並在自然流量中對商品分佈進行聯動優化,系統性緩解排序鏈路的馬太效應。
感知上下文的多維度探測機制在原有EE探測能力基礎上,進行了如下三個方面的優化:
(1)新增EE探測系統對上下文感知能力:對EE前的排序上下文結果進行充分的感知,對自然流量下原有搜尋排序結果進行自適應的穿插優化。
(2)實現EE探測維度的擴充套件:除了現有支援的商品粒度探測,從更宏觀的品牌、店鋪等維度視角對排序生態進行優化。
(3)EE流量與自然流量聯動全域性性優化:緩解部分詞下頭部品牌和店鋪扎堆現象,提升排序多樣性,避免對頭部品牌、店鋪商品進行更多探測、加劇馬太效應。
本次升級在原有的搜尋EE穿插機制下進行了如下能力的增強與優化:
(1)新增上下文感知能力
在原有搜尋EE穿插機制基礎上,新增加上下文感知能力,對搜尋詞屬性和上下文排序結果的商品分佈進行計算,指導後續的穿插過程
①感知query詞屬性
為保障搜尋排序結果合理性,避免產生體驗性問題,感知上下文能力將判斷query詞是否是品牌詞(如:華為)或型號詞(如:iphone),決定是否開啟品牌維度探測;判斷query詞是否是精準店鋪詞,決定是否開啟店鋪維度探測。
②排序結果商品分佈
新增上下文排序結果感知能力,通過統計上鍊路搜尋結果排名前k的商品中的品牌和店鋪的分佈情況,判斷是否存在品牌或店鋪的集中現象,進而決定是否開啟多維度探測能力。
(2)優化原有穿插機制
在感知能力作為多維度探測啟動開關基礎上,優化了原有的穿插機制,通過EE展示效果與自然流量結果聯動提升搜尋結果豐富性與多樣性,對搜尋結果進行直接高效的影響。
①由感知能力模組判斷使用者搜尋意圖和商品分佈,決定是否進行多維度探測
對使用者搜尋意圖直接的搜尋詞動態開啟多維度探測功能,如query為品牌詞或型號詞則不應進行品牌維度探測,如query為店鋪詞則不進行店鋪維度探測,避免影響搜尋結果的準確性。考量搜尋結果的前k個商品的品牌/店鋪分佈,判斷是否存在頭部品牌/店鋪扎堆的問題,當同一品牌/店鋪下商品佔比超過p%後,不再插入該型別EE商品。
②穿插結果優化
如不再插入該型別EE商品,在候選商品中剔除該型別,其餘商品按照EE打分結果插入到排序結果中,不影響EE穿插過程與穿插數量,保障EE穿插位置和展現效果合理性。
(1)多維度探測效果分析
①EE穿插曝光佔比分析:
在EE穿插過程中,由於部分EE模型打分較高的頭部品牌/店鋪的商品在EE候選商品中被剔除,剩餘商品模型打分稍低導致穿插位置發生後移或無法穿插進排序結果中,為了避免EE穿插曝光佔比降低,提升了各瀏覽深度下EE穿插商品的配額。實驗期間EE曝光佔比base與test基本持平。
②多維度探測體驗分析:
下面對比了多款熱詞下EE穿插商品情況。
結論:在多組query詞下,test機制相較於base機制在穿插的過程中減少了頭部品牌/店鋪的插入,增強了展示結果的豐富性,緩解馬太效應;同時注意到test機制由於部分頭部品牌/店鋪商品被濾除,穿插位置相對有所後移,在排序靠後的位置受配額影響多插入1-2個商品,整體曝光量與base基本一致,與分析一的結論一致。
(2)線上效果
在保持搜尋效率持平的情況下,多樣性指標大幅提升並全量上線。
本文重點闡述了在搜尋EE機制迭代過程中的思考與演進歷程,搜尋EE作為優化搜尋生態與緩解搜尋馬太效應的重要工具,在演進過程中也圍繞搜尋結果豐富性和體驗性進行了系統性優化。
在優化思路上,不斷尋找EE系統的瓶頸問題,在自適應探索機制和建模方式升級提供差異化商品探索力度;將商品打分與穿插商品個數進行聯動,端到端優化EE流量分配問題;之後將視野擴充套件到全域性流量,通過多維度探索機制聯動自然流量,使EE流量作為自然流量的互相補充。整體思路體現出從商品間探索打分優化——EE流量個性化分配——與自然流量全域性優化的迭代程序。
搜尋EE後續還將面臨更多的問題和挑戰,後續會繼續沿用這樣的迭代思路在更多方面進行探索與深入:
今天的分享就到這裡,謝謝大家。
作者:京東零售 才子嘉,趙恆
來源:京東雲開發者社群 轉載請註明來源