曹澤麟 徐 君,2 董振華 文繼榮,2
1 (中國人民大學高瓴人工智能學院 北京 100872)
2 (大數據管理與分析方法研究北京市重點實驗室(中國人民大學) 北京 100071)
3 (華為技術有限公司諾亞方舟實驗室 廣東深圳 518129) (zelincao@ruc.edu.cn)
在搜索場景下,用戶與系統的交互信息如點擊日志將被記錄,并作為排序模型訓練數據的重要來源.用戶點擊日志具有時效性強、數據量大、反映用戶真實喜好等優勢,同時這類數據中也存在大量的位置偏置[1]問題.如何去除點擊日志中的偏置信息,使其能作為無偏排序模型的訓練數據是提升模型排序指標和用戶體驗的關鍵方法之一.目前業界主要是通過逆概率加權[2-4]算法去除位置偏置,其關鍵在于獲取各個位置準確的觀測傾向性得分.在實際應用場景中,系統構建者往往通過融合上下文的位置模型(contextual position based model, CPBM)獲取不同場景下各個位置觀測傾向性得分[5].
雖然CPBM模型已經取得了一定的去偏效果,但在實際應用中不同搜索場景間的點擊數據分布存在較大差異,只通過一個CPBM模型預測多種場景位置傾向性得分的方式,會不可避免地降低模型在各個場景的預測準確性.例如,用戶會根據搜索目的提交導航查詢[6](navigational queries)或者信息查詢[6](informational queries).在導航查詢中用戶更傾向于瀏覽排序靠前的文檔[7],因此其點擊行為大多發生在序列頭部;而在信息查詢中用戶傾向于瀏覽更多的搜索結果,用戶對返回的搜索結果點擊率明顯高于導航查詢,點擊位置也更加分散.
我們在真實的商業搜索引擎中觀察到了上述情況,圖1中的統計數據來源于一個主流應用市場,該應用市場每天服務千萬級的用戶.從圖1中可以看出,在隨機投放策略下,用戶在搜索精確詞(對應導航查詢場景)時各個位置的點擊率與搜索泛詞(對應信息查詢場景)時有明顯差異.圖1分析表明,在不同搜索場景下用戶的瀏覽行為和點擊行為會有所不同.使用混合多種場景分布的點擊數據訓練出的CPBM模型往往會受到數據之間分布不同的影響,導致模型預測性能下降.為每一種場景單獨訓練一個模型的方式,雖然解決了上述問題,但又會面臨數據稀疏、無法利用數據之間共享信息的難題[8-9].

