王奕婷 蘭艷艷 龐 亮 郭嘉豐 程學(xué)旗
1(中國(guó)科學(xué)院網(wǎng)絡(luò)數(shù)據(jù)科學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室(中國(guó)科學(xué)院計(jì)算技術(shù)研究所) 北京 100190)2(中國(guó)科學(xué)院大學(xué) 北京 100049)3(清華大學(xué)智能產(chǎn)業(yè)研究院 北京 100084)4(中國(guó)科學(xué)院計(jì)算技術(shù)研究所數(shù)據(jù)智能系統(tǒng)研究中心 北京 100190)(wangyiting211@mails.ucas.ac.cn)
排序?qū)W習(xí)是信息檢索領(lǐng)域的關(guān)鍵技術(shù),它運(yùn)用機(jī)器學(xué)習(xí)方法訓(xùn)練模型并根據(jù)查詢(xún)請(qǐng)求返回候選文檔的預(yù)測(cè)得分.真實(shí)場(chǎng)景中的網(wǎng)絡(luò)信息隨時(shí)間更新變化,若采用傳統(tǒng)的排序?qū)W習(xí)方法則需不斷對(duì)新產(chǎn)生的數(shù)據(jù)進(jìn)行人工標(biāo)注,這需要消耗人力且不利于模型的實(shí)時(shí)更新.相較文檔相關(guān)標(biāo)簽,用戶(hù)瀏覽留下的點(diǎn)擊數(shù)據(jù)規(guī)模大、易于獲取[1]且更能反映用戶(hù)偏好和興趣[2].將點(diǎn)擊數(shù)據(jù)作為標(biāo)簽?zāi)軌蛴行Ы档蜆?biāo)注成本[3].因此,面向點(diǎn)擊數(shù)據(jù)訓(xùn)練模型具有重要意義.
用戶(hù)點(diǎn)擊[4]包含偏差和噪聲[5-6],如位置靠前的文檔更容易被用戶(hù)點(diǎn)擊,因此直接將是否點(diǎn)擊作為文檔相關(guān)的判據(jù)會(huì)導(dǎo)致次優(yōu)的模型訓(xùn)練效果[7].目前主要有2類(lèi)方法利用點(diǎn)擊數(shù)據(jù)訓(xùn)練模型:一類(lèi)為點(diǎn)擊模型,它通過(guò)研究用戶(hù)行為特點(diǎn)從用戶(hù)點(diǎn)擊推測(cè)文檔相關(guān)性,從而得到去除偏差后的數(shù)據(jù)用于訓(xùn)練.這類(lèi)方法將偏差去除和排序任務(wù)作為2個(gè)分開(kāi)的任務(wù).由于2步驟優(yōu)化的目標(biāo)不一致,往往不能達(dá)到很好的訓(xùn)練效果,且在長(zhǎng)尾稀疏數(shù)據(jù)場(chǎng)景表現(xiàn)不佳.另一類(lèi)為近年來(lái)提出的無(wú)偏排序?qū)W習(xí)方法,它的基本思路是利用逆傾向加權(quán)方法進(jìn)行反事實(shí)因果推斷,對(duì)不同文檔進(jìn)行點(diǎn)擊傾向估計(jì)并對(duì)損失加權(quán),最終得到無(wú)偏模型.這類(lèi)方法需要較為準(zhǔn)確的點(diǎn)擊傾向估計(jì),結(jié)果隨機(jī)呈現(xiàn)是較常見(jiàn)的思路.它將候選文檔打亂排列次序并呈現(xiàn)給用戶(hù),根據(jù)用戶(hù)的實(shí)際點(diǎn)擊情況估計(jì)點(diǎn)擊傾向,但呈現(xiàn)給用戶(hù)的文檔順序被打亂進(jìn)而會(huì)導(dǎo)致用戶(hù)體驗(yàn)不佳.
基于回歸的期望最大化方法是通過(guò)極大似然估計(jì)計(jì)算點(diǎn)擊概率和傾向概率,但該方法對(duì)初值敏感且每當(dāng)有數(shù)據(jù)更新時(shí)都需重新執(zhí)行算法,因此適用范圍有限.
對(duì)偶學(xué)習(xí)方法是目前較為主流的無(wú)偏排序方法,適用范圍較廣且在多個(gè)數(shù)據(jù)集上表現(xiàn)較優(yōu)[8].在已知用戶(hù)點(diǎn)擊的情況下,用戶(hù)是否觀察到文檔以及文檔是否與該項(xiàng)查詢(xún)相關(guān)未知.對(duì)偶學(xué)習(xí)將這2個(gè)概率估計(jì)問(wèn)題看作對(duì)偶任務(wù),利用逆傾向加權(quán)和逆相關(guān)加權(quán)聯(lián)合訓(xùn)練排序模型和傾向模型.但該方法僅當(dāng)排序模型和傾向模型的損失函數(shù)均為凸函數(shù)時(shí)收斂到最優(yōu).實(shí)際神經(jīng)網(wǎng)絡(luò)包含多個(gè)隱藏層導(dǎo)致?lián)p失函數(shù)非凸,模型可能收斂得到次優(yōu)解.
針對(duì)上述問(wèn)題,本文提出一種新的無(wú)偏排序?qū)W習(xí)方法,利用現(xiàn)有小規(guī)模標(biāo)注數(shù)據(jù)對(duì)排序模型預(yù)訓(xùn)練,并利用其對(duì)對(duì)偶去偏過(guò)程進(jìn)行相關(guān)修正.由于對(duì)偶學(xué)習(xí)方法中越精準(zhǔn)的排序模型會(huì)促使傾向模型輸出的傾向得分越貼近真實(shí)用戶(hù)點(diǎn)擊傾向,而越準(zhǔn)確的傾向模型會(huì)促使訓(xùn)練的排序模型更接近無(wú)偏模型,故本文方法利用現(xiàn)有的小規(guī)模樣本訓(xùn)練排序模型能使得模型在聯(lián)合訓(xùn)練前有較好的初始值從而避免訓(xùn)練中錯(cuò)誤的累積,進(jìn)而得到更優(yōu)的無(wú)偏模型.模擬不同程度的點(diǎn)擊偏差并在真實(shí)點(diǎn)擊數(shù)據(jù)場(chǎng)景下測(cè)試,結(jié)果表明本文方案能夠有效提升無(wú)偏排序方法表現(xiàn).
利用用戶(hù)點(diǎn)擊反饋訓(xùn)練模型有點(diǎn)擊模型和無(wú)偏排序?qū)W習(xí)2類(lèi)方法.
點(diǎn)擊模型從已知的用戶(hù)點(diǎn)擊中反向推斷文檔與查詢(xún)的相關(guān)性,再將其結(jié)果用于訓(xùn)練.基于用戶(hù)瀏覽行為特點(diǎn),研究者提出了不同的點(diǎn)擊模型[9-13],從帶偏的點(diǎn)擊數(shù)據(jù)中推測(cè)實(shí)際文檔相關(guān)性.如位置模型(position based model, PBM)假設(shè)用戶(hù)是否點(diǎn)擊由文檔吸引用戶(hù)程度以及是否被用戶(hù)檢驗(yàn)所決定.在此基礎(chǔ)上Craswell等人[10]作進(jìn)一步假設(shè),認(rèn)為用戶(hù)自上而下瀏覽網(wǎng)頁(yè)、返回結(jié)果、并逐個(gè)判定是否點(diǎn)擊該文檔、直到需求被滿(mǎn)足,構(gòu)建了級(jí)聯(lián)模型(cascade model, CM).級(jí)聯(lián)模型在一次搜索過(guò)程中只出現(xiàn)一次點(diǎn)擊,某位置文檔被點(diǎn)擊的概率與之前的文檔是否被點(diǎn)擊有關(guān),而位置模型中各文檔被點(diǎn)擊的概率相互獨(dú)立.用戶(hù)瀏覽模型[11](user browsing model, UBM)可看作上述模型的拓展,它既考慮了用戶(hù)對(duì)某一位置文檔是否點(diǎn)擊與該位置之前的文檔是否被點(diǎn)擊之間的關(guān)聯(lián)關(guān)系;又考慮了文檔排列的先后位置順序與用戶(hù)對(duì)該位置文檔進(jìn)行檢驗(yàn)的概率之間的關(guān)聯(lián)關(guān)系.
在上述不同假設(shè)條件下,可以通過(guò)用戶(hù)點(diǎn)擊來(lái)推測(cè)文檔的相關(guān)性,從而訓(xùn)練排序模型.然而,這類(lèi)方法要求每一查詢(xún)-文檔對(duì)多次呈現(xiàn)給用戶(hù),因此難以適用于稀疏數(shù)據(jù)場(chǎng)景.此外,由于點(diǎn)擊模型去偏和訓(xùn)練排序模型2步驟的優(yōu)化目標(biāo)不一致,最終模型能夠達(dá)到的效果有限.
對(duì)點(diǎn)擊數(shù)據(jù)去除偏差并得到文檔的真實(shí)相關(guān)性的任務(wù)存在難以適用于稀疏長(zhǎng)尾數(shù)據(jù)的真實(shí)場(chǎng)景以及前后任務(wù)優(yōu)化目標(biāo)不一致等諸多難點(diǎn),因此近年來(lái)研究人員提出無(wú)偏排序?qū)W習(xí)這一新的研究方向,將點(diǎn)擊數(shù)據(jù)作為標(biāo)簽訓(xùn)練無(wú)偏模型.Wang等人[14]和Joachims等人[15]提出采用逆傾向評(píng)分加權(quán)的方法來(lái)訓(xùn)練無(wú)偏排序?qū)W習(xí)模型,利用結(jié)果隨機(jī)呈現(xiàn)的方法來(lái)估計(jì)點(diǎn)擊傾向.然而上述方法需要將結(jié)果隨機(jī)展示給用戶(hù),導(dǎo)致用戶(hù)體驗(yàn)下降.因此,2018年Wang等人[16]探討了結(jié)果隨機(jī)呈現(xiàn)帶來(lái)的不良影響并提出基于回歸的期望最大化方法用于個(gè)性化搜索場(chǎng)景.該方法可以提升用戶(hù)體驗(yàn),并從一定程度上解決個(gè)性化搜索中的點(diǎn)擊數(shù)據(jù)稀疏的問(wèn)題,但每當(dāng)有點(diǎn)擊數(shù)據(jù)更新時(shí)都需要重新進(jìn)行計(jì)算.
Ai等人[17]將排序?qū)W習(xí)模型和傾向模型的訓(xùn)練看作對(duì)偶任務(wù),對(duì)2個(gè)模型同時(shí)訓(xùn)練.在此基礎(chǔ)上,Hu等人[18]將逆傾向得分加權(quán)方法擴(kuò)展為成對(duì)去偏方法,并結(jié)合LambdaMART實(shí)現(xiàn)位置偏差估計(jì)和排序模型的共同訓(xùn)練.這類(lèi)方法用戶(hù)體驗(yàn)相對(duì)較好,然而當(dāng)相關(guān)性模型估計(jì)不準(zhǔn)確時(shí)會(huì)引入新的偏差.由于傾向估計(jì)表現(xiàn)依賴(lài)于排序模型效果,因此需要構(gòu)建較為準(zhǔn)確的相關(guān)估計(jì)模型以提升效果.
無(wú)偏排序旨在利用用戶(hù)反饋數(shù)據(jù)訓(xùn)練模型,對(duì)給定查詢(xún)q和文檔d的特征信息給出對(duì)應(yīng)的文檔相關(guān)得分,按照從高到低將排序結(jié)果返回并呈現(xiàn)給用戶(hù),系統(tǒng)記錄用戶(hù)點(diǎn)擊候選列表中的某一文檔并更新模型,其流程如圖1所示:
對(duì)于每一查詢(xún)-文檔對(duì),無(wú)偏排序?qū)W習(xí)方法將點(diǎn)擊數(shù)據(jù)作為標(biāo)簽,通過(guò)設(shè)計(jì)有效的損失函數(shù)盡可能消除點(diǎn)擊數(shù)據(jù)偏差,使模型向相關(guān)標(biāo)簽訓(xùn)練的排序模型收斂.
為統(tǒng)一本文表達(dá)方式,列出本文使用符號(hào)參數(shù)及其含義如表1所示.令用戶(hù)輸入的查詢(xún)集合為Q,查詢(xún)q∈Q.系統(tǒng)針對(duì)查詢(xún)q返回呈現(xiàn)給用戶(hù)的文檔列表πq,文檔用d表示.>
Table 1 Symbols and Their Meanings表1 使用符號(hào)及其含義
現(xiàn)有無(wú)偏排序?qū)W習(xí)算法中,對(duì)偶學(xué)習(xí)方法在多個(gè)數(shù)據(jù)集上表現(xiàn)較佳且適用范圍較廣,其流程如圖2所示:
Fig. 2 Core ideas of dual learning algorithm圖2 對(duì)偶學(xué)習(xí)核心思路
假設(shè)對(duì)每一文檔d,用戶(hù)點(diǎn)擊某一文檔當(dāng)且僅當(dāng)該文檔被觀察到且與查詢(xún)相關(guān),如式(1)所示:
P(cd=1)=P(od=1)×P(rd=1).
(1)
對(duì)于查詢(xún)集合Q,傾向估計(jì)的目標(biāo)是找到傾向模型P,使得損失函數(shù)達(dá)到最小:
(2)
類(lèi)似地,對(duì)文檔進(jìn)行正確排序的方法是找到排序模型R使得損失函數(shù)達(dá)到最小:
(3)
對(duì)偶學(xué)習(xí)方法將傾向估計(jì)和相關(guān)估計(jì)看作對(duì)偶問(wèn)題,聯(lián)合訓(xùn)練傾向模型和相關(guān)模型并得到最終模型參數(shù).對(duì)于點(diǎn)擊傾向模型,對(duì)檢索記錄被觀察到的概率估計(jì)問(wèn)題定義逆相關(guān)加權(quán)(inverse relevance weighting, IRW)損失函數(shù)lIRW(P,c)如式(4)所示:
(4)
其中Δ(P,cd|πq)代表文檔序列πq中文檔d的損失.可以證明逆相關(guān)加權(quán)后lIRW(P,c)是傾向模型的無(wú)偏估計(jì),如式(5)所示.類(lèi)似也可證明逆傾向加權(quán)后lIPW(P,c)是排序模型的無(wú)偏估計(jì).
(5)
訓(xùn)練過(guò)程中,傾向模型對(duì)每一位置的文檔輸出其估計(jì)的用戶(hù)點(diǎn)擊傾向;相關(guān)模型對(duì)每一文檔輸出其計(jì)算出的相關(guān)概率;對(duì)用戶(hù)點(diǎn)擊分別乘以逆傾向權(quán)重和逆相關(guān)權(quán)重來(lái)計(jì)算相關(guān)模型和傾向模型的損失值并更新參數(shù).經(jīng)過(guò)多輪迭代直到模型收斂并得到最終的模型參數(shù).
該方法的收斂條件是排序模型和傾向模型的目標(biāo)函數(shù)為凸函數(shù),但實(shí)際神經(jīng)網(wǎng)絡(luò)含有多個(gè)隱藏層,導(dǎo)致其損失函數(shù)非凸不能保證結(jié)果最優(yōu).
針對(duì)上述模型收斂得到次優(yōu)解的問(wèn)題,本文設(shè)計(jì)一種基于相關(guān)修正的無(wú)偏排序?qū)W習(xí)方法,利用現(xiàn)有小規(guī)模相關(guān)標(biāo)簽訓(xùn)練模型并利用其對(duì)對(duì)偶學(xué)習(xí)進(jìn)行調(diào)整和修正,從而得到更優(yōu)的無(wú)偏排序模型.方案流程如圖3所示:
Fig. 3 Unbiased learning to rank based on relevance correction圖3 基于相關(guān)修正的無(wú)偏排序?qū)W習(xí)方法
在小規(guī)模標(biāo)簽上預(yù)先排序模型可以對(duì)對(duì)偶去偏過(guò)程賦予更優(yōu)的初始參數(shù),因此在訓(xùn)練過(guò)程中,尤其是訓(xùn)練初期,排序模型和傾向模型輸出的文檔相關(guān)得分和點(diǎn)擊傾向得分更加準(zhǔn)確.這防止了對(duì)偶訓(xùn)練過(guò)程中文檔相關(guān)得分和點(diǎn)擊傾向得分在相互輸出并計(jì)算損失時(shí)由于相關(guān)得分和傾向得分估計(jì)不準(zhǔn)確導(dǎo)致迭代過(guò)程中錯(cuò)誤的累積,從而促使最終模型收斂得到更優(yōu)結(jié)果.
該方案包括以下步驟:階段1.先在少量標(biāo)注的相關(guān)標(biāo)簽上進(jìn)行排序模型預(yù)訓(xùn)練;階段2.利用排序模型輸出的相關(guān)得分訓(xùn)練點(diǎn)擊傾向模型;階段3.利用訓(xùn)練好的模型對(duì)對(duì)偶去偏過(guò)程賦予初值并聯(lián)合訓(xùn)練.
3.1.1 排序模型預(yù)訓(xùn)練
為統(tǒng)一輸入的候選文檔維度并減少計(jì)算量,在預(yù)訓(xùn)練數(shù)據(jù)輸入之前先進(jìn)行粗排.選用少量的訓(xùn)練數(shù)據(jù)訓(xùn)練模型并利用其返回排在前k位的文檔,作為預(yù)訓(xùn)練排序模型的訓(xùn)練數(shù)據(jù).
利用帶有相關(guān)標(biāo)簽的訓(xùn)練數(shù)據(jù),找到能夠使得指定損失函數(shù)L(y,f(x))最小的函數(shù)f*:
(6)
其中,f(x)代表排序模型輸出得分,y代表對(duì)應(yīng)的相關(guān)標(biāo)簽.理論上任何可以輸出候選文檔分值的排序模型都可以作為該模型的實(shí)現(xiàn)方式.
對(duì)每一查詢(xún)q的候選文檔列表,按照式(7)計(jì)算損失:
(7)
其中,i表示候選列表πq中第i個(gè)文檔,yi為第i個(gè)文檔的相關(guān)標(biāo)簽值,wyi為對(duì)每一文檔分配的權(quán)重,其計(jì)算公式如式(8)所示:
(8)
文檔與查詢(xún)的相關(guān)程度越大,對(duì)應(yīng)的權(quán)重wyi越高,該文檔占損失的比重越大.在小規(guī)模相關(guān)標(biāo)簽上訓(xùn)練完成后,返回預(yù)訓(xùn)練得到的排序模型參數(shù)θ0.
3.1.2 對(duì)偶去偏
在執(zhí)行對(duì)偶學(xué)習(xí)去偏過(guò)程之前,利用訓(xùn)練好的排序模型對(duì)每一查詢(xún)-文檔對(duì)輸出文檔相關(guān)得分.利用點(diǎn)擊數(shù)據(jù)和相關(guān)得分,采用逆相關(guān)加權(quán)方法訓(xùn)練傾向模型P,返回其參數(shù)γ0.
將排序模型的參數(shù)θ0和傾向模型的參數(shù)γ0作為對(duì)偶去偏過(guò)程的初始值,并面向點(diǎn)擊數(shù)據(jù)聯(lián)合訓(xùn)練實(shí)現(xiàn)對(duì)偶模型的參數(shù)更新,得到收斂程度更好的最終模型.
能夠有效利用經(jīng)偏差校正后的損失函數(shù)均可用于本文提出的方案.為便于方法有效性驗(yàn)證和效果對(duì)比,選用與文獻(xiàn)[17]相同的基于softmax交叉熵的損失函數(shù)如式(9)(10)所示:
(9)
(10)
用戶(hù)點(diǎn)擊傾向概率和文檔相關(guān)概率是通過(guò)傾向模型和排序模型對(duì)每一查詢(xún)-文檔對(duì)輸出的分值gd(γ)和fd(θ)經(jīng)過(guò)softmax變換后得到.
(11)
(12)
因此,經(jīng)過(guò)逆傾向加權(quán)和逆相關(guān)加權(quán)后的損失函數(shù)如式(13)(14)所示.式中rk代表第k個(gè)位置的文檔是否相關(guān),ok代表第k個(gè)位置的文檔是否被觀察到.
(13)
(14)
對(duì)數(shù)據(jù)集中的查詢(xún)集合Q,按照式(15)(16)計(jì)算傾向模型P和排序模型R的損失:
(15)
(16)
綜上,本文提出的基于相關(guān)修正的對(duì)偶去偏方法如算法1.
算法1.基于相關(guān)修正的對(duì)偶去偏方法.
輸入:查詢(xún)集合Q,對(duì)q∈Q有集合{q,πq,cq};
輸出:排序模型R的參數(shù)θ,傾向模型P的參數(shù)γ.
① 利用預(yù)訓(xùn)練的排序模型f*,對(duì)排序模型R的參數(shù)θ進(jìn)行初始化賦值;
② 固定排序模型R的參數(shù)θ0,利用用戶(hù)點(diǎn)擊數(shù)據(jù)訓(xùn)練傾向模型P,得到參數(shù)γ0;
③ 隨機(jī)抽取部分查詢(xún)樣本,利用式(11)(12)對(duì)每一查詢(xún)計(jì)算展示列表中每個(gè)文檔被觀察到和被點(diǎn)擊的概率;
④ 按照式(15)(16)計(jì)算傾向模型和相關(guān)模型的損失;
⑤ 根據(jù)損失計(jì)算梯度并更新模型參數(shù)θ和γ;
⑥ 重復(fù)步驟③~⑤,直到收斂.
令fi代表文檔列表πq中第i個(gè)文檔的相關(guān)性得分,將排序模型的參數(shù)固定,當(dāng)滿(mǎn)足式(17)時(shí),基于相關(guān)修正的對(duì)偶去偏模型收斂.
(17)
模型收斂時(shí),最終得到
P(od=1|πq)=
(18)
此時(shí),位置i處的逆傾向權(quán)重為
(19)
由上可知,通過(guò)賦予較好的參數(shù)初始值可以避免迭代過(guò)程中錯(cuò)誤的累積,從而得到更優(yōu)的無(wú)偏排序?qū)W習(xí)模型.因此,本文提出的無(wú)偏排序?qū)W習(xí)方法能夠有效促進(jìn)系統(tǒng)的性能提升.
在線(xiàn)計(jì)算速度方面,由于本文提出的基于相關(guān)修正的對(duì)偶去偏方法通過(guò)預(yù)訓(xùn)練的排序模型和傾向模型對(duì)對(duì)偶去偏過(guò)程賦予較好的初始值,并未改變部署的對(duì)偶去偏模型的參數(shù)量,因此在模型上線(xiàn)部署后,計(jì)算速度與原有對(duì)偶學(xué)習(xí)方法一致.
離線(xiàn)訓(xùn)練時(shí)間方面,由于本文使用小規(guī)模的人工標(biāo)注相關(guān)標(biāo)簽預(yù)訓(xùn)練排序模型,因此需在原有基礎(chǔ)上會(huì)增加排序模型預(yù)訓(xùn)練的時(shí)間.然而實(shí)際場(chǎng)景下,系統(tǒng)往往已有預(yù)先訓(xùn)練好的表現(xiàn)較優(yōu)的排序模型可直接用于參數(shù)賦值,且離線(xiàn)訓(xùn)練時(shí)間不影響用戶(hù)體驗(yàn)與模型上線(xiàn)效果,故該因素可以忽略.
因此本文提出方法不影響模型的上線(xiàn)計(jì)算速度,能夠應(yīng)用于在線(xiàn)學(xué)習(xí)場(chǎng)景.
實(shí)驗(yàn)選用公開(kāi)數(shù)據(jù)集Yahoo! Learn to Rank Challenge[19]version 2.0 set1,該數(shù)據(jù)集總共包含29 921個(gè)查詢(xún)和其對(duì)應(yīng)的709 877個(gè)文檔,每一查詢(xún)文檔對(duì)有700維度的特征向量及其對(duì)應(yīng)的5分類(lèi)水平(0~4)的相關(guān)標(biāo)簽.其數(shù)據(jù)特征如表2所示:
Table 2 Data Characteristics of Yahoo Dataset表2 Yahoo數(shù)據(jù)集數(shù)據(jù)特征
仿照文獻(xiàn)[15,17]的方法,采用以下方法生成用戶(hù)點(diǎn)擊數(shù)據(jù).首先,隨機(jī)選取1%的訓(xùn)練數(shù)據(jù)和相關(guān)性標(biāo)簽訓(xùn)練Ranking SVM模型[20],得到對(duì)每一查詢(xún)q的初始的結(jié)果序列πq,將該模型稱(chēng)作初始排序模型,設(shè)置參數(shù)c=200.然后模擬用戶(hù)瀏覽檢索結(jié)果的過(guò)程,引入?yún)?shù)控制偏差和噪聲,計(jì)算點(diǎn)擊概率并生成點(diǎn)擊數(shù)據(jù),步驟如下:假設(shè)用戶(hù)在僅當(dāng)文檔被觀察到并且與查詢(xún)相關(guān)時(shí)點(diǎn)擊該文檔.按照式(20)通過(guò)文獻(xiàn)[9]基于眼動(dòng)追蹤實(shí)驗(yàn)估計(jì)的展示偏差ρ計(jì)算觀察傾向概率.
(20)
其中,η∈[0,+∞]是控制展示偏差程度的超參數(shù),本文設(shè)置η的默認(rèn)值為1.仿照文獻(xiàn)[21]按照式(21)的方法計(jì)算文檔相關(guān)概率.
(21)
其中,y為文檔的相關(guān)標(biāo)簽,ymax是數(shù)據(jù)集中相關(guān)標(biāo)簽的最大值,參數(shù)ε引入噪聲故而不相關(guān)文檔(yd=0)有一定概率被點(diǎn)擊.實(shí)驗(yàn)設(shè)置ε=0.1.本文選用數(shù)據(jù)集的標(biāo)簽是5分類(lèi),因此ymax=4.對(duì)于每一查詢(xún),按照Ranking SVM模型輸出的得分對(duì)文檔進(jìn)行排序,設(shè)置截止文檔個(gè)數(shù)為10.
對(duì)偶學(xué)習(xí)方法的實(shí)現(xiàn)仿照論文設(shè)置學(xué)習(xí)率為0.05,批量大小(batch size)設(shè)置為256,網(wǎng)絡(luò)迭代13 000次后結(jié)束訓(xùn)練.本文方法中傾向模型的迭代次數(shù)設(shè)置為3 000,學(xué)習(xí)率為0.05,批量大小設(shè)為256,對(duì)偶去偏網(wǎng)絡(luò)迭代10 000次結(jié)束.不同比例的查詢(xún)數(shù)據(jù)實(shí)驗(yàn)設(shè)置參數(shù)值如表3所示:
Table 3 Parameter Settings of the Pre-trained Ranking Model表3 預(yù)訓(xùn)練排序模型參數(shù)設(shè)置
4.1.1 可行性驗(yàn)證
為驗(yàn)證本文提出方法的可行性,對(duì)上述Yahoo數(shù)據(jù)集進(jìn)行劃分和構(gòu)造.將訓(xùn)練集分成2部分:一部分通過(guò)隨機(jī)抽取少量數(shù)據(jù)作為排序模型預(yù)訓(xùn)練的集合;另一部分查詢(xún)-文檔對(duì)通過(guò)模擬用戶(hù)行為生成用戶(hù)點(diǎn)擊并用于無(wú)偏排序模型的訓(xùn)練,2集合的劃分比例為2∶8.實(shí)驗(yàn)選用的驗(yàn)證集和測(cè)試集與Yahoo原始數(shù)據(jù)集相同.
由于相關(guān)標(biāo)簽有5個(gè)等級(jí),因此選用多分類(lèi)等級(jí)評(píng)估指標(biāo)NDCG(normalized discounted cumulative gain)和ERR(expected reciprocal rank)展示其在第1,3,5,10位置上的結(jié)果,實(shí)驗(yàn)結(jié)果如表4所示.另外選用較常用的AUC(area under curve)和MAP(mean average precision)指標(biāo)進(jìn)行評(píng)估.表4中數(shù)據(jù)顯示本文提出方法在各項(xiàng)指標(biāo)上均優(yōu)于對(duì)比方法,說(shuō)明該方法能夠有效提升現(xiàn)有方法的表現(xiàn).
Table 4 Experimental Results on the Yahoo Dataset表4 在Yahoo數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
4.1.2 偏差程度影響
表4結(jié)果表明點(diǎn)擊數(shù)據(jù)偏差一定時(shí),本文提出方法優(yōu)于基準(zhǔn)方法.然而真實(shí)情況下用戶(hù)行為不斷變化.選用不同的η值模擬不同程度的點(diǎn)擊偏差,η值越大代表生成點(diǎn)擊數(shù)據(jù)的偏差越嚴(yán)重,比較對(duì)偶學(xué)習(xí)方法和本文方法訓(xùn)練結(jié)果如圖4所示.圖中展示的本文方法是隨機(jī)抽取20%查詢(xún)訓(xùn)練排序模型并進(jìn)行相關(guān)修正的結(jié)果,令η值分別為0.5,1.0,1.5,2.0并繪制NDCG和ERR在第1,3,5,10位置的結(jié)果.
Fig. 4 Results of different degrees of bias圖4 不同偏差程度結(jié)果
圖4中可以看到,在不同η值模擬的用戶(hù)點(diǎn)擊偏差場(chǎng)景下,本文提出方法效果均優(yōu)于對(duì)偶學(xué)習(xí)方法.因此在不同程度的用戶(hù)點(diǎn)擊偏差場(chǎng)景下,本文方案能夠有效去除偏差.
4.1.3 抗噪性能分析
為進(jìn)一步驗(yàn)證方法的魯棒性,在不同噪聲場(chǎng)景下對(duì)比分析本文方法的性能,如圖5所示.通過(guò)控制ε值的大小來(lái)模擬不同程度的噪聲,其中ε值越大代表噪聲程度越大.ε=0.3時(shí)表明用戶(hù)有59.8%的概率點(diǎn)擊不相關(guān)的文檔.圖5中結(jié)果說(shuō)明在不同噪聲程度下本文方法均有優(yōu)越的表現(xiàn).
Fig. 5 Results of different degrees of noise圖5 不同噪聲程度結(jié)果
為驗(yàn)證真實(shí)用戶(hù)點(diǎn)擊數(shù)據(jù)場(chǎng)景下本文提出方法的有效性,選用Tiangong-ULTR[17,22]數(shù)據(jù)集進(jìn)行實(shí)驗(yàn).該訓(xùn)練集包含3 449個(gè)查詢(xún)、333 813個(gè)文檔及其對(duì)應(yīng)的真實(shí)用戶(hù)點(diǎn)擊數(shù)據(jù);測(cè)試集包含100個(gè)查詢(xún)和10 000個(gè)文檔.按照2∶8對(duì)測(cè)試集進(jìn)行劃分,其中20%含有相關(guān)標(biāo)簽的數(shù)據(jù)作為排序模型預(yù)訓(xùn)練的數(shù)據(jù),另外的數(shù)據(jù)用于模型評(píng)估與比較.
與現(xiàn)有點(diǎn)擊模型方法級(jí)聯(lián)模型CM、用戶(hù)瀏覽模型UBM、位置模型PBM和對(duì)偶學(xué)習(xí)方法進(jìn)行比較,結(jié)果如圖6所示.可以看到,圖6中展示的各指標(biāo)表明本文方法均優(yōu)于基準(zhǔn)方法,證明了真實(shí)點(diǎn)擊數(shù)據(jù)場(chǎng)景下該方案具有優(yōu)異的性能表現(xiàn).
Fig. 6 Results of the real click experiment圖6 真實(shí)點(diǎn)擊實(shí)驗(yàn)結(jié)果
針對(duì)對(duì)偶學(xué)習(xí)方法存在的問(wèn)題,本文提出一種新的通用無(wú)偏排序?qū)W習(xí)方法.利用現(xiàn)有小規(guī)模標(biāo)注數(shù)據(jù)訓(xùn)練排序模型,對(duì)候選文檔進(jìn)行較精準(zhǔn)的相關(guān)性判定,并對(duì)對(duì)偶去偏過(guò)程進(jìn)行相關(guān)修正.通過(guò)預(yù)先訓(xùn)練的排序模型參數(shù)賦值操作避免損失函數(shù)非凸造成的次優(yōu)解.該方法將無(wú)偏排序問(wèn)題轉(zhuǎn)化為在小規(guī)模標(biāo)注數(shù)據(jù)上的排序?qū)W習(xí)問(wèn)題,使得以往的排序模型能夠應(yīng)用于大規(guī)模點(diǎn)擊數(shù)據(jù).在模擬和真實(shí)用戶(hù)點(diǎn)擊場(chǎng)景下測(cè)試結(jié)果表明:本文方法能夠有效提升現(xiàn)有方法表現(xiàn).
未來(lái)可以將本文提出方法應(yīng)用于大規(guī)模真實(shí)用戶(hù)點(diǎn)擊數(shù)據(jù)場(chǎng)景,并嘗試不同種類(lèi)的排序?qū)W習(xí)方法作為預(yù)訓(xùn)練模型以進(jìn)一步提升無(wú)偏排序模型的性能表現(xiàn).
作者貢獻(xiàn)聲明:王奕婷為論文主要完成人,負(fù)責(zé)實(shí)驗(yàn)設(shè)計(jì)與實(shí)施、文章撰寫(xiě);蘭艷艷對(duì)文稿提出針對(duì)性修改意見(jiàn),完善課題思路和實(shí)驗(yàn)設(shè)計(jì),負(fù)責(zé)文章審校;龐亮提供專(zhuān)業(yè)知識(shí)等方面幫助,負(fù)責(zé)文章實(shí)驗(yàn)部分的技術(shù)性指導(dǎo);郭嘉豐對(duì)文章的知識(shí)性?xún)?nèi)容作批評(píng)性審閱并提出意見(jiàn),提供工作支持;程學(xué)旗對(duì)所用方法缺陷提出改進(jìn)意見(jiàn).