搜索EE場景排序鏈路升級

来源:https://www.cnblogs.com/Jcloud/archive/2023/02/23/17143336.html
-Advertisement-
Play Games

EE模塊是搜索系統中改善生態、探索商品的重要鏈路,其目標是緩解數據馬太效應導致模型對商品排序豐富性、探索性不足,帶來的系統非最優解問題。以下分別從模型迭代、線上實驗指標、離線評估體系介紹相應模塊的優化。 ...


作者:京東零售 呂豪

背景

EE(Explore & Exploit)模塊是搜索系統中改善生態、探索商品的重要鏈路,其目標是緩解數據馬太效應導致模型對商品排序豐富性、探索性不足,帶來的系統非最優解問題。

在JD搜索體系中,EE模塊被定義的核心定位是:在給定流量和時間的約束下,探索出更多高效率的商品。EE的優化目標即為,以保障搜索效率為前提,提升廣義中長尾商品的探索成功率,提升搜索結果的流動性、豐富性。

EE場景迭代閉環

由於EE場景的特殊性,其從核心定位 → 線上指標 → 離線評估體系 → 模型迭代的優化鏈路中的每一步,都需結合EE特點進行針對性升級。

以下分別從模型迭代、線上實驗指標、離線評估體系介紹相應模塊的優化。

模型Debias迭代

問題背景

EE的核心定位在於探索更多更高效的潛力中長尾商品,其首要回答的問題便是,在目前搜索體系中,哪些因素阻礙中長尾商品獲得更公平合理的展現機會?系統性的各類bias 。

1). Position-bias (展示位置偏置)

當前打分模型基於每天dump的搜索日誌進行訓練更新。由於搜索結果的position-bias(位置偏置)效應,user的行為動作不僅與商品本身質量有關,而且受position(展示位置)較大影響。position-bias(位置偏置)效應對頭部商品的增益,加劇了平臺生態的馬太效應。使用position-bias的日誌數據進行訓練,而未對position(展示位置)做去偏,不利於中長尾商品的正確效率預估,不利於平臺流動性、豐富性和長期價值。

2). Polularity-bias (流行度偏置)

存在與user偏好匹配程度相當的多個商品時,由於商品間的歷史累計銷量、累計評論等流行度特征的差異,造成傾向於給用戶呈現熱門流行商品,已流行商品則更流行。而匹配程度相似的中長尾商品,則難有機會被展現,中長尾更中長尾。

3). Exposure-bias (曝光偏置)

一次搜索請求下,只有有限的商品列表展現給user,絕大多商品無法展示;搜索系統一天內,整體被展現的商品集也只占全部商品集的小部分。 由此帶來的問題一方面是模型泛化問題,訓練在已展現商品的日誌上進行,serving需在所有商品上做推斷,如何平衡訓練、推斷樣本分佈差異化的矛盾,尤其是頭、尾部商品的巨大差距。另一方面是商品label問題,商品未累積獲得用戶正反饋,是因為與用戶不匹配,還是未有展現機會?

針對以上bias問題,EE排序模型從位置偏置建模、反事實推理學習方面進行升級,嘗試緩解position-bias和polularity-bias,取得一定收益。而Exposure-bias由於隨機dump樣本的label問題,還需要做更多探索。

目前EE排序模型整體結構圖:

  • 針對位置偏置,設計position-bias net於訓練時建模位置作用、預測時mask,進行展示位置去偏。
  • 針對流行度偏置,構建 U-I net/ item_net/ user_net 分別建模 用戶-商品內容匹配度、流行度因數、用戶心智偏好因數的影響,依據因果效應消除偏置因數作用,還原用戶對商品本身內容的偏好度。

位置去偏迭代

1. Position-bias 位置偏置建模。

EE模型升級至訓練、預測兩階段的position-debias方案,通過pos-bias tower建模position-bias影響,併在高語義層級與輸出均值融合,擬合訓練label,而後在預測階段摘除,以期去除pos-bias影響。

Pos的建模方式

1.1 pos as feat

訓練階段,pos作為模型特征使用,與其他u/q/i側特征聯合,共同輸入模型網路,計算相應logits並梯度回傳。預測推理階段,所有樣本強制採用同一個pos值,近乎理解為:同一個user/query下, 所有商品在同樣的展示位置上,進行預測分數比較。