Fig.1 Position click rate in random traffic圖1 隨機投放下的位置點擊率
針對CPBM模型受數據分布影響從而導致模型預測性能下降的問題,本文提出一種多任務學習的多門專家混合位置傾向性得分預測模型(multi-gate contextual position based model, MCPBM),解決了單個CPBM模型在多場景數據聯合訓練時預測準確性不佳的問題.MCPBM模型包含1個專家層(expert layer)網絡和1個任務層(task layer)網絡,其中專家層網絡用于提取場景的上下文特征,任務層網絡用于預測各個位置傾向性得分.MCPBM在2層網絡中分別設計了門共享結構進行信息篩選,顯式地對場景之間的相似性和差異性建模,控制不同場景數據之間的信息共享程度,從而綜合利用不同場景中的共享信息幫助相似場景任務的學習.
本文工作的主要貢獻包括3個方面:
1) 提出了基于多任務學習的多門專家混合位置傾向性得分預測模型MCPBM,解決多場景數據聯合訓練帶來的模型預測性能下降問題.
2) 提出指數加權平均權重動態調整算法,該算法通過對各個任務損失函數動態分配權重,緩解不同任務收斂速度不一致的問題.
3) 實驗結果表明,MCPBM能夠更加有效地去除點擊日志數據中的位置偏置,提高排序模型的排序指標;實驗分析表明,本文提出的權重分配算法緩解了不同任務間收斂速度不一致的問題,提升模型整體預測性能.
位置偏置[1]是搜索場景中較為常見的一種偏置.其定義為:用戶傾向與搜索結果列表中排序位置較高的文檔進行交互,并且用戶的傾向性與文檔是否滿足用戶的實際需求無關.由于位置偏置的存在,文檔的點擊率會隨著展示位置的不同而不同,產生排在較低位置文檔的點擊率明顯低于排在較高位置文檔的點擊率的現象,并且會導致訓練數據中部分因排序位置較低缺少用戶點擊反饋的相關文檔被當作負例進行訓練.同時位置偏置的存在會使模型高估排序位置較高文檔的點擊率,低估排序位置較低文檔的點擊率,使得位置較高的文檔獲得更多的反饋,并在下一次展示中依然獲得較為靠前的排序,而排序位置較低沒有獲得用戶反饋的相關文檔在下一次的展示中依然被排在較低的位置.因此為緩解上述現象,需要對排序位置較低但是依然被點擊的文檔進行適當的權重調整,使得模型可以捕捉到這部分代表性不足但與搜索內容相關的文檔.目前一個常用的解決方案是逆概率加權(inverse probability weighting),該算法去偏的關鍵在于獲取各個位置準確的觀測傾向性得分.業界常通過隨機數據(uniform data)[10-11]、交換干預(swap intervention)[12]等數據干預方式來獲取位置傾向性得分.但現有干預算法在應用時會帶來影響用戶體驗、降低產品業務指標、數據時效性不強等問題.
為解決上述問題,Agarwal等人[4]提出干預收割的數據干預方式,利用了現實搜索場景中排序模型會被不斷更新、各個模型之間存在一定差異性進行干預.具體而言,干預收割使用了多個排序模型處理相同搜索內容,從而得到有差異搜索結果列表的數據集合.此數據中存在同一個文檔d既被排在位置k又被排在位置k′的情況,k≠k′.因此該算法關注用戶與不同排序模型進行交互時文檔排序的差異性,來獲取一個位置觀測傾向性得分.
在位置模型[13](position based model, PBM)中,文檔d在位置k被觀測到的概率僅由文檔排序位置決定.已有工作表明[5,14]不同搜索場景下文檔在各個位置的觀測概率受文檔排序位置、搜索內容上下文環境影響,因此通過PBM模型獲取的位置傾向性得分會與真實值之間存在一定偏差.為提升PBM模型預測準確性.Fang等人[5]將用戶搜索內容、文檔特征等上下文信息加入PBM,得到的融合上下文的位置模型CPBM使其具備刻畫不同場景下用戶的點擊行為,從而提高了模型預測各個位置觀測概率的準確性,達到獲取準確、無偏位置傾向性得分的目的.本文對CPBM作了進一步的改進.
近年來,多任務學習(multi-task learning, MTL)[15-17]已經在信息檢索領域得到成功應用,該學習算法通過捕捉各個任務之間共享信息和特有信息的方式來提高模型的泛化性能.Sheng等人[9]提出一種星式拓撲的多任務學習結構以及數據分區歸一化的方式來進行多推薦場景數據聯合學習,取得了比單任務學習更好的效果.Zhao等人[18]將排序任務轉換為多目標學習任務并在模型中加入輔助結構,緩解訓練數據中多種偏置帶來的影響.Chen等人[19]提出一種梯度調整策略幫助模型獲得更加穩定的收斂點.本文通過多任務學習方式捕捉多場景點擊數據中的共享信息,進一步提升模型預測性能.
CPBM遵循了數據來自同一分布的假設,然而現實中搜索系統收集的日志數據往往混合了多種用戶行為分布的信息.例如用戶在搜索不同內容、瀏覽不同搜索結果列表時會展現出不同的觀測行為和點擊行為,這些行為可以看作是來自不同用戶行為分布的實例,因此“數據來自同一分布”這一假設在現實場景中很難保證.用包含多種分布的數據訓練出的CPBM模型也會受到數據之間分布不同的影響,面臨模型預測性能下降等問題.而為每一種分布數據訓練一個CPBM模型的方式,雖然消除了上述缺陷,但又會面臨訓練數據稀疏的問題.
本 文 基于 Yahoo! Learning to Rank (簡 稱 Yahoo)數據集[20]和MQ2007數據集[21]對上述現象進行了初步的驗證.遵照Fang等人[5]的實現方式,本文構建了4個場景的用戶點擊數據,每個場景數據特征由參數θ刻畫.不同場景的數據之間存在一定相似性和差異性,具體體現在參數θ取不同值時各個位置觀測概率的均值會隨位置增大而減小,但標準差會隨參數θ的增大而增大,最終體現在不同參數θ取值下各個位置具有不同的點擊率.
表1展示了CPBM在2個數據集、3個雙場景設定下進行聯合訓練和獨立訓練時測試集錯誤率情況.由于模型在θ= 10場景計算出的錯誤率量級高于其他場景,因此在計算后取對數(lb).可以看出,在Yahoo數據集中,在雙場景1數據聯合訓練時模型在θ= 0.1,θ= 0.3 的預測準確性相對于獨立訓練都有所提升;在雙場景2數據聯合訓練時模型在θ= 0.1的預測準確性有所提升,在θ= 0.6的預測準確性有所下降;在雙場景3數據聯合訓練時模型在θ= 0.1和θ= 10的預測準確性都有所下降.在 MQ2007數據集中,在雙場景 1 數據聯合訓練時模型在θ= 0.1 和θ=0.3的預測準確性都有所提升;在雙場景2數據和雙場景3數據聯合訓練時模型在θ= 0.1的預測準確性有所提升,θ= 0.6 和θ= 10 的預測準確性有所下降.以上實驗結果表明了不同場景的數據之間存在提升模型預測能力的共享信息數據,也存在各個場景特有的信息數據,CPBM的預測性能會受聯合訓練時數據間分布不同的影響.因此為解決上述問題,需要在CPBM中加入具有信息篩選的結構.

