wsdm2012読み会: learning to rank with multi-aspect relevance for vertical search

51
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search 2012-04-07 Yoshihiko Suhara @sleepy_yoshi 1

Upload: sleepyyoshi

Post on 29-Jun-2015

3.781 views

Category:

Technology


0 download

DESCRIPTION

WSDM2012読み会の発表資料

TRANSCRIPT

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

WSDM2012読み会: Learning to Rank with Multi-Aspect

Relevance for Vertical Search

2012-04-07

Yoshihiko Suhara

@sleepy_yoshi 1

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

今日紹介する論文

• 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

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

1枚概要

• 問題 – Vertical search (分野特化型検索エンジン) におけるランキングの最適化

• 課題 –複数のaspectに対するランキング関数の学習

• 解き方 – label aggregation, model aggregationを提案

3

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

Vertical searchとは?

4

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

Yahoo! の例

5

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

背景

• ウェブ検索クエリの20%は場所に関する意図を持つ ⇒ Local searchは大切だよね!

• Local searchの場合,3つの aspect を持つ – (1) text matching aspect

• テキストクエリへの一致度

– (2) distance aspect • 場所クエリに対してどれだけ近いか

– (3) reputation aspect • 店の評判

6

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

Vertical searchの検索結果

クエリ

(情報検索で いうところの) 文書

7

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

各文書に対する評価方法

text matching aspect

distance aspect

reputation aspect

評価ガイドライン

8

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

各文書に対する評価方法

text matching aspect

distance aspect

reputation aspect

各文書について3つのaspectに対する 適合度ラベルが付与される

9

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

やりたいこと

• 入力されたクエリに対して複数のaspectを持つ文書のランキングの最適化する

Training data

(𝒙11, 𝑦1

1)

… (𝒙2

1, 𝑦2

1)

(𝒙𝑛1

1, 𝑦𝑛1

1)

(𝒙12, 𝑦1

2)

(𝒙22, 𝑦2

2)

(𝒙𝑛2

2, 𝑦𝑛2

2)

(𝒙1𝑁

, 𝑦1𝑁

)

(𝒙2𝑁

, 𝑦2𝑁

)

(𝒙𝑛𝑁

𝑁, 𝑦𝑛𝑁

𝑁)

𝑞1 𝑞2 𝑞𝑁

ただし適合度

ラベルがスカラーではなくベクトル

10

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

従来のアプローチ

• Learning-to-rank手法はひとつのaspect (= relevance) を最適化する手法

• 複数のスコアが与えられた場合には解き方は自明ではない

• 従来手法 (今回のベースライン) – 経験知と勘によって用意されたルールに基づいて複数スコアの線形和で最終スコアに変換

– 最終スコアを適合度と見なして従来のLearning to rankのアプローチで解く

11

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

従来手法の欠点

• (1) ルールの作成が困難

• (2) 現実の問題をとらえるにはちと粗い

–ある素性空間で複数aspectの特徴を表現できるのか?

• aspect毎に異なる素性空間を利用したい

• (3) aspectが増加するとルールも指数的に増加するのでスケールしない

12

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

提案手法のアプローチ

2つのアプローチを提案

• (1) Label aggregation method – ラベルの重みを学習 => 1ラベルに変換

– 1ラベルのランキング学習でモデル作成

• (2) Model aggregation method –各ラベルについてランキング学習でモデル作成

–各モデルの重みを学習

13

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

(ちょっと退屈な) 定義とかの説明

14

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

定義1: Aspect Relevance

• クエリqにおける文書dのk番目のaspectの適

合度は 𝑙 ∈ 𝐿𝑘 = 𝑙𝑘,1 ≺,… ,≺ 𝑙𝑘,𝑛𝑘 良い 悪い

15

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

定義2: Multi-Aspect Relevance

• m個のaspectが与えられた場合には,各aspectに対する適合度をm次元のベクトル𝒚 = 𝑦1, … , 𝑦𝑚