其潛在風險如下:

  • 強制pos數值如何選擇。展示位置一般可限制在[0-30/60]內,然而不同強制位置的設定,會帶來排序結果的變化,如何在[0-60]間選擇合理的強制位置,以及不同時間和分佈下,強制位置的選擇是否要重新進行。
  • pos特征的重要性。將pos特征由網路底層輸入,其重要性可能難以在最後的logits中得以充分體現,其物理意義(位置因素影響用戶商品交互行為的作用大小)不易直觀理解。

1.2 multi-pos predict

設計最後一層為多位置通道輸出的網路,預測商品在各枚舉位置上的logits輸出。訓練階段計算商品在所有位置上的輸出結果,只激活真實的pos通道計算logit和loss,其他位置通道進行mask。推斷時,貪心的從第一個位置開始,無放回的選擇當前位置上的最優商品,直至最後一個位置。

此方案適配用於排序位置較為固定的場景,如重排N選N,在搜索EE現有架構下並不適配,一方面是SVGP結構對多通道結果輸出並不友好,另一方面,EE現有插入範圍較大[1-60]、比較插入機制也需做非常複雜化的適配改造,方案過重。

1.3 pos as tower

升級現有DNN + 稀疏變分高斯(svgp) 採樣打分模型,採用基於position-bias net(位置偏置)的模型方案,方案具體為訓練、預測兩階段的位置去偏。

  • 訓練階段通過引入展示位置表徵作為位置偏好網路,與基於user/query/item的主網路共同輸入,預估商品在當前位置(位置偏好網路)及自身質量(主網路)下的打分。
  • 預測階段通過摘除位置偏好網路,預測商品僅基於自身質量的採樣打分,去除展示位置影響。通過此方案可以緩解訓練數據的position-bias(位置偏執),降低頭部商品由於展示位置的打分增益,同時減少中長尾商品由於靠後位置的打分折損,優化搜索結果豐富性和平臺生態。

2. 個性化位置偏置建模。

用戶對商品的偏好是個性化的,不同用戶對商品的偏好不同。用戶對位置的偏好也是差異化的,不同用戶對位置的敏感度存在差異。

上文的bias-net建模方式,假定所有用戶對同一位置偏好相同,忽略了用戶間的位置偏好差異。典型例子如下,偏逛用戶在系統中對position相對不敏感,position的排名前後對用戶的行為決策影響相對更小,而對偏快速夠買用戶則影響截然相反。

個性化位置偏置建模。升級現有bias-net結構,引入用戶個性化特征,包括靜態profile和動態行為序列。通過個性化bias-net 計算不同用戶對不同position的位置偏好,更準確的還原用戶對商品內容的真實偏好。

Pos Tower 與 svgp的結合方式。

2.1 SVGP簡介

GP(Gaussian process,高斯過程)是用於在樣本間存在相關關係的情況下,通過觀測值對未知樣本label 進行修正預測的演算法。簡言之,距離觀測點越近的未知樣本,其均值被修正越多、更接近觀測值,方差也越收斂,反之亦然。SVGP(Sparse Variational Gaussian Process, 基於稀疏變分的高斯過程),針對大樣本量下協方差矩陣和求逆難以計算的問題,設計一定數量的可學習的引導點,對所有訓練樣本進行歸納,未知樣本通過與引導點的協方差來計算均值和方差。

2.2 表徵層融合(Representation Fusion)

Pos-tower與Main-tower融合方式有兩種,表徵層融合和logit層融合。在SVGP計算前進行融合,即表徵層向量進行融合,可以採用 concat/sum/avg 等各種方式。其難點在於,向量間的相加、平均操作,無法直觀理解其物理意義和作用,向量疊加是否導致logit正向增大,向量帶來多大的logit提升,這些位置偏置作用難以解析。

另外從模型結構來看,svgp依賴樣本內容間相似度計算均值和方差,而position-bias的影響應該獨立於樣本內容的計算。

2.3 logit層融合(Logit Fusion)

在svgp之後的logit層融合,可採用 logits 相乘相加方式,其直接從模型結構上詮釋了這樣的公式  Label = f(content) + f(position) / Label = f(content) * f(position) ,其中 f(position)的絕對值大小,直觀的表示 position 帶來的增益大小。

位置偏置建模線上效果

保持大盤效率持平的情況下,EE核心指標提升明顯,探索流動性指標(探索更多商品)提升明顯 +1.35%,探索成功率指標(探索更高效商品)顯著改善 +0.74%。

流行度去偏

3.1 IPS

對每個商品預估 propensity score,然後採用逆向 propensity score 權重的方式,消除傾向分的影響,預估商品真實的內容匹配度得分。

