An Overview of Learning to Rank

An Overview of Learning to Rank An Overview of Learning to Rank

icst.pku.edu.cn
from icst.pku.edu.cn More from this publisher

机 器 学 习 及 排 序 学 习 基 础<br />

武 威<br />

微 软 亚 洲 研 究 院 自 然 语 言 计 算 组 副 研 究 员<br />

wuwei@micros<strong>of</strong>t.com<br />

2012 年 11 月


提 纲<br />

• 什 么 是 排 序 学 习 (<strong>Learning</strong> <strong>to</strong> <strong>Rank</strong>) (L2R)<br />

• 如 何 学 习 一 个 排 序<br />

• 排 序 学 习 的 两 条 线<br />

• 排 序 生 成<br />

• 排 序 整 合<br />

• 参 考 资 料


你 能 得 到 什 么<br />

• 为 什 么 要 “ 学 习 ” 排 序<br />

• 什 么 是 排 序 学 习<br />

• 排 序 学 习 的 基 本 流 程 是 什 么<br />

• 基 本 的 排 序 学 习 算 法


• 什 么 是 排 序 学 习<br />

• 如 何 学 习 一 个 排 序<br />

• 排 序 学 习 的 两 条 线<br />

• 排 序 生 成<br />

• 排 序 整 合<br />

• 参 考 资 料


无 处 不 在 的 排 序


其 他 例 子<br />

• 统 计 机 器 翻 译 (Machine Translation)<br />

• 图 片 搜 索 (Image Search)<br />

• 专 家 搜 索 (Expert Search)<br />

• 推 荐 系 统 (Recommender System)<br />

• ……


近 年 排 序 学 习 的 发 展 趋 势<br />

• 排 序 学 习 已 经 被 成 功 地 应 用 到 了 实 际 网 络 搜 索 中<br />

• Google<br />

• Bing<br />

• 百 度<br />

• 有 道<br />

• ……<br />

• 在 SIGIR,ICML,NIPS 等 信 息 检 索 、 机 器 学 习 的 国 际 会 议 上 有 超 过 100<br />

篇 的 文 章<br />

• 每 年 信 息 检 索 的 顶 级 会 议 SIGIR 上 有 两 个 session<br />

• Yahoo <strong>Learning</strong> <strong>to</strong> <strong>Rank</strong> Challenge<br />

• 排 序 学 习 的 标 准 数 据 集 LETOR<br />

• http://research.micros<strong>of</strong>t.com/en-us/um/beijing/projects/le<strong>to</strong>r/


机 器 学 习 基 础


机 器 学 习 的 定 义<br />

• A computer program is said <strong>to</strong> learn from experience E<br />

with respect <strong>to</strong> some class <strong>of</strong> tasks T and performance<br />

measure P, if its performance at tasks in T, as measured<br />

by P, improves with experience E<br />

---- by Tom Mitchell in Machine <strong>Learning</strong><br />

• 排 序 学 习<br />

• 任 务 : 对 一 组 文 档 进 行 排 序<br />

• 评 估 指 标 : 相 关 文 档 应 该 排 在 前 面<br />

• 经 验 : 人 工 标 注<br />

• 目 标 : 利 用 人 工 标 注 设 计 算 法 以 抓 住 隐 藏 在 数 据 中 的 规<br />

律 从 而 实 现 对 任 意 查 询 请 求 给 出 反 映 相 关 性 的 文 档 排 序


机 器 学 习 的 基 本 要 素<br />

训 练 数 据<br />

training<br />

data<br />

评 估<br />

evaluation<br />

机 器<br />

学 习<br />

特 征<br />

feature<br />

算 法<br />

algorithm<br />

模 型<br />

model


机 器 学 习 的 基 本 步 骤<br />

训 练 数 据 生 成<br />

特 征 抽 取 模 型 构 建 算 法 设 计 模 型 选 择 效 果 评 估<br />

{q, d, r} x qq {f x qq } T( x qq , r , f x qq ) f ∗ (x qq ) E(f ∗ , r)


机 器 学 习 分 类<br />

• 监 督 学 习 (Supervised <strong>Learning</strong>)<br />

• 标 注 数 据 模 型<br />

• 半 监 督 学 习 (Semi-supervised <strong>Learning</strong>)<br />

• 标 注 数 据 + 未 标 注 数 据 模 型<br />

