Learning to Rank是采用機(jī)器學(xué)習(xí)算法,通過訓(xùn)練模型來解決排序問題,在Information Retrieval,Natural Language Processing,Data Mining等領(lǐng)域有著很多應(yīng)用。
1. 排序問題
如圖 Fig.1 所示,在信息檢索中,給定一個(gè)query,搜索引擎會(huì)召回一系列相關(guān)的Documents(通過term匹配,keyword匹配,或者semantic匹配的方法),然后便需要對(duì)這些召回的Documents進(jìn)行排序,最后將Top N的Documents輸出。而排序問題就是使用一個(gè)模型 f(q,d)來對(duì)該query下的documents進(jìn)行排序,這個(gè)模型可以是人工設(shè)定一些參數(shù)的模型,也可以是用機(jī)器學(xué)習(xí)算法自動(dòng)訓(xùn)練出來的模型。現(xiàn)在第二種方法越來越流行,尤其在Web Search領(lǐng)域,因?yàn)樵赪eb Search 中,有很多信息可以用來確定query-doc pair的相關(guān)性,而另一方面,由于大量的搜索日志的存在,可以將用戶的點(diǎn)擊行為日志作為training data,使得通過機(jī)器學(xué)習(xí)自動(dòng)得到排序模型成為可能。
需要注意的是,排序問題最關(guān)注的是各個(gè)Documents之間的相對(duì)順序關(guān)系,而不是各個(gè)Documents的預(yù)測分最準(zhǔn)確。
Learning to Rank是監(jiān)督學(xué)習(xí)方法,所以會(huì)分為training階段和testing階段,如圖 Fig.2 所示。