挑戰點:

  • 如何準確獲得 propensity score,這是對後續糾偏的前提挑戰。
  • 整體為兩段式訓練,鏈路上有一定複雜度。

3.2 流行度降權

在實際搜推數據中,在user側、item側分別依據其流行程度,設計對應降權權重,緩解整體被熱門用戶、商品所主導的趨勢,增強所關註樣本的影響力。

面臨難點:

  • 合理的設計權重方案。
  • 如何挖掘hard example。

3.3 基於因果關係的反事實推理

如何緩解流行度偏置問題?在訓練鏈路中,增強改善中長尾商品的學習是一類重要方法;對用戶交互行為進行解構,拆分出商品流行度等因數的作用,是另一個視角的解決思路。

因果圖、因果關係簡介

因果圖是有向無環圖,其中節點表示隨機變數、有向邊表示節點之間的因果作用方向。如上圖對於節點Y變數,有兩條路徑的因果作用,分別是 I → Y 、I → K → Y。

  • I → Y 表示從 I 節點開始的自然直接因果效應 (NDE),作用路徑上沒有中間節點。
  • I → K → Y 表示從 I 節點開始的間接因果效應 (TIE),K是路徑上的中間節點。
  • 直接因果效應和間接因果效應之和,即為Y變數的總因果效應 (TE)。

總因果效應計算,可以由自變數的單位擾動帶來的因變數變化進行計算,自然因果和間接因果效應計算亦然:

以上公式可得,求出TE和NDE時,可推導計算中間接因果效應 TIE。

搜索中的因果效應

在電商搜索場景下,用戶對商品的交互行為,可表示為 U-I 間各種因數的綜合作用。常見思路為考慮 U-I 間內容匹配程度作為待預測因數,學習此因數在交互行為中的作用,在未來樣本上進行預測排序。

從電商搜索的現實情況出發,對交互行為進一步拆分,影響用戶商品交互行為的因數大體包含如下三方面:

  • 1). (U-I) → Y, U-I 內容匹配度因數,用戶與item本身內容的匹配程度、喜好程度對交互行為的影響,越喜歡則越點擊購買,
  • 2). I → Y, Item流行度特征,內容偏好匹配程度相當的幾個商品時,由於歷史累計銷量等流行度特征,熱門商品展現更多、被交互概率更高。
  • 3). U → Y, 用戶天然心智,user對流行商品的偏好程度不同,有些用戶更傾向於熱門商品,部分用戶則並不敏感。

以上因數的拆解,包括了U/I 內容匹配度的間接因數的效應,也包括了 U、I的直接效應影響。因此在EE模型中設計如下網路,分別建模各個因數的作用:

具體分別設計 UI-Match-Net, User-Net, Item-Net 分別預測對應三種因數的作用,其中總效應,U/I 效應分別表示為

在訓練中Loss的設計如下,分別表示

  • U-I與label的loss,優化主模型的準確性
  • U、I側直接因數的loss,通過這種方式分別預測兩種直接因數對交互結果的影響
  • alpha/beta 為訓練時超參

預測階段緩解流行度偏置,主要在於去除流行度因素、用戶心智因果(偏置因數)的影響,具體通過總因果效應減去自然直接效應(偏置因數效應),儘量準確還原 U-I 內容匹配程度的影響

TIE = TE - NDE

反事實推理後的因果圖狀態如下,將U/I 的直接效應消除,保留U-I 內容匹配度的效應:

反事實推理建模線上效果

保持大盤效率持平的情況下,EE核心指標提升明顯,探索流動性指標(探索更多商品)提高 +0.82%探索成功率指標(探索更高效商品) 顯著提升 +0.66%。

線上AB指標

探索成功率指標,用於在小流量AB期間指導EE效果分析,其設計思路從EE核心價值出發,推導出長期價值相關聯的AB期間核心指標。

具體而言,即論證 探索成功率指標 → EE核心價值。

  • 滿足探索成功率的商品,跟蹤其一定時間後在搜索中的承接狀態,是否被大盤較好承接。
  • 搜索中承接狀態,主要為三要素:流量、點擊、訂單。

通過對 1). 商品概況和承接定義, 2). 商品承接統計, 3). 分層承接分析 等方面進行分析,迭代出搜索EE在AB實驗期間所關註的EE核心指標集–探索成功率。

離線評估體系

