• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
 

WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search

on

  • 3,455 views

WSDM2012読み会の発表資料

WSDM2012読み会の発表資料

Statistics

Views

Total Views
3,455
Views on SlideShare
2,300
Embed Views
1,155

Actions

Likes
5
Downloads
21
Comments
0

3 Embeds 1,155

http://d.hatena.ne.jp 1151
http://us-w1.rockmelt.com 2
http://tweetedtimes.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search Presentation Transcript

    • WSDM2012読み会:Learning to Rank with Multi-Aspect Relevance for Vertical Search 2012-04-07 Yoshihiko Suhara @sleepy_yoshi 1
    • 今日紹介する論文• Learning to Rank with Multi-Aspect Relevance for Vertical Search – by Changsung Kang, Xuanhui Wang, Yi Chang, Belle Tseng (Yahoo! Labs) • SIGIR, WWW, WSDM, CIKM, KDD あたり 2
    • 1枚概要• 問題 – Vertical search (分野特化型検索エンジン) におけ るランキングの最適化• 課題 – 複数のaspectに対するランキング関数の学習• 解き方 – label aggregation, model aggregationを提案 3
    • Vertical searchとは? 4
    • Yahoo! の例 5
    • 背景• ウェブ検索クエリの20%は場所に関する意図 を持つ ⇒ Local searchは大切だよね!• Local searchの場合,3つの aspect を持つ – (1) text matching aspect • テキストクエリへの一致度 – (2) distance aspect • 場所クエリに対してどれだけ近いか – (3) reputation aspect • 店の評判 6
    • Vertical searchの検索結果 クエリ(情報検索でいうところの) 文書 7
    • 各文書に対する評価方法評価ガイドライン text matching aspect distance aspect reputation aspect 8
    • 各文書に対する評価方法 text matching aspect各文書について3つのaspectに対する aspect distance 適合度ラベルが付与される reputation aspect 9
    • やりたいこと• 入力されたクエリに対して複数のaspectを持 つ文書のランキングの最適化する ただし適合度 ラベルがスカラー 𝑞1 ではなくベクトル𝑞2 𝑞𝑁 Training 1 1 2 2 𝑁 𝑁 (𝒙1 , 𝑦1 ) (𝒙1 , 𝑦1 ) (𝒙1 , 𝑦1 ) data 1 1 2 2 … 𝑁 𝑁 (𝒙2 , 𝑦2 ) (𝒙2 , 𝑦2 ) (𝒙2 , 𝑦2 ) … 1 1 … … (𝒙 𝑛1 , 𝑦 𝑛1 ) 𝑁 𝑁 2 2 (𝒙 𝑛 𝑁 , 𝑦 𝑛 𝑁 ) (𝒙 𝑛2 , 𝑦 𝑛2 ) 10
    • 従来のアプローチ• Learning-to-rank手法はひとつのaspect (= relevance) を最適化する手法• 複数のスコアが与えられた場合には解き方は自 明ではない• 従来手法 (今回のベースライン) – 経験知と勘によって用意されたルールに基づいて複 数スコアの線形和で最終スコアに変換 – 最終スコアを適合度と見なして従来のLearning to rankのアプローチで解く 11
    • 従来手法の欠点• (1) ルールの作成が困難• (2) 現実の問題をとらえるにはちと粗い – ある素性空間で複数aspectの特徴を表現できる のか? • aspect毎に異なる素性空間を利用したい• (3) aspectが増加するとルールも指数的に増 加するのでスケールしない 12
    • 提案手法のアプローチ2つのアプローチを提案• (1) Label aggregation method – ラベルの重みを学習 => 1ラベルに変換 – 1ラベルのランキング学習でモデル作成• (2) Model aggregation method – 各ラベルについてランキング学習でモデル作成 – 各モデルの重みを学習 13
    • (ちょっと退屈な)定義とかの説明 14
    • 定義1: Aspect Relevance• クエリqにおける文書dのk番目のaspectの適 合度は 𝑙 ∈ 𝐿 𝑘 = 𝑙 𝑘,1 ≺, … , ≺ 𝑙 𝑘,𝑛 𝑘 悪い 良い 15
    • 定義2: Multi-Aspect Relevance• m個のaspectが与えられた場合には,各 aspectに対する適合度をm次元のベクトル 𝒚 = 𝑦1 , … , 𝑦 𝑚 𝑇 で表現する 16
    • 定義3: Mapping Function• k番目のaspectの写像関数𝜙 𝑘 : 𝐿 𝑘 → ℝは適合 度ラベルを実数値に写像する – ただし,順序は保持 17
    • 定義4: Label Aggregation Function• 𝒚をoverall relevance value 𝑧に写像する関数 ℎ: ℝ 𝑚 → ℝ 18
    • よーするに 19
    • Multi-aspect label から overall relevance へ 𝑙1,3 (✔ 𝑙1,2 𝜙1 𝑦1 𝑙1,1✔ 𝑙2,3 𝑙2,2 𝜙2 𝑦2 = 𝒚 ℎ 𝑧 𝑙2,1 𝑙3,3✔ 𝑙3,2 𝑙3,1 𝜙3 𝑦3 ) 文書に対して1つのラベルに落とし込んだので 従来手法を用いてランキング関数の学習が可能 20
    • 用意するもの 21
    • 用意するもの• 訓練データ ℱ= 𝒙, 𝒚• 選好評価 𝒚 𝑖 , 𝒚 𝑗 ∈ 𝒫 または 𝒙 𝑖 , 𝒙 𝑗 ∈ 𝒫 論文中にはranking feature xに関する記述一切なし!! 推して知るべし!! 22
    • 図解: 用意するもの 𝑞1 𝑞2 𝑞𝑁 Training data 1 1 2 2 𝑁 𝑁ℱ={(𝒙, 𝒚)} (𝒙1 , 𝒚1 ) (𝒙1 , 𝒚1 ) (𝒙1 , 𝒚1 ) … 1 1 2 2 𝑁 𝑁 (𝒙2 , 𝒚2 ) (𝒙2 , 𝒚2 ) (𝒙2 , 𝒚2 ) … 1 1 … … (𝒙 𝑛1 , 𝒚 𝑛1 ) 𝑁 𝑁 2 2 (𝒙 𝑛 𝑁 , 𝒚 𝑛 𝑁 ) (𝒙 𝑛2 , 𝒚 𝑛2 ) 𝑞1 𝑞2 𝑞3 2 2 𝑁 𝑁Preference 𝒚1 1 , 𝒚2 1 𝒚1 , 𝒚2 𝒚1 , 𝒚2 pairs 𝒫 1 1 𝒚1 , 𝒚3 … … 23
    • 図解: 用意するもの 𝑞1 𝑞2 𝑞𝑁 Training data 1 1 2 2 𝑁 𝑁ℱ={(𝒙, 𝒚)} (𝒙1 , 𝒚1 ) (𝒙1 , 𝒚1 ) (𝒙1 , 𝒚1 ) … 1 1 2 2 𝑁 𝑁 (𝒙2 , 𝒚2 ) (𝒙2 , 𝒚2 ) (𝒙2 , 𝒚2 ) … 1 1 … … (𝒙 𝑛1 , 𝒚 𝑛1 ) 𝑁 𝑁 2 2 (𝒙 𝑛 𝑁 , 𝒚 𝑛 𝑁 ) (𝒙 𝑛2 , 𝒚 𝑛2 ) 𝑞1 𝑞2 𝑞3 2 2 𝑁 𝑁Preference 𝒚1 1 , 𝒚2 1 𝒚1 , 𝒚2 𝒚1 , 𝒚2 pairs 𝒫 1 1 𝒚1 , 𝒚3 … … 24
    • 補足: ranking feature について𝒙 (= Φ 𝑞, 𝑑 ) = ・ 地理的な要因 + ・ 評判を反映するような要因 など? MSLR-WEB datasetのfeature (の一部) 25 (http://research.microsoft.com/en-us/projects/mslr/feature.aspx より抜粋)
    • (1) Label aggregation method 26
    • Label aggregation methodの流れ• 1. 𝒫を用いてaggregation function ℎ(𝒚) を学習 – 設定されなければ写像関数Φも学習 大事なのここだけ• 2. 訓練データにℱ = 𝒙, 𝒚 にℎ(𝒚) を適用して ℱ = 𝒙, ℎ 𝒚 を生成 1つの適合度ラベル• 3. 従来のランキング学習手法を用いてランキング関 数𝑓ℎ を学習 27
    • Label aggregation method以下の2つを提案• (A) Linear aggregation method – ラベルの写像関数は人手で設定• (B) Joint learning method – ラベルの写像関数も同時に学習 𝑙1,3 ( ✔ 𝑙1,2 𝜙1 𝑦1 𝑙1,1 (A) ここだけ学習 ✔ 𝑙2,3 𝑙2,2 𝜙2 𝑦2 = 𝒚 ℎ 𝑧 𝑙2,1 𝑙3,3 ✔ 𝑙3,2 𝜙3 𝑦3 𝑙3,1 ) (B) ここも学習 28
    • (A) Linear aggregation method 29
    • A Linear Aggregation Method (1/2)• 最も簡単な方法は, 𝑠−1 𝑦 𝑘 = 𝜙 𝑘 𝑙 𝑘,𝑠 = for 𝑠 = 1, … , 𝑛 𝑘 𝑛 𝑘 −1• これを用いてrelevance label 𝑙 𝑘,𝑠 を[0, 1]に写像 𝑙1,𝑠 → 𝑦1 𝑙2,𝑠 → 𝑦2 𝑙3,𝑠 → 𝑦3 30
    • A Linear Aggregation Method (2/2)• multi-aspect relevance vector yに対する線形重み ベクトルwを学習するため,以下の損失関数を利用 1 𝑇 𝑇 2 𝐿= max 0, 1 − 𝒘 𝒚 𝑖 + 𝒘 𝒚 𝑗 2 𝒚 𝑖 ,𝒚 𝑗 ∈𝑃 – はて,ヒンジロスを2乗する意図は? (HELP!) – なお線形「重み」にしたいので𝒘 ≽ 0 – 勾配法で解く (後述) 𝒘 𝑇 (𝒚 𝑖 − 𝒚 𝑗 )と解釈すると 「選好順序」に対する0-1損失 の近似 loss hinge-loss こんな損失 0-1 loss 31 1- 𝒘 𝑇 (𝒚 𝑖 − 𝒚 𝑗 )
    • (A) Joint learning method 32
    • A Joint Learning Method• 先ほどの例ではk番目のaspectに対するラベルの写 像関数𝜙 𝑘 𝑙 𝑘,𝑠 は人手で設定されたものを利用 – これも同時に学習したい!• そこで今度は下記のような損失関数を利用 1 𝑇 Φ(𝒚 𝑇Φ 2 𝐿= max 0, 1 − 𝒘 𝑖) + 𝒘 𝒚𝑗 2 𝒚 𝑖 ,𝒚 𝑗 ∈𝑃 特に記述はないが線形関数?• gradient-and-projection で最適化 33
    • Gradient-and-projection (1/2) • 先ほどの損失関数の勾配を計算 – 各パラメータで偏微分ここで ヒント: 𝒜 𝑘,𝑠 = 𝒚 𝑖 , 𝒚 𝒋 ∈ 𝒫 𝑦 𝑖,𝑘 = 𝑙 𝑘,𝑠 , 𝑦 𝑗,𝑘 ≠ 𝑙 𝑘,𝑠 } 𝜙1 𝑙1,𝑠 ℬ 𝑘,𝑠 = 𝒚 𝑖 , 𝒚 𝑗 ∈ 𝒫 𝑦 𝑖,𝑘 ≠ 𝑙 𝑘,𝑠 , 𝑦 𝑗,𝑘 = 𝑙 𝑘,𝑠 } 𝒘 𝑇 Φ 𝑦 𝑖 = ( 𝑤1 … 𝑤 𝑚) ⋮ 𝜙 𝑚 34𝑚,𝑠 𝑙
    • Gradient-and-projection (1/2) • gradient した後に制約を満たすように projection 変更を小さく 変更を小さく 制約を満たすように 目的関数が凸+線形制約=二次計画[質問] gradient-and-projection は割とスタンダードな手法なんでしょうか?FOBOS [Duchi+ 09] と同じノリ? [Duchi+ 09] J. Duchi, Y. Singer, “Efficient Online and Batch Learning using Forward Backward Splitting”, JMLR, 2009. 35
    • (2) Model Aggregation 36
    • Model aggregation methodの流れ• 1. 各aspect 𝑎 𝑖 に対して 𝑦 𝑖 = 𝜙 𝑖 𝑙 𝑖,𝑠 に基づい てランキング関数𝑓 𝑎 𝑖 を学習 – 従来のランキング学習手法を利用• 2. 各データについてm次元ベクトル 𝐟 𝒙 = [𝑓 𝑎1 𝒙 , … , 𝑓 𝑎 𝑚 (𝒙)]を生成• 3. 𝐟 𝒙 と𝒫 を用いてaggregation function ℎを 学習 大事なのここだけ 37
    • Aggregation function ℎ の学習• Aggregation function: ℎ 𝐟 𝒙 = 𝒘𝑇𝐟 𝒙• 𝒘 を学習するために以下の損失を利用 – 最適化は先ほどと同じ ※ preference pairsを利用 38
    • Model aggregation の利点• (1) 各aspectに異なるモデルを利用可能 – 例) text matching aspect には複雑なモデル, distance aspect には単純な回帰モデル• (2) 𝒚が不要.𝐟 𝒙 があればよい – クリックログデータなどの外部情報を 𝒙 𝑖 , 𝒙 𝑗 ∈ 𝒫 として利用可能 39
    • 評価実験(オフライン実験/オンライン実験) 40
    • オフライン実験のデータセット informational 例) Chinese restaurant Los Angeles, CA 90018 例) Bank of America navigational Los Angeles, CA 90018ラベルの比率 (a) Category Queries (b) Business Name Queries 41
    • 評価指標• ペア一致率 ※ 今回の損失関数で近似的に最適化している指標 – for label aggregation – for model aggregation 42
    • 比較手法 • Rule – 人手で 𝒚 → 𝑧 してランキング学習 • Ed-overall – 𝒫 𝑡𝑟𝑎𝑖𝑛 を使ってランキング学習 • Click – クリックログを使ってランキング学習 • Linear [proposed] – linear aggregation model • Joint [proposed] – joint learning model • ModAgg [proposed] – Model aggregation method※ ランキング学習にはGBRank (Gradient Boosting Tree) [Zheng+ 08] を利用[Zheng+ 08] Z. Zheng, H. Zha, T. Zhang, O. Chapelle, K. Chen, and G. Sun, “A general boosting method 43and its application to learning ranking functions for web search”, NIPS 2008.
    • 補足: クリックログの量• √1441975 ≒ 1200 (≒ 約1200文書)• √58782 ≒ 242 (≒ 約242文書) クエリ数は論文に記述されておらず... 44
    • 実験1: Label aggregation の精度• これ↑だけを使って label aggregation した場合のペア一致 率の比較 Jointで精度が上がらないのは𝜙 𝑘 が線形関数だから? 45
    • 実験2: Model aggregation の精度 46
    • 考察: 各 aspect の重み• Category query• Business name query – distance が効いてくる 47
    • オンライン実験• Local search engine で Bucket test – Cookie でユーザを分類 – 同じユーザに対しては同じランキング手法で結果を提示• 実験手法 – Rule vs. Linear (2 weeks) – Linear vs. ModAgg (another 2 weeks)• 評価: Click-Through Rate (CTR) @i – 検索結果i番目までに表示された数のうち,クリックされた比率 48
    • CTR5の比較x軸は日付Linear > Rule (p-value < 0.01) ModAgg > Linear (p-value < 0.01)※ 期間が異なるのでLinear の結果が異なっていることに注意 49
    • まとめ• 複数のaspectを持つvertical search (今回はlocal search) におけるランキング関数学習において以下の2つのアプ ローチを提案 – (1) Label aggregation • (A) Linear aggregation • (B) Joint aggregation – (2) Model aggregation• オフライン,オンラインいずれの実験においてもベースラ インを上回る精度を示した• 今回の手法では aspect は人手で設定されている必要 がある.Aspect の自動獲得はfuture work. 50
    • おしまい 51