【SIGIR2012勉強会】


       Session 23: Learning to rank

                             担当: 数原 良彦(NTT)



1   Session 23: Learning to rank 担当:数原(NTT)
Learning to rank 1分解説 (1/2)
   近代的な検索システムは多数のランキング素性を用いたランキ
    ング関数の出力値で文書をソート
                                           クエリ・文書関連度
                                             (クエリ依存)
                            𝜙1 (𝑞, 𝑑)
        クエリq               e.g., BM25
                                  ・
                                  ・
                                  ・                        ランキング関数
                            𝜙 𝑚 (𝑞, 𝑑)                   (線形モデルの場合)

                                                   𝐰 T Φ(𝑞, 𝑑)
                            𝜙   𝑚+1 (𝑑)                     検索スコア
                          e.g., PageRank
                                  ・
                                  ・
                                  ・
    クエリqを含む文書d
                                𝜙 𝑛 (𝑑)
                                           文書の重要度
                                           (クエリ非依存)
    2          Session 23: Learning to rank 担当:数原(NTT)
Learning to rank 1分解説 (2/2)
       クエリ毎に作成された評価データなどを用いてランキング関数を生成する技術 (=
        Learning to rank)
           損失の設定方法によってアプローチが異なる (pointwise, pairwise, listwise)




            Training                𝑞1               𝑞2                     𝑞𝑁
              data
                                1        1       2        2             𝑁        𝑁
                            (𝒙1 , 𝑦1 )        (𝒙1 , 𝑦1 )           (𝒙1 , 𝑦1 )
                                1        1       2        2
                                                               …        𝑁        𝑁
Learning-to-rank             (𝒙2    , 𝑦2 )    (𝒙2    , 𝑦2 )        (𝒙2 , 𝑦2 )
  アルゴリズム
                                    …




                                1        1
                                                     …




                                                                            …
                             (𝒙 𝑛1 , 𝑦 𝑛1 )
                                                                        𝑁        𝑁
                                                 2        2        (𝒙 𝑛 𝑁 , 𝑦 𝑛 𝑁 )
                                              (𝒙 𝑛2 , 𝑦 𝑛2 )

ランキング関数
    3                  Session 23: Learning to rank 担当:数原(NTT)
ざっくり: 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]

    4                  Session 23: Learning to rank 担当:数原(NTT)
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.
           精度を下げるクエリを発生させずに全体の精度を上げるための定
            式化と手法の提案

    5                Session 23: Learning to rank 担当:数原(NTT)
Structural Relationship for Large-Scale
Learning of Answer Re-ranking
by A. Severyn, A. Moschitti




6          Session 23: Learning to rank 担当:数原(NTT)
Structural Relationship for Large-Scale
Learning of Answer Re-ranking
       概要
           質問応答 (QA) において質問に対する回答を提示する問題をランキング問題と
            して解く

       提案手法
           質問に対してあらかじめ取得した回答候補をランキングする問題として定式化
           質問と各回答候補に対して浅い構文解析 (品詞付与,固有表現抽出) を行い,
            <質問,回答>ペアにおける構文木の類似度を用いて回答をランキング

                  (1) 浅い構文
                   解析を利用




                                                (2) 質問と回答の構文木の類
                                                 似度に基づいてランキング




    7              Session 23: Learning to rank 担当:数原(NTT)
提案手法のポイント
      (1) 浅い構文解析を用いた質問と応答の木構造表現
                浅い構文解析                      質問と回答に出現する品詞/固有表現+αを利用




      (2) 木構造カーネルを用いた木構造に基づく回答候補のスコア計算
𝑦1 が𝑦2 より上位である際に,
𝑥1 が𝑥2 より上位であるスコア

           𝑃𝐾    𝑥1 , 𝑥2 , 𝑦1 , 𝑦2   = 𝐾 𝑥1 , 𝑦1 + 𝐾 𝑥2 , 𝑦2 − 𝐾 𝑥1 , 𝑦2 − 𝐾(𝑥2 , 𝑦1 )
            ※ 𝑥 𝑖 , 𝑦 𝑗 は<質問,回答>ペア      上位/下位同士の類似度             異なる組み合わせの非類似度
              𝑦 𝑖 は訓練データ
                                            𝐾 𝑥 𝑖 , 𝑦 𝑗 : 構文解析結果に基づく木構造カーネル
  ポイントだよ



          訓練データに含まれる適切な<質問, 回答>ペアの関係と
   8   同じような関係を持つ23: Learning to rank 担当:数原(NTT)
              Session 回答を上位にランキングするような性質を持つ
実験結果

                                                             解析結果の
                                                              利用方法

                                                                単純
                                            浅い構文解析結果を
                                            そのまま利用




                                            文字列カーネルを用いて
                                            解析結果を系列として利用




                                            木構造カーネルを用いて
                                            解析結果を木構造として利用
                                            (提案手法)              複雑
