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