李玉軒,洪學(xué)海,汪 洋,唐正正,2,班 艷
1.中國科學(xué)院 計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京100190
2.中國科學(xué)院大學(xué),北京100049
3.中國科學(xué)院 計(jì)算技術(shù)研究所,北京100190
隨著信息量級(jí)的增長,如何獲取更符合檢索目的的高質(zhì)量信息,已成為信息檢索(information retrieval,IR)領(lǐng)域中的重要課題。排序?qū)W習(xí)(learning to rank,LtR)則用于在搜索過程中,對(duì)召回的候選文檔列表進(jìn)行精確排序。由于其效果顯著,排序?qū)W習(xí)方法已逐漸應(yīng)用到實(shí)際的搜索場(chǎng)景當(dāng)中。其任務(wù)是對(duì)于給定的查詢,對(duì)一系列文檔進(jìn)行相關(guān)度打分,進(jìn)而按分?jǐn)?shù)高低給出排序后的列表,這意味著相關(guān)度越高,文檔的排名應(yīng)越靠前。不同于其他的分類和回歸問題,排序?qū)W習(xí)并不關(guān)注文檔的具體評(píng)分,而更加關(guān)注個(gè)體之間的相對(duì)順序。
排序?qū)W習(xí)算法通常以查詢信息和文檔的向量化特征作為輸入,通過監(jiān)督學(xué)習(xí)的方法,最優(yōu)化目標(biāo)函數(shù),得到將特征向量映射到實(shí)值的評(píng)分函數(shù),并以此作為排序依據(jù)。按輸入或按損失函數(shù)的不同形式可以將排序?qū)W習(xí)分為單文檔法(pointwise)、文檔對(duì)法(pairwise)和文檔列表法(listwise)。新提出的序列文檔法、分組評(píng)分法(groupwise scoring function,GSF)等都屬于這三種方法的變種。
現(xiàn)存大部分的排序?qū)W習(xí)方法雖然有效,但往往局限于單變量的評(píng)分函數(shù),即列表中文檔的相關(guān)性計(jì)算相互獨(dú)立,缺乏考慮文檔之間的相互影響。而用戶在與檢索結(jié)果的交互過程中,會(huì)表現(xiàn)出強(qiáng)的對(duì)比選擇傾向。相關(guān)研究工作已證明通過對(duì)比文檔得出的偏好判斷比直接判斷更有效,當(dāng)用戶行為被一種相對(duì)的方式建模時(shí),模型有更好的預(yù)測(cè)能力。因此,列表中文檔的相關(guān)性排序位置除取決于本身因素之外,還受其上下文特征的影響。Ai等人基于上述論點(diǎn),認(rèn)為文檔的相關(guān)性得分通過與列表中其他項(xiàng)在特征級(jí)別上聯(lián)合計(jì)算,提出了多元變量的相關(guān)度評(píng)分模型GSF,即將文檔進(jìn)行分組,組內(nèi)文檔的特征向量共同作用,并利用深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)自動(dòng)挖掘跨文檔信息。但是不足之處在于當(dāng)分組較大時(shí),模型復(fù)雜度和計(jì)算量大大增加,導(dǎo)致該方法在對(duì)于時(shí)效性要求較高的搜索推薦場(chǎng)景中缺乏吸引力。其次,GSF的分組操作對(duì)于組內(nèi)的每個(gè)文檔同等對(duì)待,忽略了文檔間相互影響的差異性。舉例來講,用戶在對(duì)比返回結(jié)果時(shí),更多的是對(duì)同類型文檔的擇優(yōu),而差異較大但又同時(shí)與查詢信息相關(guān)的文檔間交叉影響較小。換句話說,不同文檔對(duì)單個(gè)樣本的相關(guān)度評(píng)價(jià)影響是不同的?;谶@樣的推斷假設(shè),同時(shí)也啟發(fā)于推薦領(lǐng)域的深度興趣網(wǎng)絡(luò),本文在GSF 中引入激活單元對(duì)多元變量進(jìn)行加權(quán),并用神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)權(quán)重,文中表示為W-GSF(weighted-GSF)。通過在公共基準(zhǔn)的排序?qū)W習(xí)數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn),證明該方法相對(duì)于基線模型有更好的效果。同時(shí),對(duì)于達(dá)到同樣水準(zhǔn)的排序?qū)W習(xí)方法,本文模型在計(jì)算代價(jià)上優(yōu)勢(shì)明顯。
排序?qū)W習(xí)方法用于推斷給定列表的排名順序,包含評(píng)分和排序兩個(gè)過程,其目標(biāo)是構(gòu)造一個(gè)評(píng)分函數(shù),通過該函數(shù)可以歸納出文檔列表的排序。該領(lǐng)域內(nèi)的大部分研究可以從兩方面進(jìn)行分類:評(píng)分函數(shù)和損失函數(shù)的構(gòu)造。不同的評(píng)分函數(shù)即不同的模型結(jié)構(gòu),包括線性模型、梯度提升樹、支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)等;損失函數(shù)的構(gòu)造針對(duì)定義問題的形式和解決問題的思路,例如單文檔法、文檔對(duì)法和文檔列表法。
單文檔方法將單篇文檔的特征向量映射為得分;文檔對(duì)法則關(guān)注在給定兩個(gè)文檔時(shí)判斷相對(duì)順序;文檔列表法則將單次查詢對(duì)應(yīng)的整個(gè)文檔列表作為整體輸入來訓(xùn)練,可以直接優(yōu)化核心排序指標(biāo),如NDCG(normalized discounted cumulative gain)等。近幾年,得益于深度學(xué)習(xí)的長足發(fā)展,深度排序模型層出不窮。許多研究已經(jīng)表明,單文檔的方法缺乏考慮文檔之間的相互關(guān)系,對(duì)于相關(guān)性評(píng)價(jià)的建模不夠完善。文檔對(duì)方法以LambdaMART為代表,巧妙地轉(zhuǎn)化文檔位置順序關(guān)系為概率模型,使之可以直接利用機(jī)器學(xué)習(xí)模型進(jìn)行學(xué)習(xí)。文檔列表法對(duì)于相關(guān)性建模更加全面,但是往往計(jì)算復(fù)雜度高,且具有完整排序信息的數(shù)據(jù)較難獲取,實(shí)際應(yīng)用中落地場(chǎng)景較少。
排序?qū)W習(xí)領(lǐng)域最近提出的多元變量評(píng)分模型GSF是一種通過將文檔進(jìn)行分組,學(xué)習(xí)交叉文檔關(guān)系的深度排序模型,不同于文檔對(duì)法和文檔列表法專注于損失函數(shù)的構(gòu)造,GSF是一種對(duì)模型結(jié)構(gòu)提出改進(jìn)的新方法。
圖1 給出了GSF 的模型示意圖。示例樣本為含有三個(gè)文檔的列表,分組大小為2,分組策略給出了文檔列表所有可能的二元組。作為輸入,分組內(nèi)的文檔特征向量會(huì)做拼接操作成為單個(gè)向量,每個(gè)分組產(chǎn)生的向量分別輸入多層前饋神經(jīng)網(wǎng)絡(luò),前向計(jì)算后輸出對(duì)應(yīng)的文檔評(píng)分。其過程相對(duì)于傳統(tǒng)的單元變量評(píng)分函數(shù),簡而言之就是將(·)從單文檔映射到單實(shí)數(shù),改進(jìn)為多文檔映射到多實(shí)數(shù)。由于一個(gè)文檔會(huì)出現(xiàn)在多個(gè)分組之中,故在經(jīng)過(·)輸出各分組評(píng)分之后,需要將多次評(píng)分結(jié)果累和,作為最終輸出的相關(guān)度評(píng)分。分組策略保證公平性,各個(gè)文檔出現(xiàn)次數(shù)相同,故不會(huì)影響最終評(píng)價(jià)的相對(duì)順序。
圖1 基本的GSF模型結(jié)構(gòu)(以只含有三個(gè)文檔的列表為例)Fig. 1 Structure of basic GSF model,with a sample which only has three documents
深度興趣網(wǎng)絡(luò)(deep interest network,DIN)用于解決推薦系統(tǒng)領(lǐng)域的點(diǎn)擊率預(yù)估問題。傳統(tǒng)點(diǎn)擊率預(yù)估模型以Embedding+DNN結(jié)構(gòu)為基礎(chǔ),對(duì)于用戶的歷史行為數(shù)據(jù)不加區(qū)分地向量化,這導(dǎo)致在判斷不同的候選商品時(shí),用戶向量的表示相同,限制了模型的表達(dá)能力。
為了增加模型的表達(dá)能力,DIN認(rèn)為歷史的行為序列中不同商品對(duì)于判斷候選商品的點(diǎn)擊率影響存在差異,故在傳統(tǒng)點(diǎn)擊率預(yù)估模型的基礎(chǔ)上,加入了激活單元,可以根據(jù)候選商品對(duì)歷史興趣中的商品賦予不同權(quán)重,使得模型在對(duì)用戶向量化表達(dá)的過程中,能根據(jù)候選商品的變化自適應(yīng)地調(diào)整。這實(shí)際上是一種與注意力機(jī)制相似的思想。排序?qū)W習(xí)的很多方法已經(jīng)應(yīng)用到了各種推薦場(chǎng)景中,本文嘗試將此推薦模型的思想用于改進(jìn)排序?qū)W習(xí)模型。
本章將對(duì)排序?qū)W習(xí)問題進(jìn)行公式化定義,與領(lǐng)域內(nèi)常用的表示形式保持一致性。排序?qū)W習(xí)中,訓(xùn)練集可以表示為={,}∈X×R,其中是一個(gè)由個(gè)元素x,1 ≤≤組成的向量,為含有個(gè)實(shí)數(shù)的標(biāo)簽向量,其元素y代表對(duì)應(yīng)位置的x的真實(shí)相關(guān)度,為特征取值空間。在主流的數(shù)據(jù)集上以及實(shí)際的場(chǎng)景下,x通常表示一條查詢信息和對(duì)應(yīng)單個(gè)文檔的組合特征向量,即數(shù)據(jù)集的單條樣本包含了一條查詢信息及一個(gè)帶相關(guān)度標(biāo)簽的文檔列表。
排序?qū)W習(xí)的主要目標(biāo)是利用這樣的數(shù)據(jù)集,學(xué)習(xí)一個(gè)評(píng)分函數(shù),該評(píng)分函數(shù)可以將任意的x映射到實(shí)值,并且可以在訓(xùn)練集上最小化經(jīng)驗(yàn)性的損失函數(shù)。即找到:X→R,最小化:
其中,? 是待定義的損失函數(shù)。
上述框架為排序?qū)W習(xí)方法的通用形式,各種排序?qū)W習(xí)算法差別主要在于評(píng)分函數(shù)的構(gòu)造和損失函數(shù)的定義。之前的很多研究中使用了不同形式的損失函數(shù),但現(xiàn)存大部分的算法在評(píng)價(jià)相關(guān)度時(shí)局限于單元變量的評(píng)分函數(shù):→R,即()的各個(gè)維度是對(duì)文檔x獨(dú)立計(jì)算得到的。最近提出的分組文檔法將文檔列表進(jìn)行分組,并對(duì)分組內(nèi)的文檔聯(lián)合評(píng)分,即:X→R,其中為分組大小,該方法隸屬多元評(píng)分函數(shù)的范疇。本文的評(píng)分函數(shù)以GSF為基礎(chǔ),同時(shí)在訓(xùn)練時(shí)會(huì)引入激活單元以調(diào)整各個(gè)不同文檔的權(quán)重,用于體現(xiàn)交叉影響的差異性,則最小化的目標(biāo)函數(shù)表示為:
實(shí)際的計(jì)算過程中,單個(gè)訓(xùn)練樣本的損失函數(shù)是先分組后求和計(jì)算。下一章中將詳細(xì)介紹如何利用模型來最小化該目標(biāo)函數(shù)。同時(shí)為了表述簡潔,后續(xù)章節(jié)將使用GSF-表示分組大小為的分組文檔法,W-GSF 則表示本文提出的引入了激活加權(quán)機(jī)制的分組文檔法。
模型以GSF結(jié)構(gòu)為基礎(chǔ),其改進(jìn)自文獻(xiàn)[17]的上下文列表文檔法,用分組的形式挖掘文檔之間的相互影響并用于協(xié)同評(píng)分。圖1 給出了GSF 的簡單示例,神經(jīng)網(wǎng)絡(luò)(·)將所有分組分別作為輸入,輸出對(duì)應(yīng)的初步評(píng)分,再按照相應(yīng)文檔進(jìn)行求和得到各自的最終得分。但如果在訓(xùn)練過程中,輸入樣本分組集合中的全部元素,即所有可能的分組情況,其時(shí)間復(fù)雜度會(huì)非常高。故考慮對(duì)分組集合作下采樣,沿用GSF 中的方法將隨機(jī)打散后,用固定大小的滑動(dòng)窗口取其所有連續(xù)子序列。該采樣方法保證了每個(gè)文檔出現(xiàn)在個(gè)分組中,降低了時(shí)間復(fù)雜度,且實(shí)踐證明其效果近似輸入整個(gè)分組集合。
文檔的相關(guān)性應(yīng)當(dāng)取決于其本身的特征和列表內(nèi)的樣本分布情況。舉個(gè)簡單的例子,當(dāng)用戶在搜索關(guān)鍵字“卷積神經(jīng)網(wǎng)絡(luò)”時(shí),如果返回的結(jié)果都是較近的,則用戶關(guān)注點(diǎn)會(huì)集中于最新的研究成果;而如果返回結(jié)果都是經(jīng)典的文獻(xiàn),則被引量或作者知名度等可能會(huì)成為影響用戶選擇的側(cè)重點(diǎn)。采用分組文檔的方法時(shí),應(yīng)當(dāng)考慮到其他文檔對(duì)于某個(gè)文檔評(píng)分的影響,且不同文檔帶來的影響也是不同的??紤]在上述的搜索示例中,如果返回結(jié)果是兩種情況的混合,則用戶可能會(huì)對(duì)兩種情況同時(shí)判斷:在較新的文檔選擇創(chuàng)新性高的,在經(jīng)典文檔中選擇更權(quán)威的。這就涉及到在評(píng)分函數(shù)建模時(shí),對(duì)文檔重要性的挖掘。
受啟發(fā)于深度興趣網(wǎng)絡(luò),本文引入激活單元來對(duì)GSF 作出上述改進(jìn)。如圖2(a),激活單元以一個(gè)文檔對(duì)的特征向量為原始輸入,分別為主要文檔和次要文檔,其輸出為單個(gè)實(shí)值,用于在評(píng)價(jià)文檔的相關(guān)性時(shí)對(duì)次要文檔進(jìn)行加權(quán)。除了兩個(gè)文檔的特征向量,輸入還包含了兩個(gè)特征向量的差值,三個(gè)部分拼接為整體輸入后續(xù)的全連接神經(jīng)網(wǎng)絡(luò)。由于實(shí)際情況中特征數(shù)據(jù)值的分布并不固定,如果采用如PReLU的激活函數(shù)時(shí),由于分裂點(diǎn)固定在了零點(diǎn),會(huì)增加擬合樣本的難度。為了解決該問題,這里的激活函數(shù)沿用了Dice:
這里是待激活的值,(·)可以看作(·)的控制函數(shù),即用來決定選擇()=和()=兩個(gè)不同頻道的函數(shù)。[]和Var[]是每個(gè)小批量輸入數(shù)據(jù)的均值和方差。是一個(gè)小的定值,在此設(shè)置為10。此時(shí),激活單元的激活過程可以表示為:
實(shí)際場(chǎng)景中文檔特征通常高維且稀疏,對(duì)比基于樹的排序?qū)W習(xí)方法,深度神經(jīng)網(wǎng)絡(luò)在稀疏高維的數(shù)據(jù)集上可以表現(xiàn)出更好的擬合效果,故本文采用神經(jīng)網(wǎng)絡(luò)作為主體結(jié)構(gòu)。排序?qū)W習(xí)的數(shù)據(jù)形式為一條查詢對(duì)應(yīng)一個(gè)文檔列表。作為基本模型的輸入,首先需要對(duì)文檔列表進(jìn)行分組,單條樣本的第個(gè)分組為:
其中,為分組的大小,即將組內(nèi)文檔的特征向量作拼接操作。如圖2所示,網(wǎng)絡(luò)的主體結(jié)構(gòu)為包含三個(gè)隱藏層的多層前饋神經(jīng)網(wǎng)絡(luò),原始輸入在進(jìn)入該神經(jīng)網(wǎng)絡(luò)之前,會(huì)通過激活單元對(duì)輸入向量進(jìn)行部分激活加權(quán),將其轉(zhuǎn)變?yōu)椋?/p>
圖2 W-GSF與激活單元的結(jié)構(gòu)Fig. 2 Structure of W-GSF and activation unit
其中,為次要文檔的激活值。每個(gè)隱藏層含有兩個(gè)待學(xué)習(xí)參數(shù)w和b,分別表示第層的權(quán)值矩陣和偏置向量,則第層網(wǎng)絡(luò)的輸出為:
其中,是非線性的激活函數(shù),這里使用的是整流線性單元ReLU:()=max(,0)?;诖?,主體結(jié)構(gòu)網(wǎng)絡(luò)的輸出可以表示為如下形式:
其中,w和b為輸出層的權(quán)值矩陣和偏置。輸出結(jié)果為維的向量,代表的是在當(dāng)前分組下文檔的相關(guān)度得分。
由于每個(gè)文檔會(huì)出現(xiàn)在多個(gè)分組之中,文檔最終的相關(guān)度得分來源于所有包含該文檔的分組對(duì)應(yīng)的輸出。不妨令Π()為樣本的所有大小為的分組組成的集合,π為其中一個(gè)元素,當(dāng)文檔x屬于π時(shí),該文檔得分有一部分來自于(π)。便于表示,首先定義一個(gè)符號(hào)函數(shù):則W-GSF對(duì)文檔x的輸出為:
在使用反向傳播方法訓(xùn)練前述網(wǎng)絡(luò)結(jié)構(gòu)前,需要定義損失函數(shù)。即定義式(1)中的(·)。在W-GSF的網(wǎng)絡(luò)框架下同樣可以使用多種損失函數(shù)。在實(shí)驗(yàn)中發(fā)現(xiàn)Softmax 交叉熵?fù)p失函數(shù)在該模型下會(huì)比較有效,其形式為:
其中,為樣本的真實(shí)標(biāo)簽,^ 為模型的輸出值。上式相當(dāng)于原始的標(biāo)簽值進(jìn)行了歸一化,可以將歸一化值看作文檔排名更高的概率,其中p為模型輸出的歸一化:
該操作的目的是去除標(biāo)簽的實(shí)際值大小帶來的偏差影響,在將文檔得分轉(zhuǎn)化為一個(gè)較小的值的同時(shí),保持相對(duì)排名順序不變。實(shí)驗(yàn)中使用小批量梯度下降法AdaGrad來優(yōu)化該損失函數(shù)。
實(shí)驗(yàn)中采用的數(shù)據(jù)集為微軟MSLR-Web30K以及它的隨機(jī)采樣版本MSLR-Web10K,分別含有30 000條和10 000條查詢。數(shù)據(jù)集由查詢和一系列的文檔特征向量組成,每一行代表一個(gè)查詢-文檔對(duì),并給出了相關(guān)度評(píng)價(jià)的標(biāo)簽。相關(guān)度從0(不相關(guān))到5(完全相關(guān))代表從低到高的相關(guān)程度,由微軟搜索引擎Bing的日志數(shù)據(jù)統(tǒng)計(jì)解析而出。在訓(xùn)練中丟棄了沒有相關(guān)文檔的查詢項(xiàng)。每一條查詢樣本為136 維的特征向量,包含了查詢信息、文檔特征以及交互特征,形式上既有離散的分類特征,也有連續(xù)的例如BM25等稠密特征,代表了研究領(lǐng)域內(nèi)常用的基本特征。該數(shù)據(jù)集被劃分成5 個(gè)子集{,,,,,按照不同的訓(xùn)練集、驗(yàn)證集和測(cè)試集劃分情況形成了5個(gè)不同的文件夾,其劃分占比為3:1:1。因此不同的文件夾數(shù)據(jù)相同只是分配的子集不同,不失一般性,在實(shí)驗(yàn)中使用的劃分為{(,,),(),()}。
在上述數(shù)據(jù)集上,實(shí)驗(yàn)對(duì)比了本文提出的模型和各種現(xiàn)有的排序?qū)W習(xí)方法,包括基于支持向量機(jī)、梯度提升樹和基于深度神經(jīng)網(wǎng)絡(luò)的多種方法。RankingSVM作為經(jīng)典方法參考,LambdaMART作為樹模型方法的對(duì)比,RankNet和GSF作為神經(jīng)網(wǎng)絡(luò)方法的參考基線,詳細(xì)信息如表1所列。
表1 基線排序?qū)W習(xí)方法Table 1 Baseline learning-to-rank models
實(shí)驗(yàn)中RankingSVM 目標(biāo)函數(shù)的正則化系數(shù)設(shè)置為20.0,并使用徑向基核函數(shù)。LambdaMART 基于LightGBM實(shí)現(xiàn),訓(xùn)練了500棵回歸樹,每棵樹的最多葉子節(jié)點(diǎn)為255,其他的參數(shù)設(shè)置與文獻(xiàn)[7]保持一致。該模型在很多排序?qū)W習(xí)公開數(shù)據(jù)集上都是表現(xiàn)最優(yōu)秀的算法之一,此處作為參考以比較不同類型的排序?qū)W習(xí)方法之間的差異。RankNet 和GSF 均基于神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)時(shí)利用了廣泛使用深度學(xué)習(xí)庫TensorFlow。RankNet是一個(gè)多層的前向全連接神經(jīng)網(wǎng)絡(luò),是文檔對(duì)方法的基本模型,在本文中該方法和GSF使用了相同的隱藏層參數(shù)設(shè)置,均為三層(64,32,16)全連接深度神經(jīng)網(wǎng)絡(luò),并在每層使用了批量歸一化,激活函數(shù)為整流線型單元。除了二者的輸入形式差異,使用的損失函數(shù)也有所不同:RankNet 使用了在排序?qū)W習(xí)領(lǐng)域的經(jīng)典邏輯斯蒂損失函數(shù),而GSF使用的是Softmax交叉熵。實(shí)驗(yàn)中這三種模型的超參在沿用原文設(shè)置的基礎(chǔ)上,進(jìn)行了優(yōu)化微調(diào)。
對(duì)于本文提出的W-GSF 模型,其主體結(jié)構(gòu)與GSF一致,額外增加了激活單元對(duì)文檔調(diào)整加權(quán)。激活單元含有一層尺寸為(16)的隱藏層,輸出單個(gè)實(shí)值權(quán)重。值得一提的是,激活過程為兩兩文檔的交互,因此其天然地適合分組大小為2 的情況,而對(duì)于大分組的GSF,簡單的依次激活加權(quán)會(huì)使得文檔之間的交叉影響變得混亂。另外由于本身GSF 方法中大尺寸的分組會(huì)使得訓(xùn)練復(fù)雜度較高,而加入激活單元后大分組帶來的計(jì)算代價(jià)增長倍率更高。故實(shí)驗(yàn)中W-GSF 僅關(guān)注兩兩文檔之間的交叉關(guān)系,使其加權(quán)操作簡潔合理且增加的計(jì)算量在可接受范圍內(nèi),并期望帶來排序指標(biāo)上的提升。W-GSF 在實(shí)驗(yàn)中小批量訓(xùn)練的批量大小設(shè)置為128,模型學(xué)習(xí)率為0.01。
實(shí)驗(yàn)在Web30K和Web10K兩個(gè)數(shù)據(jù)集上分別訓(xùn)練了上述五種模型。評(píng)價(jià)指標(biāo)使用了排序推薦場(chǎng)景中常用的指標(biāo)NDCG,即歸一化折損累計(jì)增益。該指標(biāo)的優(yōu)點(diǎn)在于可以對(duì)變長的排序列表給出有意義的評(píng)價(jià),同時(shí)可以保證當(dāng)高相關(guān)度的文檔排在整個(gè)列表中靠前的位置時(shí),排序列表的得分較高。
模型訓(xùn)練時(shí)使用小批量的梯度下降法來優(yōu)化損失函數(shù),由于每個(gè)查詢包含的文檔數(shù)量及相關(guān)度的分布并不一致,故在GSF 和W-GSF 中計(jì)算整體損失之前會(huì)對(duì)小批量樣本去偏,即對(duì)分組損失值按照其關(guān)聯(lián)的所有文檔相關(guān)度總和進(jìn)行加權(quán)。在MSLR 的兩個(gè)數(shù)據(jù)集上,不同的模型效果如表2所示。給出的指標(biāo)均為在對(duì)應(yīng)數(shù)據(jù)上的測(cè)試集結(jié)果,除LambdaMART 外,指標(biāo)由訓(xùn)練過程中在驗(yàn)證集上NDCG@5 指標(biāo)達(dá)到最高時(shí)的模型計(jì)算得出,數(shù)據(jù)展示的是10次實(shí)驗(yàn)的均值,置信區(qū)間為95%。
表2 給出了GSF 分別在分組大小為2 和64 時(shí)的模型效果,且實(shí)驗(yàn)中經(jīng)過調(diào)參優(yōu)化,相對(duì)于原文中報(bào)告的結(jié)果,一定程度提升了在MSLR數(shù)據(jù)集上的表現(xiàn)。從表中可以看出,本文模型指標(biāo)遠(yuǎn)超經(jīng)典算法RankingSVM 以及神經(jīng)網(wǎng)絡(luò)排序模型RankNet。WGSF 在Web30K 數(shù)據(jù)集上的實(shí)驗(yàn)表明,在NDCG@5處相對(duì)于該兩種模型分別提升了9.7個(gè)百分點(diǎn)和2.65個(gè)百分點(diǎn),在Web10K上該指標(biāo)的提升分別為7.79個(gè)百分點(diǎn)和1.76個(gè)百分點(diǎn)。
表2 MSLR數(shù)據(jù)集上模型的NDCG指標(biāo)對(duì)比Table 2 Comparison of models'test NDCG on MSLR dataset %
W-GSF 本質(zhì)是經(jīng)GSF-2 的模型結(jié)構(gòu)改進(jìn)而來,故在對(duì)比指標(biāo)時(shí)更關(guān)注其與GSF-2 的關(guān)系。從表中注意到相對(duì)于GSF-2 模型,增加了激活單元的WGSF在NDCG指標(biāo)上同樣全面提升,在Web10K數(shù)據(jù)集上,W-GSF 分別在NDCG@1,5 處提升了0.73 個(gè)百分點(diǎn)和0.39個(gè)百分點(diǎn),對(duì)于Web30K數(shù)據(jù)集則分別在NDCG@1,5 處提升了1.04 個(gè)百分點(diǎn)和1.08 個(gè)百分點(diǎn)。另外對(duì)比GSF-64可以看出,雖然W-GSF在最前端的排序結(jié)果稍差,但在NDCG@10 處表現(xiàn)更好,即在評(píng)價(jià)的頭部序列拉長時(shí)整體的排序效果占優(yōu)勢(shì)。而由于GSF-64 的高指標(biāo)表現(xiàn)計(jì)算代價(jià)很大,相對(duì)而言本文的模型在計(jì)算效率上更有優(yōu)勢(shì)。
除此之外可以發(fā)現(xiàn),LambdaMART 作為基于樹的方法在實(shí)驗(yàn)中表現(xiàn)較好,其主要原因是MSLR數(shù)據(jù)集大部分的特征為稠密連續(xù)特征,離散的稀疏類別特征較少,這也是公開排序?qū)W習(xí)數(shù)據(jù)集的普遍現(xiàn)象。而提升樹恰好擅長處理該類特征,相對(duì)的,神經(jīng)網(wǎng)絡(luò)模型可以更好地處理稀疏特征向量。這一結(jié)論由此前大量的相關(guān)工作給出,即使其基于神經(jīng)網(wǎng)絡(luò)的排序方法在MSLR數(shù)據(jù)集上的表現(xiàn)不如LambdaMART,但是在業(yè)務(wù)場(chǎng)景下,數(shù)據(jù)集往往遠(yuǎn)比MSLR大很多且特征維度更高,當(dāng)這種高維稀疏特征用于樹模型時(shí)會(huì)產(chǎn)生過擬合的情況,降低了模型的泛化能力,而神經(jīng)網(wǎng)絡(luò)模型由于通常會(huì)帶有正則化防止過擬合,故在最終指標(biāo)上的表現(xiàn)往往呈現(xiàn)相反的趨勢(shì)。
通過挖掘文檔之間的相互影響來提升排序指標(biāo)本身是一件是十分耗費(fèi)計(jì)算量的事情,當(dāng)在GSF 中試圖同時(shí)挖掘較多文檔的交叉關(guān)系時(shí),擴(kuò)大分組尺寸帶來的收益與增加的計(jì)算量不成正比,綜合性價(jià)比不高,尤其是在搜索這種對(duì)響應(yīng)時(shí)間要求較高的場(chǎng)景下。
為了對(duì)比模型之間的性價(jià)比,除了使用NDCG@10 作為效果提升的指標(biāo)外,將FLOPs 作為衡量WGSF、GSF-2 和GSF-64 的計(jì)算代價(jià)指標(biāo)。FLOPs 代表模型的理論浮點(diǎn)運(yùn)算量,其大小不僅和模型的輸入形式有關(guān),還和模型結(jié)構(gòu)有關(guān)。對(duì)比運(yùn)算量時(shí),不關(guān)心訓(xùn)練過程,而只關(guān)注對(duì)于同樣的一條樣本,不同模型經(jīng)過一次前向計(jì)算給出相關(guān)度評(píng)分所需要的浮點(diǎn)計(jì)算次數(shù),加法和乘法各算一次。對(duì)于全連接層,其FLOPs大小為:
=(2×-1)×(14)其中,和分別代表輸入輸出的維度,若考慮偏置則不需要減1。同時(shí)計(jì)算時(shí)忽略了激活函數(shù)的影響。
根據(jù)式(14),計(jì)算了如圖1 不同分組和圖2 所示的共三種模型的計(jì)算量FLOPs,并在表3 給出結(jié)果。計(jì)算條件為在同樣的一條由查詢和文檔列表組成的樣本下,不同模型運(yùn)行一次所消耗的浮點(diǎn)計(jì)算量,并假設(shè)該樣本含有100個(gè)文檔。以GSF-2作為基準(zhǔn)線,Δ NDCG@10為相對(duì)基準(zhǔn)線的提升百分比,Δ FLOPs為相對(duì)基準(zhǔn)線的倍率。
表3 W-GSF與GSF在MSLR-Web30K上的計(jì)算量對(duì)比Table 3 Comparison of calculational cost of W-GSF and GSF on MSLR-Web30K
從表3可以看出,GSF-64對(duì)于同樣的樣本,消耗的浮點(diǎn)計(jì)算量是GSF-2 的28 倍以上,而W-GSF 在排序指標(biāo)達(dá)到了相同水準(zhǔn)的情況下,相對(duì)基準(zhǔn)線只增加了約30%的計(jì)算量。總體而言,本文模型在改進(jìn)GSF-2時(shí),以增加少量的計(jì)算量帶來了可觀的效果提升,相對(duì)于GSF-64 性價(jià)比更高。該計(jì)算量上的優(yōu)勢(shì)使得其在眾多業(yè)務(wù)場(chǎng)景中有比大分組GSF更多的應(yīng)用空間。
本文將推薦領(lǐng)域里深度興趣網(wǎng)絡(luò)的思路遷移到排序?qū)W習(xí)中,結(jié)合GSF 分組文檔法的思想提出了帶有激活加權(quán)策略的W-GSF,通過學(xué)習(xí)不同文檔之間的差異性影響對(duì)交叉文檔關(guān)系有了更深層次的挖掘。在公開數(shù)據(jù)集的一系列實(shí)驗(yàn)證明了其在指標(biāo)上帶來的提升,同時(shí)相對(duì)原模型只增加了較少的計(jì)算量,相比大分組尺寸的GSF方法,本文模型更有性價(jià)比。但該方法仍然有不足之處,對(duì)于大分組的方法,激活加權(quán)的過程無法自然地推廣拓展,文檔之間的交叉影響差異性會(huì)使得這一過程變得混亂,單個(gè)文檔的最終激活值難以界定。一種可能的解決方法是將單個(gè)文檔與分組內(nèi)其他所有文檔交叉,最終權(quán)重為各激活權(quán)重之和,但這樣會(huì)帶來計(jì)算量上的大幅增加。另一種方法是將評(píng)分函數(shù)再改回單元變量的形式,只是在評(píng)價(jià)一個(gè)文檔的相關(guān)度評(píng)分時(shí),將同列表內(nèi)的其他文檔作加權(quán)求和后作為輔助特征幫助評(píng)分。除此之外,對(duì)于主體神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的縱向加深和橫向尺寸擴(kuò)展也是進(jìn)一步改進(jìn)該方法的可行路徑。將上述幾種思路作為未來的進(jìn)一步工作方向。