• 沒有找到結果。

排序學習(L EARNING TO R ANK )

2. 文獻探討

2.1 排序學習(L EARNING TO R ANK )

12

(Uniform)機率。之後,則可根據使用者相關回饋(User Relevance Feedback),提 供 R 資訊,便可重新估算對數相似度並給予排序。這是初期納入使用者提供之資 訊所進行之監督式學習。

資訊檢索問題視為一種分類問題(Classification Problem)時,就可以很容易的 利用機器學習進行訓練。在 1980 至 1990 年代間,[Drucker et al. 1999; Joachims 1998] 將機器學習方法之一的支援向量機(Support Vector Machine, SVM),應用於 文件分類(Text Categorization)。將每一個訓練語料中之文件擷取若干特徵,並給 予文件正確標籤(Labels)。對已有文件標籤之訓練語料進行訓練,可得到一個分 類模型。需被分類之文件,只要透過此分類模型,即可以被指定至某一類別。這 些被分類文件雖說並沒有被用於資訊檢索,但是,相關文件分類方法與概念不斷 被延伸與改進。在 2001 年[Berger 2001]說明使用訓練語料的訓練查詢與文件配 對,並對訓練查詢與文件對給予正確相關或非相關標籤。對給予標籤之訓練語料 進行訓練,得到分類模型。在 2004 年,Ramesh Nallapati 在 SIGIR,正式介紹使 用訓練查詢與文件配對,透用最大熵值(Maximum Entropy)、支援向量機之鑑別 式模型(Discriminative Models)應用於資訊檢索訓練上[Nallapati 2004]。而在 2005 年,NIPS(Neural Information Processing Systems)特別針對排序學習應用於資訊檢 索,舉辦了研討會。2007 年 SIGIR 也特別地另外舉辦排序學習研討會,2007 年 及 2008 年,SIGIR 已將排序學習正式獨立為一個議程,目的在討論當前排序學 習之相關議題。由此可見,排序學習在資訊檢索上的議題受到相當大的重視。

排序學習為一種監督式學習,特別是在向量空間上進行學習[Liu 2008]。近 年來排序學習在資訊檢索的應用,大致上可以分為三個方向: 逐點式訓練 (Point-wise Training)、成對式訓練(Pair-wise Training)、序列式訓練(List-wise Training)。圖 2.1 展示了這三種訓練方式在資訊檢索研究之演進。以下將分別介 紹這三種訓練方法之概念。

2000

Ranking SVM [Joachims 2002]

2004

Discriminative Model [Nallapati 2004]

2006 2003

Rank Boost [Freund et al. 2003]

2007

MCRank [Li 2007]

ListNet [Cao et al. 2007 ]

2005

RankNet [Burges 2005]

AdaRank [Xu et al. 2007]

SVM-MAP [Yue et al. 2007]

List-wise training Point-wise training Pair-wise training

2008

Original Regression [Herbrich 2000]

2002

Lambda Rank [Burges et al. 2006]

SoftRank [Taylor et al. 2008]

PermuRank [Xu et al. 2008]

IRSVM [Cao et al. 2006]

圖 2.1、逐點式訓練、成對式訓練及序列式訓練在資訊檢索議題下之演進

2.1.1 逐點式訓練(Point-wise Training)

逐點式訓練是將排序的問題轉換成求取迴歸線(Regression)或者看做是一種分類 (Classification)的問題。在 2004 年,Nallapati 發表了將鑑別式模型應用在資訊檢 索上[Nallapati 2004],就是一種逐點式訓練。Nallapati 闡述資訊檢索的議題為二 元分類問題;亦即,有「相關」及「不相關」兩個類別。他將一個訓練查詢與一 個文件配對為一組例子(Instance),若是此查詢與文件為相關,則應分類至相關類 別(使用+1 做為標籤),若為不相關,則應分類至不相關類別(使用-1 做為標籤)。

