sigir2012勉強会 23 learning to rank
DESCRIPTION
SIGIR2012勉強会 Session 23: Learning to rank 勉強会リンク http://qwik.jp/dbreading/74.htmlTRANSCRIPT
Session 23: Learning to rank
担当: 数原 良彦(NTT)
Session 23: Learning to rank 担当:数原(NTT) 1
【SIGIR2012勉強会】
Learning to rank 1分解説 (1/2)
Session 23: Learning to rank 担当:数原(NTT) 2
近代的な検索システムは多数のランキング素性を用いたランキング関数の出力値で文書をソート
クエリq
クエリqを含む文書d
𝜙1(𝑞, 𝑑)
𝜙𝑚(𝑞, 𝑑)
𝜙𝑚+1(𝑑)
𝜙𝑛(𝑑)
𝐰TΦ(𝑞, 𝑑)
・・・
・・・ 検索スコア
文書の重要度 (クエリ非依存)
ランキング関数 (線形モデルの場合)
クエリ・文書関連度 (クエリ依存)
e.g., BM25
e.g., PageRank
Learning to rank 1分解説 (2/2)
Session 23: Learning to rank 担当:数原(NTT) 3
クエリ毎に作成された評価データなどを用いてランキング関数を生成する技術 (= Learning to rank) 損失の設定方法によってアプローチが異なる (pointwise, pairwise, listwise)
Training
data
(𝒙11
, 𝑦11
)
…
… (𝒙2
1, 𝑦2
1)
(𝒙𝑛1
1, 𝑦𝑛1
1)
(𝒙12
, 𝑦12
) …
(𝒙22
, 𝑦22
)
(𝒙𝑛2
2, 𝑦𝑛2
2)
(𝒙1𝑁
, 𝑦1𝑁
)
…
(𝒙2𝑁
, 𝑦2𝑁
)
(𝒙𝑛𝑁
𝑁, 𝑦𝑛𝑁
𝑁)
𝑞1 𝑞2 𝑞𝑁
Learning-to-rank
アルゴリズム
ランキング関数
ざっくり: learning to rank の方向性
(1) Single-objective (e.g., NDCG) の learning to rank からMulti-objective な learning to rank へ Multiple measures [Svore+, WWW11]
Effectiveness & Efficiency [Wang+, SIGIR11]
Effectiveness & Freshness [Dai+, SIGIR11]
Effectiveness & Robustness [Wang+, SIGIR12] <-
…
(2) 新しい問題設定 Top-k learning to rank [Niu+, SIRIR12]
(3) 検索ランキング以外への応用 QA Answer Re-ranking [Severyn+, SIGIR12]
Session 23: Learning to rank 担当:数原(NTT) 4
Session 23: Learning to rank Structural Relationship for Large-Scale Learning of Answer
Re-ranking by A. Severyn, A. Moschitti 質問応答の回答を浅い構文解析と木構造カーネルを用いてランキ
ング問題として解く
Top-k Learning to Rank: Labeling, Ranking and Evaluation by S. Niu, J. Guo, Y. Lan, X. Cheng 上位k件のランキング問題の新しい定式化.正解データ作成,学習
手法,評価指標を提案
Robust Ranking Models via Risk-Sensitive Optimization by L. Wang, P. N. Bennett, K. C.-T. 精度を下げるクエリを発生させずに全体の精度を上げるための定
式化と手法の提案
Session 23: Learning to rank 担当:数原(NTT) 5
Structural Relationship for Large-Scale Learning of Answer Re-ranking by A. Severyn, A. Moschitti
Session 23: Learning to rank 担当:数原(NTT) 6
Structural Relationship for Large-Scale Learning of Answer Re-ranking 概要
質問応答 (QA) において質問に対する回答を提示する問題をランキング問題として解く
提案手法 質問に対してあらかじめ取得した回答候補をランキングする問題として定式化 質問と各回答候補に対して浅い構文解析 (品詞付与,固有表現抽出) を行い,
<質問,回答>ペアにおける構文木の類似度を用いて回答をランキング
Session 23: Learning to rank 担当:数原(NTT) 7
(1) 浅い構文解析を利用
(2) 質問と回答の構文木の類似度に基づいてランキング
提案手法のポイント (1) 浅い構文解析を用いた質問と応答の木構造表現
Session 23: Learning to rank 担当:数原(NTT) 8
訓練データに含まれる適切な<質問, 回答>ペアの関係と
同じような関係を持つ 回答を上位にランキングするような性質を持つ
ポイントだよ
浅い構文解析 質問と回答に出現する品詞/固有表現+αを利用
(2) 木構造カーネルを用いた木構造に基づく回答候補のスコア計算
𝑃𝐾 𝑥1, 𝑥2 , 𝑦1, 𝑦2 = 𝐾 𝑥1, 𝑦1 + 𝐾 𝑥2, 𝑦2 − 𝐾 𝑥1, 𝑦2 − 𝐾(𝑥2, 𝑦1)
𝑦1が𝑦2より上位である際に,
𝑥1が𝑥2より上位であるスコア
※ 𝑥𝑖 , 𝑦𝑗は<質問,回答>ペア
𝑦𝑖は訓練データ
上位/下位同士の類似度 異なる組み合わせの非類似度
𝐾 𝑥𝑖 , 𝑦𝑗 : 構文解析結果に基づく木構造カーネル
実験結果
Session 23: Learning to rank 担当:数原(NTT) 9
浅い構文解析結果を
そのまま利用
木構造カーネルを用いて
解析結果を木構造として利用
(提案手法) ベースライン
文字列カーネルを用いて
解析結果を系列として利用
解析結果の
利用方法
単純
複雑
※ PTKは部分木を用いるため,STKに比べて複雑な組み合わせを考慮.PTK > STKの結果.
Top-k Learning to Rank: Labeling, Ranking and Evaluation by S. Niu, J. Guo, Y. Lan, X. Cheng
Session 23: Learning to rank 担当:数原(NTT) 10
Top-k Learning to Rank: Labeling, Ranking and Evaluation
概要
top-k learning to rank フレームワークを提案
3つの提案
(1) 上位k件の正解データをpreference judgmentsで作成 コストが少ない: 𝑂 𝑘 log 𝑛
(2) 3種類の FocusedRank を提案
FocusedSVM (SVM_MAP + RankingSVM)
FocusedBoost (AdaRank + RankBoost)
FocusedNet (ListNet + RankNet)
(3) top-k用の評価指標 𝜅𝑁𝐷𝐶𝐺, 𝜅𝐸𝑅𝑅 を提案
Session 23: Learning to rank 担当:数原(NTT) 11
Session 23: Learning to rank 担当:数原(NTT)
FocusedRankの基本アイディア
Top-k件はlistwiseで,top-k件とそれ以外に対してpairwiseで損失を設定
12
(1) 上位k件内における
順序の誤りに対する損失 (2) 上位k件 vs. それ以外
のペア誤りに対する損失
…
…
𝑘 + 1
𝑘
1
スコア
top-k
top-k以外
クエリ𝑞𝑖の検索結果
(1) top-k内の
順序が保たれるように
(2) top-k文書と
それ以外のペア誤りが最小になるように
0
0
0
𝜅 − 𝑁𝐷𝐶𝐺: 上位k件のみを考慮したNDCG
𝜅 − 𝐸𝑅𝑅: 上位k件のみを考慮したERR
Top-k用の評価指標 (提案)
FocusedRankの損失設定により,
上記評価指標が最適化される
ポイントだよ
実験結果
Session 23: Learning to rank 担当:数原(NTT) 13
従来の問題設定
本研究の問題設定
従来の問題設定においてもFocusedRankがそこそこ高い精度を達成
top-k learning to rankの問題設定においてFocusedRankが最高精度を達成
𝛽の値による精度の変化
3つの手法で一貫した結果
𝛽の値によらず評価値が安定
Session 23: Learning to rank 担当:数原(NTT) 14
※ 𝛽 = 0 のとき,top-k内とそれ以外の pairwise loss のみ考慮
𝛽 = 1.0のとき,top-k内の listwise loss のみを考慮
Robust Ranking Models via Risk-Sensitive Optimization by L. Wang, P. N. Bennett, K. C.-T.
Session 23: Learning to rank 担当:数原(NTT) 15
Robust Ranking Models via Risk-Sensitive Optimization
概要
“平均的に優れた” (= effectiveness) モデルではなく,性能を下げるクエリを生み出さない (= robustness) モデルを作るための枠組みを提案
下図における Reward – Risk でモデル化を行う
Session 23: Learning to rank 担当:数原(NTT) 16
Risk Reward
baseline
性能が低下 性能が向上
ベースラインモデル𝑀𝑏に対するモデル𝑀𝑚の差に基づいて損失を設定
たとえばBM25
訓練データ中のRiskの平均
訓練データ中のRewardの平均
提案手法: Risk-Sensitive Optimization
以下のトレードオフ基準をLambdaMARTに組み込む 𝛼 = 0のとき,通常のlearning to rank手法の設定
Session 23: Learning to rank 担当:数原(NTT) 17
LambdaMARTでは,クエリ毎に全文書ペアについて
計算される𝜆𝑖𝑗に基づいてパラメータを更新:
ここに反映
対象クエリにおける𝑀𝑚の評価値が,
ベースライン𝑀𝑏を下回っている場合,従来同様に評価指標を向上する更新を行い,
ベースライン𝑀𝑏を上回っている場合,ベースラインを下回らないような更新を行う
ポイントだよ
既に上回っているクエリに関して,攻める方向には更新しない
実験結果 (1/2)
Session 23: Learning to rank 担当:数原(NTT) 18
Risk-sensitve強
𝛼大でriskが減少
評価値が20%以上
負けているクエリの数
実験結果 (2/2)
収束が速くなる (理由は不明)
リスクパラメータ𝛼の調整に伴うランキングの変化
Session 23: Learning to rank 担当:数原(NTT) 19
パラメータ𝛼毎のベースモデルに
対するとランキングの相関 試行毎のNDCGの値
high risk low risk
約85%が
ベースモデル
と近い結果