• 无 监 督 学 习 (Unsupervised <strong>Learning</strong>)<br />

• 未 标 注 数 据 模 型


什 么 是 排 序 学 习


排 序 学 习 的 定 义<br />

• 广 义<br />

• 排 序 学 习 指 机 器 学 习 中 任 何 用 于 排 序 的 技 术<br />

• 狭 义<br />

• 排 序 学 习 指 在 排 序 生 成 (ranking creation) 和 排<br />

序 整 合 (ranking aggregation) 中 用 于 构 建 排 序<br />

模 型 的 机 器 学 习 方 法<br />

[ Hang Li, <strong>Learning</strong> <strong>to</strong> <strong>Rank</strong> for Information Retrieval and Natural Language Processing]


排 序 学 习<br />

D =<br />

文 档 库<br />

d 1 , d 2 , … … d N<br />

文 档<br />

列 表<br />

用 户 查 询<br />

q<br />

特 征 提 取<br />

x qd1 , x qd2 , … x qdN<br />

排 序 模 型 f(x qq )<br />

d q,1<br />

d q,2<br />

d q,3<br />

…<br />

d q,nq<br />

相<br />

关<br />

性<br />

从<br />

小<br />

到<br />


• 什 么 是 排 序 学 习<br />

• 如 何 学 习 一 个 排 序<br />

• 排 序 学 习 的 两 条 线<br />

• 排 序 生 成<br />

• 排 序 整 合<br />

• 参 考 资 料


• 什 么 是 排 序 学 习<br />

• 如 何 学 习 一 个 排 序<br />

• 排 序 学 习 的 两 条 线<br />

• 排 序 生 成<br />

• 排 序 整 合<br />

• 参 考 资 料


横 线<br />

• 排 序 生 成<br />

• 输 入 : 查 询 文 档 对 以 及 标 注 数 据<br />

• 输 出 : 一 个 排 序 模 型 , 可 以 为 新 查 询 排 列 文<br />

档<br />

• 排 序 整 合<br />

• 输 入 : 一 组 排 序 列 表 和 标 注 数 据<br />

• 输 出 : 一 个 排 序 模 型 , 可 以 整 合 不 同 的 排 序 列<br />


<strong>Learning</strong> <strong>to</strong> <strong>Rank</strong><br />

排 序 生 成


学 习 系 统<br />

排 序 系 统


排 序 整 合<br />

听 谁 的 <br />

<strong>Learning</strong> <strong>to</strong> <strong>Rank</strong>


排 序 整 合 ( 续 )<br />

π 1<br />

π 2<br />

排 序 整 合 系 统 F(π 1 , π 2 … π n )<br />

π n


纵 线<br />

• 训 练 数 据 怎 么 来 <br />

• 单 点 标 注 (pointwise)<br />

• 两 两 标 注 (pairwise)<br />

• 列 表 标 注 (listwise)<br />

• 模 型 如 何 学 习 <br />

• 监 督 学 习 (supervised learning)*<br />

• 无 监 督 学 习 (unsupervised learning)<br />

‣ 多 作 为 特 征 使 用<br />

• 半 监 督 学 习 (semi-supervised learning)<br />

• 如 何 评 估 学 习 效 果 <br />

• Mean Average Precision (MAP) *<br />

• Normalized Discount Cumulative Gain (NDCG)*<br />

• Mean Reciprocal <strong>Rank</strong> (MRR)<br />

• Winners Take All (WTA)<br />

• Kendall’s Tau<br />

• ……


• 什 么 是 排 序 学 习<br />

• 如 何 学 习 一 个 排 序<br />

• 排 序 学 习 的 两 条 线<br />

• 排 序 生 成<br />

• 排 序 整 合<br />

• 参 考 资 料


标 注 数 据 生 成 (Data Labeling)<br />

• 显 式 标 注<br />

• 对 每 一 个 查 询 , 人 工 检 查 文 档 的 相 关 性<br />

• 代 价 高 ( 钱 + 时 间 )<br />

• 噪 声 大<br />

• 隐 式 标 注<br />

• 从 用 户 点 击 记 录 (query log) 里 抽 取 数 据 标 注<br />

‣ 用 户 总 是 习 惯 于 从 上 到 下 浏 览 搜 索 结 果<br />