𝑇で表現する

16

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

定義3: Mapping Function

• k番目のaspectの写像関数𝜙𝑘: 𝐿𝑘 → ℝは適合度ラベルを実数値に写像する

–ただし,順序は保持

17

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

定義4: Label Aggregation Function

• 𝒚をoverall relevance value 𝑧に写像する関数ℎ:ℝ𝑚 → ℝ

18

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

よーするに

19

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

Multi-aspect label から overall relevance へ

𝑙1,3

𝑦1

𝑦2

𝑦3

𝑙1,2

𝑙1,1

𝑙2,3

𝑙2,2

𝑙2,1

𝑙3,3

𝑙3,2

𝑙3,1

𝜙1

𝜙2

𝜙3

( )

= 𝒚 ℎ 𝑧

文書に対して1つのラベルに落とし込んだので 従来手法を用いてランキング関数の学習が可能

20

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

用意するもの

21

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

用意するもの

• 訓練データ ℱ = 𝒙, 𝒚

• 選好評価

𝒚𝑖 , 𝒚𝑗 ∈ 𝒫 または 𝒙𝑖 , 𝒙𝑗 ∈ 𝒫

論文中にはranking feature xに関する記述一切なし!! 推して知るべし!!

22

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

図解: 用意するもの

Training data

ℱ={(𝒙, 𝒚)} (𝒙11, 𝒚1

1)

… (𝒙2

1, 𝒚2

1)

(𝒙𝑛1

1, 𝒚𝑛1

1)

(𝒙12, 𝒚1

2)

(𝒙22, 𝒚2

2)

(𝒙𝑛2

2, 𝒚𝑛2

2)

(𝒙1𝑁

, 𝒚1𝑁

) …

(𝒙2𝑁

, 𝒚2𝑁

)

(𝒙𝑛𝑁

𝑁, 𝒚𝑛𝑁

𝑁)

𝑞1 𝑞2 𝑞𝑁

Preference pairs 𝒫

𝒚11, 𝒚2

1

𝒚11, 𝒚3

1

𝒚12, 𝒚2

2 𝒚1

𝑁, 𝒚2

𝑁

23

𝑞1

𝑞2 𝑞3

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

図解: 用意するもの

Training data

ℱ={(𝒙, 𝒚)} (𝒙11, 𝒚1

1)

… (𝒙2

1, 𝒚2

1)

(𝒙𝑛1

1, 𝒚𝑛1

1)

(𝒙12, 𝒚1

2)

(𝒙22, 𝒚2

2)

(𝒙𝑛2

2, 𝒚𝑛2

2)

(𝒙1𝑁

, 𝒚1𝑁

) …

(𝒙2𝑁

, 𝒚2𝑁

)

(𝒙𝑛𝑁

𝑁, 𝒚𝑛𝑁

𝑁)

𝑞1 𝑞2 𝑞𝑁

Preference pairs 𝒫

𝒚11, 𝒚2

1

𝒚11, 𝒚3

1

𝒚12, 𝒚2

2 𝒚1

𝑁, 𝒚2

𝑁

24

𝑞1

𝑞2 𝑞3

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

補足: ranking feature について

MSLR-WEB datasetのfeature (の一部)

