30.12.2014 Views

An Overview of Learning to Rank

An Overview of Learning to Rank

An Overview of Learning to Rank

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

机 器 学 习 及 排 序 学 习 基 础<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!