訓練語料中的訓練查詢對應至所有的文件,皆可以計算出各種特徵,而 Nallapati 總共定義了 6 個特徵。一個訓練查詢與一個文件可以用一組向量來表示,而此向 量即是由 6 個特徵所組成。而每一個向量,都可以使用訓練語料中已知的對應關 係來各自標記。接著,他利用支援向量機,對所有訓練語料所在之向量空間做訓 練,產生分類模型。當測試資料須要分類時,即可透過分類模型進行分類。最後,

將分類之結果進行排序,分類為相關之文件,其排序應在不相關之文件之前。除

14

了 Nallapati 提出的方法之外,2007 年 Li 發表在 NIPS[Li 2007],提出了不只分為 兩類的逐點式訓練法,他將訓練語料分為 5 種相關程度,並且使用 Gradient Gradient Boost

訓練語料

測試語料 Ranking

Function Boosting 進行訓練。得到訓練模型之後,測試查詢與文件組成之向量可透過此模 型進行分類,再經過排序系統,對分類結果進行排序(相關文件之排名應在不相 關文件之前),得到排序結果即為檢索結果。

2.1.2 成對式訓練(Pair-wise Training)

成對式訓練可視為一種分類、迴歸或是有序性迴歸(Ordinal Regression)的問題。

Salton 中提出,當給定一查詢,其對應的文件關係,應為多層次的相關性[Salton 1968];亦即,應不只有相關、不相關兩種類別,而是應有高度相關、較相關、

較不相關、低度相關等區別。因此,他首先開始發展出了如何去訓練有層級性相

關度的排序。成對式的機器學習訓練早在 1995 年就已被提出[Caruana 1995],當 時以醫療診斷的資料庫做實驗,可得到相當不錯的成效。在 2000 年[Herbrich et al.

2000]提出有序性迴歸之概念,2002 年,Joachims 運用有序性迴歸提出了 Ranking SVM [Joachims 2002],並將有序性迴歸首度應用於資訊檢索上。成對式訓練主旨 是針對某一個查詢,考慮兩兩成對的文件之關係;亦即,對於查詢 q ,同時考慮

Ranking SVM Rank Boost

RankNet

Ranking Function

16

訓練語料中,一個訓練查詢對應之兩兩文件對根據訓練語料分別給予的標籤,重 新標籤。若在訓練查詢 q 中,d 排序在i

d j

之前,則didj標示為 1+ ,反之則標 示為 1− 。標記完之後查詢及所有文件對,可以透過 Ranking SVM 進行訓練,得 到一個訓練模型。最後,測試語料經由此訓練模型可得到標籤值,可作為排序依 據,最後排序結果即可視為檢索結果。在資訊檢索排序學習的研究領域中,目前 著名的成對式訓練方法及分類器除了 Ranking SVM 外,還有 RankBoost [Freund et al. 2003]及 RankNet [Burges 2005]等。

2.1.3 序列式訓練(List-wise Training)

序列式訓練是最近幾年才被提出的方法,在 2007 年的 SIGIR 有兩篇論文同時被 發表:一篇由 Yue 等人提出的 SVM-MAP [Yue et al. 2007],為 Ranking SVM 的 延伸方法,直接針對平均精確率作檢索模型最佳化;另一篇是由 Xu 等人提出的 AdaRank [Xu et al. 2007],為 RankBoost 的延伸,讓檢索模型可對平均精確率 (Mean Average Precision, MAP) 及 均 化 遞 減 累 積 效 益 (Normalized Discount Cumulative Gain, NDCG)作最佳化。在 2007 年 ICML 會議上,Cao 等人也將 RankNet 延伸到 List-wise Training,為著名的 ListNet [Cao et al. 2007]。成對式訓 練與序列式訓練的最小錯誤函數都是以最小排序文件錯誤做為估算,當每一序列 只含兩個文件時,序列式訓練即退化為成對式訓練,故成對式訓練可視為序列式 訓練的一個特例。另一方面,一個序列亦可拆成有限個文件對組(Pairs),故成對 式訓練基本上已能擷取到大部份的排序資訊,因此也可說明為何序列式訓練在資 訊檢索實際上相較於成對式訓練在效能增進上沒有辦法獲得很大的躍進。