(http://research.microsoft.com/en-us/projects/mslr/feature.aspx より抜粋)

+ ・ 地理的な要因

・ 評判を反映するような要因

など?

𝒙 (= Φ 𝑞, 𝑑 ) =

25

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

(1) Label aggregation method

26

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

Label aggregation methodの流れ

• 1. 𝒫を用いてaggregation function ℎ(𝒚) を学習

– 設定されなければ写像関数Φも学習

• 2. 訓練データにℱ = 𝒙, 𝒚 にℎ(𝒚) を適用して

ℱ = 𝒙, ℎ 𝒚 を生成

• 3. 従来のランキング学習手法を用いてランキング関数𝑓ℎを学習

27

1つの適合度ラベル

大事なのここだけ

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

Label aggregation method

以下の2つを提案

• (A) Linear aggregation method

– ラベルの写像関数は人手で設定

• (B) Joint learning method

– ラベルの写像関数も同時に学習

𝑙1,3 𝑦1

𝑦2

𝑦3

𝑙1,2

𝑙1,1

𝑙2,3 𝑙2,2

𝑙2,1

𝑙3,3 𝑙3,2

𝑙3,1

𝜙1

𝜙2

𝜙3

( )

= 𝒚 ℎ 𝑧

(A) ここだけ学習

(B) ここも学習 28

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

(A) Linear aggregation method

29

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

A Linear Aggregation Method (1/2)

• 最も簡単な方法は,

𝑦𝑘 = 𝜙𝑘 𝑙𝑘,𝑠 =𝑠−1

𝑛𝑘−1 for 𝑠 = 1,… , 𝑛𝑘

• これを用いてrelevance label 𝑙𝑘,𝑠を[0, 1]に写像

𝑙1,𝑠 → 𝑦1 𝑙2,𝑠 → 𝑦2

𝑙3,𝑠 → 𝑦3

30

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

A Linear Aggregation Method (2/2)

• multi-aspect relevance vector yに対する線形重みベクトルwを学習するため,以下の損失関数を利用

𝐿 =1

2 max 0, 1 − 𝒘𝑇𝒚𝑖 + 𝒘𝑇𝒚𝑗

2

𝒚𝑖,𝒚𝑗 ∈𝑃

– はて,ヒンジロスを2乗する意図は? (HELP!)

– なお線形「重み」にしたいので𝒘 ≽ 0

– 勾配法で解く (後述)

こんな損失

1- 𝒘𝑇(𝒚𝑖 − 𝒚𝑗)

loss

hinge-loss

𝒘𝑇(𝒚𝑖 − 𝒚𝑗)と解釈すると

「選好順序」に対する0-1損失 の近似

0-1 loss 31

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

(A) Joint learning method

32

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

A Joint Learning Method

• 先ほどの例ではk番目のaspectに対するラベルの写

像関数𝜙𝑘 𝑙𝑘,𝑠 は人手で設定されたものを利用

– これも同時に学習したい!

• そこで今度は下記のような損失関数を利用

𝐿 =1

2 max 0, 1 − 𝒘𝑇Φ(𝒚𝑖) + 𝒘𝑇Φ 𝒚𝑗

2

𝒚𝑖,𝒚𝑗 ∈𝑃

• gradient-and-projection で最適化

33

特に記述はないが線形関数?

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

Gradient-and-projection (1/2)

• 先ほどの損失関数の勾配を計算

– 各パラメータで偏微分

ここで

𝒜𝑘,𝑠 = 𝒚𝑖 , 𝒚𝒋 ∈ 𝒫 𝑦𝑖,𝑘 = 𝑙𝑘,𝑠, 𝑦𝑗,𝑘 ≠ 𝑙𝑘,𝑠}

ℬ𝑘,𝑠 = 𝒚𝑖 , 𝒚𝑗 ∈ 𝒫 𝑦𝑖,𝑘 ≠ 𝑙𝑘,𝑠, 𝑦𝑗,𝑘 = 𝑙𝑘,𝑠}

𝒘𝑇Φ 𝑦𝑖 = (𝑤1 … 𝑤𝑚)𝜙1 𝑙1,𝑠

⋮𝜙𝑚 𝑙𝑚,𝑠

ヒント:

34

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

Gradient-and-projection (1/2)

• gradient した後に制約を満たすように projection

35

FOBOS [Duchi+ 09] と同じノリ?

[Duchi+ 09] J. Duchi, Y. Singer, “Efficient Online and Batch Learning using Forward Backward Splitting”, JMLR, 2009.

制約を満たすように

変更を小さく 変更を小さく

