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