‣ 如 果 用 户 跳 过 了 排 在 前 面 的 文 档 而 点 击 浏 览 了 排 在 后 面 的 文<br />

档 , 那 么 排 在 后 面 的 文 档 就 比 排 在 前 面 的 文 档 更 相 关<br />

• 用 户 点 击 有 比 较 大 的 噪 声<br />

• 只 有 头 查 询 (head query) 才 存 在 用 户 点 击


人 工 标 注 (Human Labeling)<br />

• 训 练 + 评 估<br />

• 单 点 标 注<br />

• 为 每 个 查 询 文 档 对 打 上 绝 对 标 签<br />

• 二 元 标 注 : 相 关 v.s. 不 相 关 {1,0}<br />

• 五 级 标 注 : 完 美 (Perfect), 出 色 (Excellent), 好 (Good), 一 般 (Fair), 差 (Bad)<br />

‣ 一 般 + 差 = 不 相 关<br />

• 好 处 : 工 作 量 相 对 较 小 (O(n))<br />

• 坏 处 : 定 多 少 级 合 适 不 同 的 人 对 相 同 的 级 , 相 同 的 文 档 能 否 有 相 同<br />

的 理 解 ---> 噪 声 大 , 一 致 性 差<br />

• 两 两 标 注<br />

• 对 于 一 个 查 询 q, 文 档 d 1 是 否 比 文 档 d 2 更 相 关 q, d 1 ≻ q, d 2<br />

• 好 处 : 不 同 的 标 注 人 员 容 易 达 成 一 致<br />

• 坏 处 : 工 作 量 大 , (O(n 2 )), 最 好 (O(nnnnn))<br />

• 列 表 标 注<br />

• 给 定 一 个 查 询 , 为 所 有 文 档 给 出 标 准 排 序<br />

• 不 常 见


特 征 提 取 (Feature Extraction)<br />

• 如 何 表 示 一 对 查 询 文 档 <br />

• 查 询 文 档 中 共 同 出 现 的 词 的 个 数<br />

• 点 击 次 数<br />

• BM25<br />

‣ [S.E.Robertson & S.Walker Some simple effecitve approximations <strong>to</strong> the 2-<br />

poisson model for probabilistic weighted retrieval]<br />

• Page<strong>Rank</strong><br />

‣ [L.Page et al., The pagerank citation ranking: Brining order <strong>to</strong> the web]<br />

• 编 辑 距 离 (edit distance)<br />

‣ [Tao Tao and Chengxiang Zhai. <strong>An</strong> exploration <strong>of</strong> proximity measures in<br />

information retrieval]<br />

• 网 页 质 量<br />

‣ [Bendersky et al. Quality-biased ranking <strong>of</strong> web documents]<br />

• ……


BM25<br />

逆 文 档 频 率<br />

文 档 长 度<br />

词<br />

词 频<br />

平 均 文 档 长<br />

度<br />