Table 1 Error Rate on the Test Set During Joint Training and Independent Training Under Dual Scene Data表1 雙場景數據聯合訓練和獨立訓練時測試集錯誤率
首先定義多場景日志數據.在多場景數據中,Ti代表其中1個場景的數據,在各個場景中Xi代表上下文特征向量,Yi代表真實標簽,該標簽可以是人為標注的相關性標簽也可以是用戶實際的點擊標簽.Ti={Xi,Yi}.{Ti}ni=1代表所有場景數據的集合,其中有n個場景的數據.
本文所提出的算法基于多任務學習的多門專家混合網絡結構[22](multi-gate mixture-of-experts, MMOE)進行構造,MMOE通過門共享結構顯式地對任務之間的相似性和差異性建模,利用其他場景中的共享信息幫助相似場景任務的學習.MMOE將硬參數共享方式中共享底層結構[23](share bottom)改進為多個專家層結構,避免了硬參數共享方式面臨的負遷移、難以優化等問題.而相較于混合專家網絡[24](mixture-ofexperts, MOE)中不同任務只使用1個門共享結構的方式來說,MMOE為每個任務都分配1個門共享結構,合理分配任務之間權重,提升了信息共享的靈活度.受MMOE結構的啟發,本文提出多門專家混合位置傾向性得分預測模型MCPBM.在該模型中,1個場景的位置傾向性得分預測值由參與訓練的所有場景位置傾向性得分預測值加權得出,每個場景所占權值由場景獨享的門共享結構給出.在該模型中,既利用各個場景特有的信息數據,也利用其他場景中的共享信息數據,解決CPBM受數據之間分布不同的影響導致預測準確性下降問題.
圖2展示了本文提出的 MCPBM 模型.在圖2所示的網絡結構中,下層為專家層網絡,其中Expert1,Expert2,Expert3由 多 層 感 知 機 (multi-layer perceptron,MLP)網絡構成,每個專家網絡Experti僅接收對應場景Ti的上下文特征信息.從式(1)可以看出,專家層門共享結構用來捕捉特征層面的相似性,選擇部分專家層的輸出或者所有專家層的加權輸出作為上層網絡的輸入.當其他場景數據與目標場景數據相關性越大時Gi值越大,2種數據之間共享程度越高;當其他場景數據與目標場景數據相關性越小時Gi值越小,2種數據之間共享程度越低.這種靈活的信息共享方式具有信息選擇功能,可以將需要共享的信息傳遞到上層任務層網絡中.1個專家網絡輸入對應Ti場景的上下文信息Xi,輸出為網絡提取的特征信息X′i.1個專家層門共享結構輸入為所有場景的上下文信息(X1,X2,…,Xn),輸出為專家網絡Experti信息共享權重

因此專家層Experti輸出為