ベースライン
         ※ PTKは部分木を用いるため,STKに比べて複雑な組み合わせを考慮.PTK > STKの結果.

    9              Session 23: Learning to rank 担当:数原(NTT)
Top-k Learning to Rank: Labeling, Ranking and
Evaluation
by S. Niu, J. Guo, Y. Lan, X. Cheng




10         Session 23: Learning to rank 担当:数原(NTT)
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用の評価指標 𝜅𝑁𝐷𝐶𝐺, 𝜅𝐸𝑅𝑅 を提案


    11                Session 23: Learning to rank 担当:数原(NTT)
FocusedRankの基本アイディア
    Top-k件はlistwiseで,top-k件とそれ以外に対してpairwiseで
     損失を設定

                       (1) 上位k件内における                   (2) 上位k件 vs. それ以外
ポイントだよ
                       順序の誤りに対する損失                     のペア誤りに対する損失

クエリ𝑞 𝑖 の検索結果
    top-k
                                         Top-k用の評価指標 (提案)
         スコア          (1) top-k内の          𝜅 − 𝑁𝐷𝐶𝐺: 上位k件のみを考慮したNDCG
                    順序が保たれるように
         𝑘+1
                                           𝜅 − 𝐸𝑅𝑅: 上位k件のみを考慮したERR
            𝑘
                …




            1


    top-k以外

            0

            0
                      (2) top-k文書と
                    それ以外のペア誤りが               FocusedRankの損失設定により,
                …




                     最小になるように                 上記評価指標が最適化される
            0
    12                Session 23: Learning to rank 担当:数原(NTT)
実験結果
    従来の問題設定においてもFocusedRankがそこそこ高い精度を達成
    top-k learning to rankの問題設定においてFocusedRankが最高精度を達成
                                                      従来の問題設定




                                                 本研究の問題設定




    13           Session 23: Learning to rank 担当:数原(NTT)
𝛽の値による精度の変化
    3つの手法で一貫した結果
     𝛽の値によらず評価値が安定




         ※ 𝛽 = 0 のとき,top-k内とそれ以外の pairwise loss のみ考慮
           𝛽 = 1.0のとき,top-k内の listwise loss のみを考慮

    14        Session 23: Learning to rank 担当:数原(NTT)
Robust Ranking Models via Risk-Sensitive
Optimization
by L. Wang, P. N. Bennett, K. C.-T.




15         Session 23: Learning to rank 担当:数原(NTT)
Robust Ranking Models via Risk-Sensitive
Optimization
    概要
        “平均的に優れた” (= effectiveness) モデルではなく,性能を下げるク
         エリを生み出さない (= robustness) モデルを作るための枠組みを提案
        下図における Reward – Risk でモデル化を行う

                                                          たとえばBM25
             baseline

     Risk                Reward       ベースラインモデル𝑀 𝑏 に対するモデ
                                      ル𝑀 𝑚 の差に基づいて損失を設定

 性能が低下                  性能が向上        訓練データ中のRiskの平均



                                     訓練データ中のRewardの平均



16              Session 23: Learning to rank 担当:数原(NTT)
提案手法: Risk-Sensitive Optimization
    以下のトレードオフ基準をLambdaMARTに組み込む
        𝛼 = 0のとき,通常のlearning to rank手法の設定
                                                           ここに反映




    LambdaMARTでは,クエリ毎に全文書ペアについて
    計算される𝜆 𝑖𝑗 に基づいてパラメータを更新:

    ポイントだよ



                  対象クエリにおける𝑀 𝑚 の評価値が,
    ベースライン𝑀 𝑏 を下回っている場合,従来同様に評価指標を向上する更新を行い,
     ベースライン𝑀 𝑏 を上回っている場合,ベースラインを下回らないような更新を行う

                                    既に上回っているクエリに関して,
                                     攻める方向には更新しない
    17           Session 23: Learning to rank 担当:数原(NTT)
実験結果 (1/2)
                                                            Risk-sensitve強




     評価値が20%以上
     負けているクエリの数



     𝛼大でriskが
       減少




18                Session 23: Learning to rank 担当:数原(NTT)
実験結果 (2/2)
    収束が速くなる (理由は不明)
    リスクパラメータ𝛼の調整に伴うランキングの変化

                                                            約85%が
                                                           ベースモデル
                                                            と近い結果




                                     high risk         low risk


         試行毎のNDCGの値                      パラメータ𝛼毎のベースモデルに
                                          対するとランキングの相関

    19       Session 23: Learning to rank 担当:数原(NTT)

SIGIR2012勉強会 23 Learning to Rank

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