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

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

  • 1.
    WSDM2012読み会: Learning to Rankwith Multi-Aspect Relevance for Vertical Search 2012-04-07 Yoshihiko Suhara @sleepy_yoshi 1
  • 2.
    今日紹介する論文 • Learning toRank 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
  • 4.
  • 5.
  • 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) Labelaggregation method – ラベルの重みを学習 => 1ラベルに変換 – 1ラベルのランキング学習でモデル作成 • (2) Model aggregation method – 各ラベルについてランキング学習でモデル作成 – 各モデルの重みを学習 13
  • 14.
  • 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 AggregationFunction • 𝒚をoverall relevance value 𝑧に写像する関数 ℎ: ℝ 𝑚 → ℝ 18
  • 19.
  • 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
  • 21.
  • 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 より抜粋)
  • 26.
  • 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
  • 29.
  • 30.
    A Linear AggregationMethod (1/2) • 最も簡単な方法は, 𝑠−1 𝑦 𝑘 = 𝜙 𝑘 𝑙 𝑘,𝑠 = for 𝑠 = 1, … , 𝑛 𝑘 𝑛 𝑘 −1 • これを用いてrelevance label 𝑙 𝑘,𝑠 を[0, 1]に写像 𝑙1,𝑠 → 𝑦1 𝑙2,𝑠 → 𝑦2 𝑙3,𝑠 → 𝑦3 30
  • 31.
    A Linear AggregationMethod (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.
  • 33.
    A Joint LearningMethod • 先ほどの例では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
  • 36.
  • 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
  • 40.
  • 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
  • 46.
  • 47.
    考察: 各 aspectの重み • Category query • Business name query – distance が効いてくる 47
  • 48.
    オンライン実験 • Local searchengine で 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
  • 51.