上層為任務層網絡,其中Task1,Task2,…,Taskn由CPBM模型構成,用于獲取每個位置的觀測傾向性得分.1個專家網絡與1個任務網絡相對應,且2種網絡的數量與場景個數n相同.Taski接收的特征信息由下層專家層和專家層門共享結構共同決定.任務網絡的輸出同樣由任務層門共享結構和每個任務網絡共同決定.每個任務網絡的輸出為Hi,1個任務層門共享結構輸入為所有場景的上下文信息(X1,X2,…,Xn),輸出為各個任務網絡Taski信息共享權重Qi并且

因此任務層Taski輸出為


Fig.2 Multi-gate contextual position based model and its stucture of Block module圖2 多門專家混合位置傾向性得分預測模型及其Block模塊結構
從式(3)可以看出,任務層門共享結構用來捕捉標簽層面的相似性.值的注意的是,任務層與專家層中,門共享結構作用一致.在獲取各個任務網絡輸出后,采用式(5)定義的損失函數:

其中, αi是各個損失函數的權重,采用3.3節的指數加權平均算法進行權重動態調整,lossi采用式(6)定義的損失函數[5]:

由于不同場景各個位置點擊率和位置傾向性得分有所不同,因此在使用不同場景數據訓練時MCPBM有不同的收斂速度,存在某些場景損失函數收斂快而某些場景損失函數收斂慢的情況.而在MCPBM中,參與訓練的所有數據決定模型最終的預測準確性.同時已有工作[25-27]表明多任務學習模型性能依賴于每個任務損失函數之間的相對權重.為緩解不同場景任務收斂速度不一致的問題,需要找到不同場景任務之間合適的組合方式,而通過網格搜索、人為調節等方式尋找最優權重組合十分不便.因此為解決上述問題,本文提出了指數加權平均權重動態調整法,具體加權方式見式(7)~(9):

式(7)中,lossi(t),lossi(t?1)分別是任務i第t輪和第t–1輪的損失值, βi是任務i損失函數變化速率.式(8)中,S是控制任務權重平滑度的超參,當S取值越大時各個任務權重越接近.在獲得 βi后經過softmax運算并乘以任務數n后得到t+1輪任務權重預測值σi(t+1).為減少梯度下降和訓練數據中的隨機性,本文采用式(9)指數平均加權的方式對預測權重αi(t+1)進行加權,其中 γ 是控制t輪之前任務權重在t+1輪中所占比例的超參,γ值越大,任務t+1輪權重αi(t+1)與t輪之前任務權重越相關.
本節主要介紹實驗中數據預處理方法、實驗評估標準以及對實驗結果進行分析,比較多任務學習模型和單任務學習模型在預測位置傾向性得分和位置去偏上的差異性,驗證本文提出的MCPBM模型的有效性.
本文采用Yahoo數據集和MQ2007數據集.由于2份公開數據集中不包含用戶點擊信息,因此需要對數據進行改造.本文遵照Ai等人[28]以及Fang等人[5]的實現方式生成模擬點擊日志數據.值得注意的是,本文采用的用戶點擊數據模擬生成方式可以較好地刻畫位置偏置,并且該方式在多個研究工作[2,5,28]中被廣泛使用.同時,θ取值代表的場景一定程度上與我們在真實商業搜索引擎中收集的點擊日志相符.
首先從訓練集中隨機抽取1%的搜索內容用于訓練2個SVM-Rank排序模型[29],模擬1.1節提到的干預收割數據干預方式中的多個排序算法,同時為了保證排序算法之間的相似性1%的訓練數據中有20%搜索內容一致,其余的80%搜索內容不同.之后使用訓練好的2個排序模型對剩余的訓練數據進行排序,得到文檔排序位置,模擬用戶搜索內容之后得到的結果列表.考慮到上下文信息對于觀測概率的影響,本文使用數據集中的特征模擬現實場景中搜索內容的上下文信息.在該實驗中,只關注前10個位置的偏置情況,因此每條搜索內容都會對應1個10維特征向量x.向量x由2部分組成:一部分(x1,x2,···,xj)是從文檔與搜索內容的特征中抽取;另一部分(xj+1,xj+2,···,x10)是從期望為0、方差為0.35的正態分布生成.通過參數 δ =j/10來控制這2部分在10維特征向量中所占比重.
通過式(10)獲取用戶對于每個位置的觀測概率并將生成的概率分布作為模型評估時的真實標簽.

