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
                                                                                                   43
and 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

More Related Content

PDF
DSIRNLP#1 ランキング学習ことはじめ
PDF
SIGIR2012勉強会 23 Learning to Rank
PDF
SIGIR2011読み会 3. Learning to Rank
PDF
ACL2011読み会: Query Weighting for Ranking Model Adaptation
PDF
Collaborative Ranking: A Case Study on Entity Ranking (EMNLP2011読み会)
PDF
Learning to rank for IR
PDF
情報検索における評価指標の最新動向と新たな提案
PDF
20170422 数学カフェ Part1
DSIRNLP#1 ランキング学習ことはじめ
SIGIR2012勉強会 23 Learning to Rank
SIGIR2011読み会 3. Learning to Rank
ACL2011読み会: Query Weighting for Ranking Model Adaptation
Collaborative Ranking: A Case Study on Entity Ranking (EMNLP2011読み会)
Learning to rank for IR
情報検索における評価指標の最新動向と新たな提案
20170422 数学カフェ Part1

What's hot (20)

PDF
Clustering _ishii_2014__ch10
PPTX
パターン認識モデル初歩の初歩
PDF
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
PDF
Ibisml2011 06-20
PDF
深層生成モデルを用いたマルチモーダル学習
PDF
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
PDF
情報検索の基礎(11章)
PDF
PPTX
Information retrieval model
PPT
Gurobi python
PDF
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
PDF
各言語の k-means 比較
PPT
Or seminar2011final
PDF
Hive/Pigを使ったKDD'12 track2の広告クリック率予測
PDF
行列計算を利用したデータ解析技術
PDF
機械学習による統計的実験計画(ベイズ最適化を中心に)
PDF
Fisher Vectorによる画像認識
PDF
Recent Advances on Transfer Learning and Related Topics Ver.2
PDF
NIPS2010読み会: A New Probabilistic Model for Rank Aggregation
PPTX
Large scale gan training for high fidelity natural
Clustering _ishii_2014__ch10
パターン認識モデル初歩の初歩
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
Ibisml2011 06-20
深層生成モデルを用いたマルチモーダル学習
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
情報検索の基礎(11章)
Information retrieval model
Gurobi python
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
各言語の k-means 比較
Or seminar2011final
Hive/Pigを使ったKDD'12 track2の広告クリック率予測
行列計算を利用したデータ解析技術
機械学習による統計的実験計画(ベイズ最適化を中心に)
Fisher Vectorによる画像認識
Recent Advances on Transfer Learning and Related Topics Ver.2
NIPS2010読み会: A New Probabilistic Model for Rank Aggregation
Large scale gan training for high fidelity natural
Ad

Viewers also liked (8)

PDF
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
PDF
Nonlinear programming輪講スライド with 最適化法
PDF
ICML2013読み会: Distributed training of Large-scale Logistic models
PDF
PRML ベイズロジスティック回帰
PDF
Prml4.4 ラプラス近似~ベイズロジスティック回帰
PPTX
EMNLP 2015 yomikai
ZIP
今さら聞けないカーネル法とサポートベクターマシン
PDF
エクセルで統計分析 統計プログラムHADについて
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
Nonlinear programming輪講スライド with 最適化法
ICML2013読み会: Distributed training of Large-scale Logistic models
PRML ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰
EMNLP 2015 yomikai
今さら聞けないカーネル法とサポートベクターマシン
エクセルで統計分析 統計プログラムHADについて
Ad

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

PDF
WordNetで作ろう! 言語横断検索サービス
PPTX
Ym20121122
PDF
第9回名古屋Cvprml勉強会
PDF
機械学習を用いたWeb上の産学連携関連文書の抽出
PDF
演習発表 Sari v.1.2
PDF
Datamining 5th Knn
PDF
生物統計特論3資料 2006 ギブス MCMC isseing333
PDF
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
PDF
Datamining 5th knn
PDF
演習発表 Sari v.1.1
PDF
お披露目会05/2010
PDF
Relative attributes
PPTX
Tokyo nlp #8 label propagation
PDF
E-SOINN
PDF
2011建築研究賞_最適化手法を用いた建物の同定問題_08N1002青山仁美/08N1038小祝碧_吉田研
PDF
文書比較 (diff)
PDF
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
PDF
NLP2012
PDF
PFI Christmas seminar 2009
PDF
データマイニング勉強会3
WordNetで作ろう! 言語横断検索サービス
Ym20121122
第9回名古屋Cvprml勉強会
機械学習を用いたWeb上の産学連携関連文書の抽出
演習発表 Sari v.1.2
Datamining 5th Knn
生物統計特論3資料 2006 ギブス MCMC isseing333
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
Datamining 5th knn
演習発表 Sari v.1.1
お披露目会05/2010
Relative attributes
Tokyo nlp #8 label propagation
E-SOINN
2011建築研究賞_最適化手法を用いた建物の同定問題_08N1002青山仁美/08N1038小祝碧_吉田研
文書比較 (diff)
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
NLP2012
PFI Christmas seminar 2009
データマイニング勉強会3

More from sleepy_yoshi (20)

PDF
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
PDF
KDD2013読み会: Direct Optimization of Ranking Measures
PDF
PRML復々習レーン#15 前回までのあらすじ
PDF
PRML復々習レーン#14 前回までのあらすじ
PDF
PRML復々習レーン#13 前回までのあらすじ
PDF
PRML復々習レーン#12 前回までのあらすじ
PDF
SEXI2013読み会: Adult Query Classification for Web Search and Recommendation
PDF
計算論的学習理論入門 -PAC学習とかVC次元とか-
PDF
PRML復々習レーン#11 前回までのあらすじ
PDF
SMO徹底入門 - SVMをちゃんと実装する
PDF
PRML復々習レーン#10 前回までのあらすじ
PDF
PRML復々習レーン#10 7.1.3-7.1.5
PDF
PRML復々習レーン#9 6.3-6.3.1
PDF
PRML復々習レーン#9 前回までのあらすじ
PDF
PRML復々習レーン#7 前回までのあらすじ
PDF
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
PDF
PRML復々習レーン#3 3.1.3-3.1.5
PDF
PRML復々習レーン#3 前回までのあらすじ
PDF
SVM実践ガイド (A Practical Guide to Support Vector Classification)
PDF
PRML復々習レーン#2 2.3.6 - 2.3.7
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2013読み会: Direct Optimization of Ranking Measures
PRML復々習レーン#15 前回までのあらすじ
PRML復々習レーン#14 前回までのあらすじ
PRML復々習レーン#13 前回までのあらすじ
PRML復々習レーン#12 前回までのあらすじ
SEXI2013読み会: Adult Query Classification for Web Search and Recommendation
計算論的学習理論入門 -PAC学習とかVC次元とか-
PRML復々習レーン#11 前回までのあらすじ
SMO徹底入門 - SVMをちゃんと実装する
PRML復々習レーン#10 前回までのあらすじ
PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#7 前回までのあらすじ
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 前回までのあらすじ
SVM実践ガイド (A Practical Guide to Support Vector Classification)
PRML復々習レーン#2 2.3.6 - 2.3.7

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

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