iii w = log (<br />

# d<br />

# d t ∈ d )


Page<strong>Rank</strong><br />

度 量 文 档 的 重 要 程 度<br />

一 个 文 档 的 重 要 程 度 由 链 向 它<br />

的 文 档 的 重 要 程 度 决 定<br />

0.5<br />

0.5<br />

1<br />

互 联 网 图 上 的 随 机 游 动<br />

0.5<br />

1<br />

0.33<br />

0.33<br />

0.33<br />

文 档 得 分 , 停 留 概 率<br />

0.5<br />

链 向 d 的 文 档 集 合 文 档 d i 的 出 度 随 机 跳 转


评 估 准 则 (Evaluation Measure)<br />

• MAP (Mean Average Precision)<br />

• 给 定 一 个 排 序 , 相 关 文 档 排 得 越 靠 前 , 排 序 结 果 越 好<br />

• 计 算 排 在 相 关 文 档 前 面 的 相 关 文 档 比 例<br />

• P i = ∑ π(k)≤π(i) y q,k<br />

π(i)<br />

• AA q = ∑ nq<br />

i=1<br />

P i y q,i<br />

∑<br />

nq<br />

y<br />

i=1 q,i<br />

• MAP= ∑ q AA(q)<br />

#q<br />

• (1,0,1,1,0,0)<br />

‣ P i =(1,-,0.67,-,0.75,-,-)<br />

‣ AP=(1+0.67+0.75)/3=0.81<br />

,<br />

1 相 关<br />

0 不 相 关<br />

文 档 i 的 排 序


评 估 准 则 ( 续 )<br />

• NDCG (Normalized Discount Cumulative Gain)<br />

• 当 标 注 数 据 有 多 级 的 时 候 , 级 高 的 文 档 应 该 排 在 前 面<br />

• Perfect>Excellent>Good>Fair>Bad<br />

• DDD = ∑<br />

n 2 y q,i −1<br />

i=1 log (π i +1)<br />

• NNNN = DDD<br />

DDD mmm<br />

• (2,3,2,3,1,1)<br />

‣ 2 y q,i − 1=(3,7,3,7,1,1)<br />

‣ 1/log(π i + 1)=(1,0.63,0.5,0.43,0.39,0.36)<br />

‣ DCG=12.67<br />

‣ DCG_max=14.95<br />

‣ NDCG=12.67/14.95=0.85


训 练


预 测


排 序 模 型<br />

• 基 于 数 据 点 的 方 法 (pointwise)<br />

• 输 入<br />

‣ 单 个 查 询 文 档 对 : x 1,1 , y 1,1 , x 1,2 , y 1,2 … … (x m,nm ,y m,nm )<br />

‣ 完 全 忽 略 相 同 查 询 下 文 档 间 的 关 系<br />

‣ 标 注 (label) 转 化 成 数 字<br />

– Perfect->5, Excellent->4, Good->3, Fair->2, Bad->1<br />

• 输 出<br />

‣ 排 序 函 数 f x , 对 于 给 定 查 询 文 档 对 , 能 够 计 算 出 得 分 (score)<br />

• 代 表 模 型<br />

‣ subset ranking<br />

– [David Cossock and Tong Zhang, Subset ranking using regression]<br />

‣ Mc<strong>Rank</strong><br />

– [Ping Li, Chris<strong>to</strong>pher Burges, and Qiang Wu. Macrank: <strong>Learning</strong> <strong>to</strong> rank using multiple<br />

classification and gradient boosting]<br />

‣ Prank<br />

– [Koby Crammer and Yoram Singer. Pranking with ranking]


排 序 模 型 ( 续 )<br />

• 基 于 数 据 对 的 方 法 (pairwise)<br />

• 输 入<br />

‣ 同 一 查 询 下 的 一 对 文 档 x 1,1 , x 1,2, y 1 12 , … … x m,n m −1, x m,nm , y m n m −1,n m<br />

‣ 标 注 是 两 个 文 档 的 相 对 关 系 , 如 果 文 档 x i,ij 比 文 档 x i,ik 更 相 关 , 那 么 y i i j i k<br />

= 1<br />

‣ 部 分 保 留 了 同 一 查 询 下 文 档 间 的 关 系<br />

• 输 出<br />

‣ 排 序 函 数 f x , 对 于 给 定 查 询 文 档 对 , 能 够 计 算 出 得 分 (score)<br />

• 代 表 模 型<br />

‣ <strong>Rank</strong>ing SVM<br />

– [Ralf Herbrich, Thore Graepel, and Klaus Obermayer, Large margine rank boundaries for ordinal<br />

regression]<br />

‣ <strong>Rank</strong>Boost<br />

– [Yoav Freund, Raj D. Iyer, Robert E. Schapire, and Yoram Singer. <strong>An</strong> efficient boosting algorithm for<br />

combining preferences]<br />

‣ <strong>Rank</strong>Net<br />

– [Chris Burges, et al. <strong>Learning</strong> <strong>to</strong> rank using gradient desecnt]


排 序 模 型 ( 续 2)<br />

• 基 于 列 表 的 方 法 (Listwise)<br />

• 输 入<br />

‣ 一 个 查 询 下 的 整 个 列 表<br />

• 输 出<br />

‣ 排 序 函 数 f x , 对 于 给 定 查 询 文 档 对 , 能 够 计 算 出 得 分 (score)<br />

• 代 表 模 型<br />

‣ Lambda <strong>Rank</strong><br />

– [Chris Burges et al. <strong>Learning</strong> <strong>to</strong> rank with nonsmooth cost functions]<br />

‣ ListNet<br />

– [Zhe Cao et al. <strong>Learning</strong> <strong>to</strong> rank: from pairwise approach <strong>to</strong> listwise approach]<br />

‣ ListMLE<br />

– [Fen Xia et al. Listwise approach <strong>to</strong> learning <strong>to</strong> rank: theory and algorithm]<br />

‣ Ada<strong>Rank</strong><br />

– [Jun Xu and Hang Li, Adarank: a boosting algorithm for information retrieval]<br />

‣ SVMap<br />

– [Yisong Yue et al. A support vec<strong>to</strong>r method for optimizing average precision]


Pointwise v.s. Pairwise v.s. Listwise<br />

pointwise pairwise listwise<br />

信 息 完 全 度 不 完 全 部 分 完 全 完 全<br />

输 入 (x, y) x 1 , x 2 , y x 1 , x 2 , … … x n , π<br />

输 出 f(x) f(x) f(x)<br />

样 本 复 杂 度 O(n) O(n 2 ) O(n!)<br />

表 现 差 中 好


<strong>Rank</strong>ing SVM


输 入<br />

• 对 于 每 一 个 查 询 , 将 文 档 列 表 转 换 成 文 档 对<br />

查 询<br />

查 询<br />

文 档 1<br />

好<br />

文 档 1<br />

文 档 1<br />

文 档 2<br />

文 档 2<br />

中<br />

文 档 2<br />

文 档 3<br />

文 档 3<br />

文 档 3<br />


算 法 设 计<br />

• 目 标 : 学 习 一 个 ( 线 性 ) 排 序 函 数 f x = w ∙ x<br />

• 直 观 : 如 果 x i 比 x j 更 相 关 , 那 么 f x i > f(x j )<br />

• 数 学 表 示 : w, x i − x j > 0<br />

• 转 化 成 分 类 问 题<br />

• x i − x j , y x i ≻ x j , y = 1, 否 则 y = −1


利 用 SVM 求 解 排 序 问 题


工 具<br />

• SVMLight<br />

• http://svmlight.joachims.org/


• 什 么 是 排 序 学 习<br />

• 如 何 学 习 一 个 排 序<br />

• 排 序 学 习 的 两 条 线<br />

• 排 序 生 成<br />

• 排 序 整 合<br />

• 参 考 资 料


代 表 模 型<br />

• 无 监 督<br />

• Borda Count<br />

‣ [Javed A. Aslam and Mark Montague, Models for<br />

metasearch]<br />

• Markov Chain<br />

‣ [Cynthia Dwork et al. <strong>Rank</strong> aggregation methods for the<br />

web]<br />

• 监 督<br />

• Cranking<br />

‣ [Guy Lebanon and John Lafferty, Cranking: combining<br />

rankings using conditional probability models on<br />

permutations]


Borda Count<br />

• 给 定 一 组 排 序 列 表 , 计 算 排 在 每 个 文 档 后 面 文<br />

档 的 个 数 和<br />

基 本 排 序<br />

π 1 , π 2 , … … π n<br />

计 算 文 档 x 在<br />

π i 上 的 得 分<br />

S i x = #{π i k > π i x }<br />

排 序 函 数<br />

n<br />

f x = S i (x)<br />

i=1


Borda Count ( 续 )<br />

• 基 本 排 序<br />

• (A,B,C), (A,C,B), (B,A,C)<br />

• 计 算 每 个 排 序 上 的 得 分<br />

• (S 1 (A), S 1 (B), S 1 (C))= (2,1,0)<br />

• (S 2 (A), S 2 (B), S 2 (C))= (2,0,1)<br />

• (S 3 (A), S 3 (B), S 3 (C))= (1,2,0)<br />

• 计 算 排 序 函 数 值<br />

• f(A)=2+2+1=5<br />

• f(B)=1+0+2=3<br />

• f(C)=0+1+0=1


• 什 么 是 排 序 学 习<br />

• 如 何 学 习 一 个 排 序<br />

• 排 序 学 习 的 两 条 线<br />

• 排 序 生 成<br />

• 排 序 整 合<br />

• 参 考 资 料


参 考 文 献<br />

• Hang Li, <strong>Learning</strong> <strong>to</strong> rank for information<br />

retrieval and natural language processing.<br />

Synthesis Lectures on Human Language<br />

Technologies, 4(1):1-113, 2011<br />

• Tieyan Liu. <strong>Learning</strong> <strong>to</strong> rank for information<br />

retrieval. Foundations and Trends in<br />

Information Retrieval. 3(3):225-331, 2009

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!