目的関数が凸+線形制約=二次計画

[質問] gradient-and-projection は割とスタンダードな手法なんでしょうか?

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

(2) Model Aggregation

36

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

Model aggregation methodの流れ

• 1. 各aspect 𝑎𝑖に対して 𝑦𝑖 = 𝜙𝑖 𝑙𝑖,𝑠 に基づいてランキング関数𝑓𝑎𝑖

を学習 –従来のランキング学習手法を利用

• 2. 各データについてm次元ベクトル 𝐟 𝒙 = [𝑓𝑎1

𝒙 ,… , 𝑓𝑎𝑚(𝒙)]を生成

• 3. 𝐟 𝒙 と𝒫 を用いてaggregation function ℎを学習

37

大事なのここだけ

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

Aggregation function ℎ の学習

• Aggregation function: ℎ 𝐟 𝒙 = 𝒘𝑇𝐟 𝒙

• 𝒘 を学習するために以下の損失を利用

–最適化は先ほどと同じ

38

※ preference pairsを利用

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

Model aggregation の利点

• (1) 各aspectに異なるモデルを利用可能

–例) text matching aspect には複雑なモデル,distance aspect には単純な回帰モデル

• (2) 𝒚が不要.𝐟 𝒙 があればよい

– クリックログデータなどの外部情報を 𝒙𝑖 , 𝒙𝑗 ∈ 𝒫

として利用可能

39

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

評価実験 (オフライン実験/オンライン実験)

40

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

オフライン実験のデータセット

(a) Category Queries (b) Business Name Queries

ラベルの比率

41

例) Chinese restaurant Los Angeles, CA 90018

例) Bank of America Los Angeles, CA 90018

informational

navigational

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

評価指標

• ペア一致率

– for label aggregation

– for model aggregation

42

※ 今回の損失関数で近似的に最適化している指標

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

比較手法

• Rule – 人手で 𝒚 → 𝑧 してランキング学習

• Ed-overall – 𝒫𝑡𝑟𝑎𝑖𝑛を使ってランキング学習

• Click – クリックログを使ってランキング学習

• Linear [proposed]

– linear aggregation model

• Joint [proposed]

– joint learning model

• ModAgg [proposed]

– Model aggregation method

43

※ ランキング学習には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 and its application to learning ranking functions for web search”, NIPS 2008.

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

補足: クリックログの量

• √1441975 ≒ 1200 (≒ 約1200文書)

• √58782 ≒ 242 (≒ 約242文書)

44

クエリ数は論文に記述されておらず...

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

実験1: Label aggregation の精度

• これ↑だけを使って label aggregation した場合のペア一致率の比較

45

Jointで精度が上がらないのは𝜙𝑘が線形関数だから?

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

実験2: Model aggregation の精度

46

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

考察: 各 aspect の重み

• Category query

47

• Business name query

– distance が効いてくる

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

オンライン実験

• Local search engine で Bucket test – Cookie でユーザを分類 – 同じユーザに対しては同じランキング手法で結果を提示

• 実験手法

– Rule vs. Linear (2 weeks) – Linear vs. ModAgg (another 2 weeks)

• 評価: Click-Through Rate (CTR) @i

– 検索結果i番目までに表示された数のうち,クリックされた比率

48

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

CTR5の比較

※ 期間が異なるのでLinear の結果が異なっていることに注意 49

Linear > Rule (p-value < 0.01) ModAgg > Linear (p-value < 0.01)

x軸は日付

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

まとめ

• 複数のaspectを持つvertical search (今回はlocal search) におけるランキング関数学習において以下の2つのアプローチを提案 – (1) Label aggregation

• (A) Linear aggregation • (B) Joint aggregation

– (2) Model aggregation

• オフライン,オンラインいずれの実験においてもベースラインを上回る精度を示した

• 今回の手法では aspect は人手で設定されている必要がある.Aspect の自動獲得はfuture work.

50

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

おしまい

51