其中,k是文檔排序的位置,x是抽取的上下文信息,w是從 [? θ,θ)的均勻分布中生成的向量.不同 θ取值代表不同場景數據.當 θ取較大值時,各個位置觀測概率標準差較大,同時各個位置觀測概率均值會隨著排序位置的增大而減小.
在獲取搜索內容上下文特征、各個位置的觀測概率分布后,通過CPBM模型生成點擊日志數據.本文采用Fang等人[5]使用的模擬點擊方式并引入點擊噪聲來模擬現實場景中用戶誤點行為.用戶點擊相關文檔的概率為1,點擊不相關文檔的概率為0.1.之后采用1.1節中介紹的干預收割數據干預方式獲取干預數據.
衡量模型預測各個位置觀測傾向性得分的錯誤情況,采用式(11)的計算方式:

其中k=10,該實驗中只關注前10個位置的偏置情況,D是測試集,p?m(xi)是m位置觀測傾向性得分預測值,pm(xi)是m位置觀測傾向性得分真實值.模型預測位置觀測傾向性得分越準確,計算出的error值越小.
在獲得位置傾向性得分后,需要去除點擊日志數據中的位置偏置并衡量使用去偏數據訓練的排序模型的排序質量.因此在衡量排序質量時,首先使用訓練好的位置傾向性得分預測模型對訓練集數據進行去除位置偏置的處理,之后使用去偏數據訓練基于傾向性得分的排序模型[2](propensity SVM-Rank,PSR)并在測試集上進行評估,采用式(12)[2]來衡量排序模型的排序質量:

其中,f(xi)是訓練得到的排序模型,rank(d|f(xi))是文檔d排序的位置,rel(d,xi)是d與搜索內容xi的相關度,?(xi)是候選集文檔集合.
PyTorch是一款開源的機器學習框架.本文所有實驗使用PyTorch框架對模型進行實現.
4.3.1 單任務學習模型
本文選取CPBM、PBM、局部傾向性得分估計(local estimators, LE)算法[4]、位置偏差感知學習框架(position bias aware learning framework, PAL)[30]作為單任務學習的基線模型,該類模型使用單個θ場景數據進行訓練.其中CPBM,PBM,LE模型先通過預測位置傾向性得分再使用逆概率加權的方式去除偏置.CPBM模型包括位置傾向性得分網絡和相對相關性網絡,這2種網絡由4層MLP結構組成.表2展示了CPBM模型訓練過程中選取的相關超參數.由于PBM模型未考慮上下文信息對于位置觀測傾向性得分的影響,因此在獲取干預數據后直接最大化式(6).LE通過干預數據中各個位置點擊率來獲取位置傾向性得分.PAL框架采用位置偏置與點擊率預測分開建模的方式,線上階段僅使用去偏后的點擊率預測模型進行預測.

Table 2 Hyperparameter Settings of Single-Task Learning Model表2 單任務學習模型的超參數設置
4.3.2 多任務學習模型
多任務學習模型為MCPBM模型,該模型使用多個θ場景數據進行聯合訓練.其中任務網絡與單任務學習中CPBM模型網絡結構、參數一致.專家網絡由4層MLP結構組成,采用激活函數ReLU;門共享結構由2層MLP結構組成并且最后一層采用 so ftmax激活函數.表3展示了MCPBM訓練過程中選取的相關超參數.

Table 3 Hyperparameter Settings of Multi-Task Learning Model表3 多任務學習模型的超參數設置
本節主要是對 CPBM, PBM, LE, PAL, MCPBM 模型的預測位置傾向性得分以及去除位置偏置結果進行對比分析.
4.4.1 位置傾向性得分預測結果分析
表4 展示的實驗結果是在θ= 0.1,θ= 0.3,θ= 0.6以及θ= 0.1,θ= 0.6,θ= 10 的 3 場景數據下,MCPBM模型和3種基線模型在測試集上預測位置觀測傾向性得分的錯誤情況,采用式(11)的計算方式.由于模型在θ= 10場景計算出的error量級高于其他場景,因此在計算后取對數(lb).