EE線上指標主要關註

  • 1). 大盤效率,UCVR和UV價值
  • 2). 探索成功率, 其餘輔助觀測指標包括 流動性指標、豐富性指標。

線上的探索成功率和輔助指標,現階段難以與模型離線指標(AUC等)關聯,無法在離線評測EE模型的探索能力,限制EE模型迭代速度,極大增加迭代時間成本。

針對EE場景特異性的指標,設計了離線指標評測集合,分別從 效率、中長尾探索強度、不確定預估等方面,綜合評測EE模型,加速迭代。

總結

搜索EE是提升搜索場景流動性、多樣性的關鍵模塊,其面臨的問題和以效率排序為主模塊的問題有很大差異,對EE同學提出了不一樣的挑戰。

針對EE場景的特點,排序模型從Debias(打分公平性)入手,拆解存在於各種排序場景的bias問題,對位置偏置和流行度偏置問題升級較通用化的解決方案,取得了EE核心指標的顯著提升。同時對於迭代鏈路中的 線上AB指標、離線評估體系,也進行了論證和迭代,完成對整個EE排序閉環鏈路的升級。限於篇幅,AB指標和離線評估體系在這裡不做全面展開,感興趣的同學歡迎隨時交流,共同探討。

EE場景面臨的挑戰很多,後續計劃從如下方面繼續深入探索:

1). 引入更豐富的用戶探索信號的表達,增加explore-net和監督loss,提升EE模型對探索偏好的學習。

2). 思考EE的長期價值,如何在模型結構、Loss設計上結合長期價值。

3). 優化EE探索機制和EE候選集,提升EE全鏈路探索能力。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Excel 公式引用當前單元格左側單元格 引用當前單元格左側的第一個單元格:=OFFSET(INDIRECT(ADDRESS(ROW(), COLUMN())),0,-1)。 ROW()返回當前單元格的行號,COLUMN()返回當前單元格的列號。 ADDRESS函數可以根據指定行號和列號獲得工作表中 ...
  • # MySQL調優 ## 資料庫優化常見方案 1. 優化shema,sql語句+索引2. 加緩存,memcached,redis3. 主從複製,讀寫分離4. 垂直拆分5. 水平拆分 為了知道怎麼優化SQL,必須先清楚SQL的生命周期 ## SQL生命周期 1. 應用伺服器連接資料庫伺服器,建立一個T ...
  • 閱識風雲是華為雲信息大咖,擅長將複雜信息多元化呈現,其出品的一張圖(雲圖說)、深入淺出的博文(雲小課)或短視頻(雲視廳)總有一款能讓您快速上手華為雲。更多精彩內容請單擊此處。 摘要:Spark Streaming是一種構建在Spark上的實時計算框架,擴展了Spark處理大規模流式數據的能力。本文介 ...
  • SQL中的排序 使用關鍵字:ORDER BY ORDER BY 欄位名後使用ASC升序表示;使用DESC表示降序。 ORDER BY 後面可以使用列的別名進行排序(列的別名只能在ORDER BY中使用,不能再HWERE後使用) WHERE需要再FROM後,ORDER BY前聲明!! 多級排序,ORD ...
  • 1.1 技術發展 redis是用來解決性能問題的資料庫 技術的分類: 解決功能性問題:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN 解決擴展性問題:Struts、Spring、SpringMVC、Hibernate、Mybatis 解決性能問題:NoSQL、Ja ...
  • 研發背景 公司安全部目前針對內部系統的網路訪問日誌的安全審計,大部分都是T+1時效,每日當天,啟動Python編寫的定時任務,完成昨日的日誌審計和檢測,定時任務運行完成後,統一進行企業微信告警推送。這種方案在目前的網路環境和人員規模下,呈現兩個痛點,一是面對日益頻繁的網路攻擊、釣魚鏈接,T+1的定時 ...
  • 摘要:本文就使用springboot結合mybatis plus在項目中實現對GaussDB(DWS)的增刪改查操作。 本文分享自華為雲社區《基於SpringBoot實現操作GaussDB(DWS)的項目實戰【玩轉PB級數倉GaussDB(DWS)】》,作者:清雨小竹。 GaussDB(DWS) 數 ...
  • PS:本教程破解工具均收集於網路,請勿商用,僅供個人學習使用,如有侵權,請聯繫作者刪除。若條件允許,希望大家購買正版 ! 話不多說,直接上乾貨教程!!! 第一步:Get Navicat premium 15安裝包和激活工具 Navicat Premium 15 永久激活工具(親測可用) 第二步:開始 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...