SlideShare a Scribd company logo
1 of 33
Download to read offline
WSDM 2018読み会
Position Bias estimation for unbiased learning to rank in
personal search
2018/4/14 (⼟) 坪坂正志
m.tsubosaka@gmail.com
紹介する論⽂
• Position Bias estimation for unbiased learning to rank in
personal search
• 著者は全員Google
• Unbiased learning to rankというバイアスを考慮したランキング学習
の⽅法について扱っている
• 従来法で必要だった検索結果をランダマイズして出⼒するという⼯程
がいらなくなっている
⽬次
• 背景、関連研究
• Unbiased learning-to-rank
• Propensity estimation
• 実験
やりたいこと(前提)
• 与えられたクエリに対して、よりクエリと関連度の⾼い検索
結果の⽂章を上に持ってきたい
マッチしている
マッチしていない
マッチしている
関連しているかどうかの判定
• Explicit relevance judgements
• ⼈間の専⾨家がクエリと⽂章について合っているかどうかを判定する
• Learning to rankの研究でよく⽤いられるLETOR datasetなどはこの⽅
法でRelevanceが判定されている
• この⽅法でのラベル付けはコストが⾼い
• Implicit relevance judgements
• 検索エンジンのクリックログからクエリに対してクリックされた⽂章
を関連しているとみなす
• ラベル数を集めるのはトラフィックが多ければ⼤量にあつまる
• ただこの⽅法での学習は表⽰順序にbiasされることが知られている
表⽰順序によるバイアス
クリックされた
クリックされない
クリックされない
ユーザは検索結果の上の⽅にある⽂章をよ
りクリックしやすいことが知られている
左の例では2番⽬の⽂章がクリックされない
のと3番⽬の⽂章がクリックされないでは、
前者はクエリと関連がなかったからクリッ
クされなかったが後者は表⽰順序が低いた
めクリックされなかったと意味が違ってく
る
このため単純にクリックデータを正解とし
て、機械学習を⾏うと現状の検索エンジン
の結果にひきずられるという現象が発⽣す
る
Click modeling
• ユーザが⽂章をクリックするモデルを考え、⽂章の表⽰位置の
影響を除いた⽂章とクエリの関係性を推定する
• 多くの場合以下の仮定を⾏う
• ⽂章がユーザによって検討(Examine)される and ⽂章がクエリと関係
する => ユーザが⽂章をクリックする
• すなわち 𝑃(𝐶 = 1) = 𝑃 𝐸 = 1 𝑃(𝑅 = 1)
• 推定した𝑃(𝑅 = 1) の部分を学習器に⼊れる
• クリックモデリングの⽅法としてはCascade model, UBM, DBN, CCM
などが提案されている
Unbiased Learning to rank
• Click modelingではバイアスを除いたクエリと⽂章の関連度を
推定している、クエリに対する⽂章のランキングの学習はその
後の処理で⾏う
• ⼀⽅近年出てきたUnbiased learning-to-rankという枠組みでは
バイアスがあるデータからランキング学習まで⾏うということ
を⾏っている
• 去年(2017年)のWSDMのBest paper : Unbiased learning-to-rank with
biased feedback
本論⽂について
• 先⾏研究同様にUnbiased learning to rankを扱う
• 先⾏研究ではP(E=1|k) (k番⽬に⽂章を表⽰した時にユーザに
⾒られる確率)の推定にライブテストを利⽤する必要があった
• 具体的には1番⽬の⽂章と2番⽬の⽂章を⼊れ替えた結果をA/Bテスト
して⼆つの差を⾒る
• この場合ランダムな結果を出す必要があり、ユーザ体験を悪く
する
• 本論⽂ではEMアルゴリズムを利⽤して、ランダムな結果を出
さずにunbiased learning to rankを⾏う⽅法を提案した
⽬次
• 背景、関連研究
• Unbiased learning-to-rank
• Propensity estimation
• 実験
表記・仮定
• 𝑂* : クエリのi番⽬の⽂章の関連度が明らかになっているかどう
か, 0/1の値をとる
• 𝑟* : i番⽬の⽂章が関連しているかどうか, 0/1の値をとる
• 𝑐* : i番⽬の⽂章がクリックされたかどうか
• 𝑐* = 1	 ⟷ 𝑟* = 1	𝑎𝑛𝑑	𝑜* = 1
Document level propensity
• システムのパフォーマンスの尺度として、関連する⽂章のRank
を考える
• 𝑅𝑎𝑛𝑘 = ∑ 𝑟*	𝑖*
• この値を最⼩化する
• 𝑟*	はすべて観測されていないため、観測されているところに関
してだけを使いバイアスを補正した
• 𝑅𝐴𝑁𝐾 = ∑
:;	*
< =;>?@;>?,:;>? = ∑ 𝑤* 	C 𝑖@;>?,:;>?
• を指標とする. 上の指標は観測されかつ関連してるので=>クリックさ
れた⽂章の表⽰順位のみで表される
• ここで𝑤* =
?
< =;>?
をIPW推定量という
𝑅𝐴𝑁𝐾のunbiased性の証明
𝐸[𝑅𝐴𝑁𝐾] = 𝐸@[ F
𝑖	 C 𝑟*
𝑃 𝑂* = 1
@;>?
]
= F 𝐸=;
[
𝑖	 C 𝑜*	 𝑟*
𝑃 𝑂* = 1
]
*
= F 𝑖 C 𝑟*
*
= 𝑅𝐴𝑁𝐾
Unbiased learning algorithms
• 𝑅𝐴𝑁𝐾の最適化はSVMRankのようなペアワイズなアルゴリズム
で最適化できる。具体的には学習されたランク関数のi番⽬の⽂
章に対するスコアを𝑠*とすると𝑅𝐴𝑁𝐾の⽬的関数は下のように
なる
ようするに
• 4番⽬に表⽰された⽂章が、observeされる確率が1/4であれば、
4番⽬に表⽰された⽂章がクリックされた場合、その(クエリ,⽂
章)に関する重みを4倍にして学習をする必要がある
⽬次
• 背景、関連研究
• Unbiased learning-to-rank
• Propensity estimation
• 実験
Position bias model
• 観測されたクリックのモデルとして以下のようなモデルを考え
る
• 𝑃 𝐶 = 1 𝑞, 𝑑, 𝑘 = 𝑃 𝐸 = 1 𝑘 𝑃(𝑅 = 1|𝑞, 𝑑)
• 𝜃K = 𝑃 𝐸 = 1 𝑘 は⽂章が⾒られる確率で、⽂章の表⽰位置のみによる
値
• 𝛾M,N = 𝑃 𝑅 = 1 𝑞, 𝑑 はクエリと⽂章の関連性のみによる値
• 上のモデルにおいてはEとOは等価となる
Result randomization
• 𝜃K = 𝑃 𝐸 = 1 𝑘 を推定する⽅法として、実際のトラフィック
で出⼒結果をランダムに配信して送る⽅法が考えられる
• Randomize TopN
• 出⼒の並びをすべてランダムに配信
• 𝜃Kはk番⽬に表⽰した⽂章のクリック率から推定可能
• Randomize Pair
•
OP
OPQR
をk番⽬の出⼒とk-1番⽬の出⼒を⼊れ替えることによって推定
•
OP
OR
=
OS
OR
OT
OS
⋯
OP
OPQR
• と𝜃?との⽐率を推定する
Result randomizationによる推定結果
Result randomizationの影響
• Result randomizationはpropensityをbiasなしで計測する⽅法
としては優れているが、実際にliveのトラフィックで結果をラ
ンダマイズして流すとユーザ体験を⼤きく損なう
EMアルゴリズムによる推定
• 本論⽂ではResult randomizationなしにポジションバイアスを推
定する⽅法について提案する
• ⽅法としてはEMアルゴリズムを⽤いる
• 与えられたデータセット𝐿 = { 𝑐, 𝑞, 𝑑, 𝑘 }に対して、尤度を最⼤化
するようなパラメータを学習する
EMアルゴリズムによる推定
• クリックログとパラメータが
与えられた元での潜在変数E,R
の分布を推定する
• 潜在変数E,Rの分布からパラ
メータを最尤推定する
Regression-based EM
• 𝛾M,N = 𝑃 𝑅 = 1 𝑞, 𝑑 の推定については新規⽂章に対応できない
ことや設定としてパーソナライズ検索を考えているため(クエリ,
⽂章)に対して⼗分な数のクリックが集まらないといった問題が
ある
• 𝛾M,N = 𝑓(𝑥M,N)とクエリと⽂章の関連度を特徴量ベクトルを使っ
て表す
Regression-based EM
通常のランク学習と⼤きく異なる点とし
ては6⾏⽬の部分でクリックされていな
いデータについてもP(R=1|c=0, q, d,k)
に従って、rをサンプリングするためク
リックされていないデータも正解の学習
データとして扱われるところ
Embedded
• EM以外の⽅法としては特徴ベクトルに⽂章の表⽰順位を⼊れ
て学習を⾏うというものがある
• また学習器としてGBDTを⽤いるが他の特徴量との⼲渉を防ぐ
ため、1番⽬の分岐のところに表⽰順位を持ってくる
⽬次
• 背景、関連研究
• Unbiased learning-to-rank
• Propensity estimation
• 実験
データセット
• メールおよびストレージサービスの検索ログを利⽤
• 各クエリについてはたかだか1回のクリックしかないものとする
• 理由として検索結果がoverlayで出てクリックされると消えるため
• 4⽉の2週間の期間を抜き出して、1週間を訓練データ、残りの
1週間をテストデータとする
• 1週間で4M程度のクエリが存在する
評価について
• MRR (mean reciprocal rank)を評価指標として利⽤する
• MRR =
?
[
∑
?
:]K;
[
*>?
• ここで𝑟𝑎𝑛𝑘*は𝑖番⽬のクエリ中においてランキングアルゴリズムの出
⼒の何番⽬の⽂章がクリックされたかを表す
• MRR =
?
∑ ^;
_
;`R
∑ 𝑤*
?
:]K;
[
*>?
• 他同様にMRRもクリックだけを⽤いるとバイアスが⼊るため補正する
Estimated relevance
• EMアルゴリズムのほうがEmbeddedよりも性能がよかった
• 値はベースラインからの相対の差となっている
• ベースラインはポジションバイアスを考慮しない、pointwiseなGBDT
モデル
Estimated position bias
• 下の図は1位を1としてpositionによるバイアスをプロットした
もの
• RandPairがGround truthとなっている
• Empiricalは各順位ごとのCTRを出したもの (通常関連性の低い⽂章が
下にくるため、下位のポジションバイアスが過⼤評価される)
Ranking improvement
• 他同様にバイアスを補正した指標Prec
を⽤いてlambdaMARTで学習を⾏った
• バイアスの補正をしないNocorrection
に⽐べEMCorrectedは出⼒の
randomizationを⾏うRandPair同等の
性能をrandomizationなしに達成して
いる
• EMCorrectedではEMで求めた𝜃Kのみを⽤
いてpairwisedなranking学習を⾏う
Unbiased pointwise learning
• EMを利⽤してPointwiseで学習する⽅法はベースラインよりも性
能は⾼いがペアワイズの学習にはおよばない
Future work
• Pairwise algorithmを前提としているがunbiased なPointwise
algorithmへの拡張
• Binary relevanceを前提としてるが多段階評価の場合への拡張
• より洗練されたクリックモデルへの拡張

More Related Content

What's hot

劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章Hakky St
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)AtCoder Inc.
 
グラフデータ分析 入門編
グラフデータ分析 入門編グラフデータ分析 入門編
グラフデータ分析 入門編順也 山口
 
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)Tatsuya Yokota
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれからcyberagent
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方ychtanaka
 
「いい検索」を考える
「いい検索」を考える「いい検索」を考える
「いい検索」を考えるShuryo Uchida
 
傾向スコアの概念とその実践
傾向スコアの概念とその実践傾向スコアの概念とその実践
傾向スコアの概念とその実践Yasuyuki Okumura
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
SIGIR2011読み会 3. Learning to Rank
SIGIR2011読み会 3. Learning to RankSIGIR2011読み会 3. Learning to Rank
SIGIR2011読み会 3. Learning to Ranksleepy_yoshi
 
エントリー層向けセミナー#04『はじめての最適化』
エントリー層向けセミナー#04『はじめての最適化』エントリー層向けセミナー#04『はじめての最適化』
エントリー層向けセミナー#04『はじめての最適化』The Japan DataScientist Society
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案Masanori Kado
 
多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジーKLab Inc. / Tech
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性Hibiki Yamashiro
 

What's hot (20)

劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
 
グラフデータ分析 入門編
グラフデータ分析 入門編グラフデータ分析 入門編
グラフデータ分析 入門編
 
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)
 
モデルベース協調フィルタリングにおける推薦の透明性に関する検討
モデルベース協調フィルタリングにおける推薦の透明性に関する検討モデルベース協調フィルタリングにおける推薦の透明性に関する検討
モデルベース協調フィルタリングにおける推薦の透明性に関する検討
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方
 
「いい検索」を考える
「いい検索」を考える「いい検索」を考える
「いい検索」を考える
 
傾向スコアの概念とその実践
傾向スコアの概念とその実践傾向スコアの概念とその実践
傾向スコアの概念とその実践
 
ドロネー三角形分割
ドロネー三角形分割ドロネー三角形分割
ドロネー三角形分割
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
SIGIR2011読み会 3. Learning to Rank
SIGIR2011読み会 3. Learning to RankSIGIR2011読み会 3. Learning to Rank
SIGIR2011読み会 3. Learning to Rank
 
エントリー層向けセミナー#04『はじめての最適化』
エントリー層向けセミナー#04『はじめての最適化』エントリー層向けセミナー#04『はじめての最適化』
エントリー層向けセミナー#04『はじめての最適化』
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 

More from 正志 坪坂

KDD 2016勉強会 Deep crossing
KDD 2016勉強会 Deep crossingKDD 2016勉強会 Deep crossing
KDD 2016勉強会 Deep crossing正志 坪坂
 
Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会正志 坪坂
 
WSDM 2016勉強会 Geographic Segmentation via latent factor model
WSDM 2016勉強会 Geographic Segmentation via latent factor modelWSDM 2016勉強会 Geographic Segmentation via latent factor model
WSDM 2016勉強会 Geographic Segmentation via latent factor model正志 坪坂
 
Deeplearning勉強会20160220
Deeplearning勉強会20160220Deeplearning勉強会20160220
Deeplearning勉強会20160220正志 坪坂
 
OnlineMatching勉強会第一回
OnlineMatching勉強会第一回OnlineMatching勉強会第一回
OnlineMatching勉強会第一回正志 坪坂
 
Tokyowebmining ctr-predict
Tokyowebmining ctr-predictTokyowebmining ctr-predict
Tokyowebmining ctr-predict正志 坪坂
 
Riak Search 2.0を使ったデータ集計
Riak Search 2.0を使ったデータ集計Riak Search 2.0を使ったデータ集計
Riak Search 2.0を使ったデータ集計正志 坪坂
 
Contexual bandit @TokyoWebMining
Contexual bandit @TokyoWebMiningContexual bandit @TokyoWebMining
Contexual bandit @TokyoWebMining正志 坪坂
 
Introduction to contexual bandit
Introduction to contexual banditIntroduction to contexual bandit
Introduction to contexual bandit正志 坪坂
 
確率モデルを使ったグラフクラスタリング
確率モデルを使ったグラフクラスタリング確率モデルを使ったグラフクラスタリング
確率モデルを使ったグラフクラスタリング正志 坪坂
 
Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)正志 坪坂
 
static index pruningについて
static index pruningについてstatic index pruningについて
static index pruningについて正志 坪坂
 

More from 正志 坪坂 (20)

Recsys2018 unbiased
Recsys2018 unbiasedRecsys2018 unbiased
Recsys2018 unbiased
 
Recsys2016勉強会
Recsys2016勉強会Recsys2016勉強会
Recsys2016勉強会
 
KDD 2016勉強会 Deep crossing
KDD 2016勉強会 Deep crossingKDD 2016勉強会 Deep crossing
KDD 2016勉強会 Deep crossing
 
Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会
 
WSDM 2016勉強会 Geographic Segmentation via latent factor model
WSDM 2016勉強会 Geographic Segmentation via latent factor modelWSDM 2016勉強会 Geographic Segmentation via latent factor model
WSDM 2016勉強会 Geographic Segmentation via latent factor model
 
Deeplearning勉強会20160220
Deeplearning勉強会20160220Deeplearning勉強会20160220
Deeplearning勉強会20160220
 
OnlineMatching勉強会第一回
OnlineMatching勉強会第一回OnlineMatching勉強会第一回
OnlineMatching勉強会第一回
 
Recsys2015
Recsys2015Recsys2015
Recsys2015
 
KDD 2015読み会
KDD 2015読み会KDD 2015読み会
KDD 2015読み会
 
Recsys2014 recruit
Recsys2014 recruitRecsys2014 recruit
Recsys2014 recruit
 
EMNLP2014_reading
EMNLP2014_readingEMNLP2014_reading
EMNLP2014_reading
 
Tokyowebmining ctr-predict
Tokyowebmining ctr-predictTokyowebmining ctr-predict
Tokyowebmining ctr-predict
 
KDD2014_study
KDD2014_study KDD2014_study
KDD2014_study
 
Riak Search 2.0を使ったデータ集計
Riak Search 2.0を使ったデータ集計Riak Search 2.0を使ったデータ集計
Riak Search 2.0を使ったデータ集計
 
Contexual bandit @TokyoWebMining
Contexual bandit @TokyoWebMiningContexual bandit @TokyoWebMining
Contexual bandit @TokyoWebMining
 
Introduction to contexual bandit
Introduction to contexual banditIntroduction to contexual bandit
Introduction to contexual bandit
 
確率モデルを使ったグラフクラスタリング
確率モデルを使ったグラフクラスタリング確率モデルを使ったグラフクラスタリング
確率モデルを使ったグラフクラスタリング
 
Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)Big Data Bootstrap (ICML読み会)
Big Data Bootstrap (ICML読み会)
 
Tokyowebmining2012
Tokyowebmining2012Tokyowebmining2012
Tokyowebmining2012
 
static index pruningについて
static index pruningについてstatic index pruningについて
static index pruningについて
 

WSDM2018Study