Table 4 Error Rate on the Test Set Under Three Scene Data表4 3場景數據下模型測試集錯誤率
實驗結果表明,MCPBM模型在各個場景的預測準確性都優于 3 種基線模型,僅在θ= 0.1,θ= 0.6,θ=10 的 3 場景數據聯合訓練中,θ= 0.1 場景測試集錯誤率高于PBM模型.同時沒有出現表1中CPBM模型在2種場景測試集上預測準確性都下降的情況.該實驗結果表明了MCPBM模型具有一定的信息過濾能力,可以利用相似場景中的共享信息提升模型整體預測性能.
4.4.2 指數加權平均權重動態調整結果分析
圖3~7展示的實驗結果是在Yahoo數據集中,MCPBM模型采用指數加權平均權重動態調整算法、損失函數分配相等權重方式,以及本文參考的基線基于不確定性的權重調整算法(uncertainty to weigh losses, Uncert)[27]的情況下,分別在 4 場景數據和 3 場景數據聯合訓練時訓練集的錯誤率變化曲線.由于4場景數據聯合訓練時增加了1種場景的數據,因此模型在相同參數場景下錯誤率曲線會發生變化.例如,圖3 和圖4 中 MCPBM 在θ= 0.1,θ= 0.3,θ= 0.6 的 3場景訓練集錯誤變化曲線有所不同.

Fig.3 Error rate curve of exponential weighted average in 4 scene data training圖3 指數加權平均在4場景數據訓練時錯誤變化曲線

Fig.4 Error rate curve of exponential weighted average in 3 scene data training圖4 指數加權平均在3場景數據訓練時錯誤變化曲線

Fig.5 Error rate curve of equal weight in 4 scene data training圖5 權重相等在4場景數據訓練時錯誤變化曲線

Fig.6 Error rate curve of Uncert in 3 scene data training圖6 Uncert在3場景數據訓練時錯誤變化曲線

Fig.7 Error rate curve of Uncert in 4 scene data training圖7 Uncert在4場景數據訓練時錯誤變化曲線
實驗結果表明本文提出的權重分配算法一定程度上緩解不同場景任務收斂速度不一致的問題,提升模型整體預測性能.在θ= 0.1,θ= 0.3,θ= 0.6,θ=10的4場景下使用指數加權平均權重動態調整的模型相較于分配相等權重的模型在訓練集的error值上有4.1%的下降.同時文本提出的權重分配算法明顯優于基線Uncert的權重調整算法.
4.4.3 模型去偏結果分析
為驗證 PBM,CPBM,LE,PAL,MCPBM模型去除位置偏置的效果,本文使用PBM,CPBM,LE,MCPBM模型去偏后的數據和Click未去偏點擊數據訓練PSR模型并在測試集上采用AvgRank指標評估排序模型的排序質量.
從表5可以看出,MCPBM去偏效果優于4種位置傾向性得分預測去偏模型,在AvgRank指標上均有1%~5%的提升.實驗結果驗證了MCPBM模型能較好地去除點擊日志數據中的位置偏置問題.從直接使用Click數據訓練得到排序模型的排序指標來看,位置偏置會嚴重影響排序模型的排序質量.同時表4的實驗結果表明在使用逆概率加權算法時獲得一個準確的位置傾向性得分是去除位置偏置的關鍵所在.

Table 5 AvgRank on the Test Set Under Three Scene Data表5 3場景數據下測試集的AvgRank情況
本文提出一種基于多任務學習的MCPBM位置傾向性得分預測模型和指數加權平均權重動態調整算法,解決了已有的CPBM模型在多場景數據聯合訓練時,因數據之間分布不同而導致模型預測性能下降的問題,從而更準確地估計了不同場景下位置觀測傾向性得分.實驗結果表明,與CPBM相比,MCPBM模型在多場景搜索中具有更優的去偏效果,有效緩解了點擊日志中的位置偏置,提升了排序模型的排序質量.
在下一步工作中,我們將嘗試改進更多去除位置偏置的算法以及設計去偏任務和排序任務聯合訓練的框架.
致謝感謝中國人民大學公共政策實驗室的支持.
作者貢獻聲明曹澤麟負責所有實驗、數據分析,以及文章的撰寫;徐君對本文選題、組織結構和文章寫作提供了關鍵性的指導意見;董振華對本文組織結構和部分內容提供了重要的指導意見;文繼榮對本文的選題提供了重要的指導意見.