SlideShare une entreprise Scribd logo
1  sur  35
Gunosy勉強会
論文輪読
Gunosy Inc.
Coffee Yoshida

2013/10/23

1
発表する論文
• Optimizing Search Engines using Clickthrough Data
(http://dl.acm.org/citation.cfm?id=775067)

–
–
–
–

著者 : Thorsten Joachims (Cornell University)
引用数 : 2137
学会 : KDD ’02
内容 :
• Ranking SVM (http://en.wikipedia.org/wiki/Ranking_SVM )
• クエリログ・クリックログを用いて検索エンジン
の精度向上を行う

2013/10/23

2
1. INTRODUCTION
• 検索結果に対して、ユーザから明示的なフィー
ドバックを得るのは難しい
• クリックログという暗黙的なフィードバックは
無料でたくさん手に入る
• クリックログを用いて、検索結果のランキング
の修正を行う
• ランキング学習にSVMを使用する

2013/10/23

3
2. CLICKTHROUGH DATA IN SEARCH ENGINES
• クリックログについて
– clickthrough data in search engines = (q, r, c)
• q : クエリ
• r : ユーザに提示される検索結果のランキング
• c : ユーザがクリックしたリンク(複数)

2013/10/23

4
2.1 Recording Clickthrough Data
• クリックログの取り方
– プロキシかまして取った

2013/10/23

5
2.2 What Kind of Information does
Clickthrough Data Convey?
• クリックログからどんな情報が得られるか?
– (q, r, c) は強く依存しあっている
– 依存関係を適切にモデル化する必要がある
– クエリが違えば、表示される検索結果のランキングは異
なる
– クエリに関連したリンクをクリックしやすい

– ランキングで上位に表示されたリンクをクリックしやす
い

– クリックしたリンクとクエリとの関連性は、絶対的
なものではなく、ユーザが閲覧したリンクの中で、
相対的に関連性が高かったと考える
2013/10/23

6
2.2 What Kind of Information does
Clickthrough Data Convey?
• クリックログからどんな情報が得られるか?
– 下の検索結果10個の内、1・3・7番目をクリックした
場合に、得られる情報は、クエリとリンクの関連性
について、
3番目のリンク > 2番目のリンク
7番目のリンク > 2・4・5・6番目のリンク

2013/10/23

7
2.2 What Kind of Information does
Clickthrough Data Convey?
• クリックログからどんな情報が得られるか?
– 下の検索結果10個の内、1・3・7番目をクリックした
場合
– クエリとリンクの関連性は、
3番目のリンク > 2番目のリンク
7番目のリンク > 2・4・5・6番目のリンク

最適なランキングr*において、3番目のリンクが、
2番目のリンクよりも下にくることを意味する
2013/10/23

8
2.2 What Kind of Information does
Clickthrough Data Convey?
• クリックログからどんな情報が得られるか?

• このような形式のフィードバックに適した機械学習アルゴリズムは
無いので、次章以降で考える

2013/10/23

9
3. A FRAMEWORK FOR LEARNING
OF RETRIEVAL FUNCTIONS
• 最適な情報検索システム
– クエリ q と、文書集合 D = {d1, d2, …, dm} が与えられた
時に、文書をクエリとの関連度順のランキング r* で
返す

• 実際の情報検索システム
– ランキング関数 f を持つ
– 最適なランキング r* とは異なるランキング rf(q) を返
す
– rf(q) が r* に近いほど f は優れている

• ランキング r
– rf(q), r* ⊂ D × D = m × m の2値行列
–
2013/10/23ランキング r で、di のランクがdj よりも高い時、(di,

10
3. A FRAMEWORK FOR LEARNING
OF RETRIEVAL FUNCTIONS
• rf(q) と r* の類似度の指標に、Kendall’s τ を用いる

(Kendall tau distance: http://en.wikipedia.org/wiki/Kendall_tau_distance )

• P : 順位の並びが r* と同じだったペアの
数
• Q :順位の並びが r* と逆だったペアの数
– 例 • m : ドキュメント数
• τ(ra, rb) = (7-3) / (7+3)
= 0.4
– これが情報検索の他の指標と相関したり、関連があること
を述べてる
2013/10/23

11
3. A FRAMEWORK FOR LEARNING
OF RETRIEVAL FUNCTIONS
• ランキング学習の問題定義
– 文書集合 D において、クエリ q と最適なランキング
r* の分布 Pr(q, r*) が与えられた時に、Kendall’s τ を最
大化するランキング関数 f を求める

2013/10/23

12
4. AN SVM ALGORITHM FOR LEARNING
OF RANKING FUNCTIONS
• 学習について
– サイズ n の訓練データ (q1, r1*), (q2, r2*), …, (qn, rn*)が与えら
れた時、学習器 L は、ランキング関数群 F からKendall’s τ
を最大化するランキング関数 f を選択する
– 学習データは有限なので、Kendall’s τ は以下の式で表され
る

• 以下の条件を満たす学習アルゴリズムを考える
– 効率的にランキング関数群 F から Kendall’s τ を最大化する
ランキング関数 f を発見する
– 過学習しない
2013/10/23

13
4.1 The Ranking SVM Algorithm
• 線形ランキング関数 fw
– w : 重みベクトル
– Φ : クエリ q と文書 d を、それらのマッチ具合を表す
特徴ベクトルへ写像する関数
• 特徴ベクトルは実験の章で出てくる
– クエリと文書の単語の類似度とか

2013/10/23

14
4.1 The Ranking SVM Algorithm
• 線形ランキング関数 fw
– 文書 1〜4の順番は、重みベクトル w に射影された点
の順番となる

w1でのランキングは (1, 2, 3, 4)
w2でのランキングは (2, 3, 1, 4)

2013/10/23

15
4.1 The Ranking SVM Algorithm
• 最適化
– Kendall’s τ の最大化 = Q の最小化

– Q : rf(*) と r* で、順位の並びが異なる文書ペアの数
– 線形ランキング関数においては、
Q の最小化 =
すwの発見

2013/10/23

を満た

16
4.1 The Ranking SVM Algorithm
• 最適化
–

2013/10/23

を満たすwを見つ
けるのはNP困難なので、スラック変数 ξ を導入して
近似解を求める

17
4.1 The Ranking SVM Algorithm
• 最適化
–
を、
と見ると2値分類ぽい
– SVMを使う

2013/10/23

18
4.1 The Ranking SVM Algorithm
• 最適化
– カーネル使って非線形ランキング関数にも対応可能

– カーネル使わないほうが早いので、実験では線形でやって
るみたい

– 先にあげていた以下の条件を両方満たす
• 効率的にランキング関数群 F から Kendall’s τ を最大化す
るランキング関数 f を発見する
• 過学習しない
2013/10/23

19
4.1 The Ranking SVM Algorithm
• 検索関数
– ランキング関数を学習した後は、新しいクエリ q に
対して、各文書のスコアを算出し、ソートして表示
する

2013/10/23

20
4.1 The Ranking SVM Algorithm
• まとめると、
• 訓練
1. クエリと文書を両者の類似度を表すような特徴空間
に射影する(特徴ベクトルで表す)
2. 特徴ベクトル間の距離を算出する
3. SVMを用いて分類問題として解く

• テスト
– 文書をスコア順に並び替え
2013/10/23

21
4.2 Using Partial Feedback
• 実際には、最適なランキング r* というのは未知
で、クリックログから取得した r’ を用いて学習
することになる

2013/10/23

22
5. EXPERIMENTS
• オフラインとオンラインの実験を通して
– クリックログから嗜好を抽出できること
– Ranking SVMが検索精度を向上させること
を示す

2013/10/23

23
5.1 Experiment Setup: Meta-Search
• 実験環境
– Striver
• 複数の検索エンジンの結果を表示するメタ検索エ
ンジン
• クエリを入力すると、Google、MSNSearch、Excite、
Altavista、Hotbotから100件ずつ結果を取得し、ラ
ンキング関数 f で並び替えして、50件をユーザに
表示する

2013/10/23

24
5.1 Experiment Setup: Meta-Search
• 検索結果精度の比較方法
– 2つのランキング関数による結果を混ぜて出す
– 例)
• 結果Aと結果Bを混ぜて結果Cにする
• Aから1件出して、Bから1件出して、Aから、、、
をCとするみたいな
– ユーザがクリックしたリンクを、より多く輩出した
ランキング関数の性能が優れているとする
– 先行研究と同様の方法らしい

2013/10/23

25
5.2 Offline Experiment
• Ranking SVM がクリックログを用いて嗜好の規則
性を学習できることを示す
• 筆者自身でStriverを使用して、112クエリの教師
データを作成した

2013/10/23

26
5.2 Offline Experiment
• 特徴ベクトル Φ(q, d)
1. 他検索エンジンの結果
2. クエリと文書のマッチ具合
3. 文書の人気度

– 実装が容易かつ、ランキングに効果のありそうなも
のを選択した
– 改良の余地がある

2013/10/23

27
5.2 Offline Experiment
1. 他検索エンジンの結果
– top1_X: ranked #1 in X ∈ {Google, MSNSearch, Al- tavista,
Hotbot, Excite} (binary {0, 1})
– top10_X: ranked in top 10 in X ∈ {Google, MSN- Search,
Altavista, Hotbot, Excite} (binary {0, 1})
– top50_X: ranked in top 50 in X ∈ {Google, MSN- Search,
Altavista, Hotbot, Excite} (binary {0, 1})
– rf(q): ranked #1 in X of the 5 search engines
– top10count_X: ranked in top 10 in X of the 5 search
engines
– top50count_X: ranked in top 50 in X of the 5 search
engines
2013/10/23

28
5.2 Offline Experiment
2. クエリと文書のマッチ具合
– query_url_cosine: cosine between URL-words and query
(range [0, 1])
– query_abstract_cosine: cosine between title-words and
query (range [0, 1])
– domain_name_in_query: query contains domain-name
from URL (binary {0, 1})

2013/10/23

29
5.2 Offline Experiment
3. 文書の人気度
– url_length: length of URL in characters divided by 30
– country_X: country code X of URL (binary attribute {0, 1}
for each country code)
– domain_X: domain X of URL (binary attribute {0, 1} for
each domain name)
– abstract_contains_home: word “home” appears in URL or
title (binary attribute {0, 1})
– url_contains_tilde: URL contains “∼” (binary attri- bute {0,
1})
– url_X: URL X as an atom (binary attribute {0,1})

2013/10/23

30
5.2 Offline Experiment
• 実験結果
– 115個のクエリの内、訓練に使用するデータ数を変えて、
Precision Error(順位の並び間違いの割合)の変化を見る
– 訓練データを増やすにつれ、Errorが下がっている
– クリックログから筆者の嗜好の規則性を取得出来ている

2013/10/23

31
5.3 Interactive Online Experiment
• ユーザ20人に使用してもらい、訓練データを作
成した(260クエリ)
• 180クエリを用いて、Google、MSNSearch、
Toprankと精度を比較した
– Toprank(Google, MSNSearch, Altavista, Excite、Hotbotの
検索結果を上位から順番に表示したもの)

• Ranking SVMが1番だった(二項検定の結果有意水準5%で有意な結
果)

2013/10/23

32
5.4 Analysis of the Learned Function
• 効いてる特徴量について
– ランキング関数として線形なものを選択したため、
重みベクトルを見ることで、各特徴量効き具合を調
べることが出来る
– 正だと効いてて、負だと逆効果

2013/10/23

33
まとめ
• クリックログを用いて、相対的な嗜好順位とい
う訓練データを取得し使用した
• ランキング関数の学習アルゴリズムを提案し、
SVMを用いて実行した
• 実験で他検索エンジンよりも良い結果だった

2013/10/23

34
実装
• SVM-rank
– http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.
html

2013/10/23

35

Contenu connexe

Tendances

Infer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみたInfer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみた正志 坪坂
 
Learning to Ask Good Questions: Ranking Clarification Questions using Neura...
Learning to Ask Good Questions:  Ranking Clarification Questions  using Neura...Learning to Ask Good Questions:  Ranking Clarification Questions  using Neura...
Learning to Ask Good Questions: Ranking Clarification Questions using Neura...ryoma yoshimura
 
SIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to RankSIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to Ranksleepy_yoshi
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことRetrieva inc.
 
Topic discovery through data dependent and random projections
Topic discovery through data dependent and random projectionsTopic discovery through data dependent and random projections
Topic discovery through data dependent and random projectionsTakanori Nakai
 
Infer.netによるldaの実装
Infer.netによるldaの実装Infer.netによるldaの実装
Infer.netによるldaの実装池田 直哉
 

Tendances (8)

Infer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみたInfer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみた
 
Learning to Ask Good Questions: Ranking Clarification Questions using Neura...
Learning to Ask Good Questions:  Ranking Clarification Questions  using Neura...Learning to Ask Good Questions:  Ranking Clarification Questions  using Neura...
Learning to Ask Good Questions: Ranking Clarification Questions using Neura...
 
NLP2012
NLP2012NLP2012
NLP2012
 
SIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to RankSIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to Rank
 
演習発表 Sari v.1.0
演習発表 Sari v.1.0演習発表 Sari v.1.0
演習発表 Sari v.1.0
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
Topic discovery through data dependent and random projections
Topic discovery through data dependent and random projectionsTopic discovery through data dependent and random projections
Topic discovery through data dependent and random projections
 
Infer.netによるldaの実装
Infer.netによるldaの実装Infer.netによるldaの実装
Infer.netによるldaの実装
 

Similaire à Optimizing Search Engines using Clickthrough Data

Ai for marketing
Ai for marketingAi for marketing
Ai for marketingHiroki Iida
 
Generating Better Search Engine Text Advertisements with Deep Reinforcement L...
Generating Better Search Engine Text Advertisements with Deep Reinforcement L...Generating Better Search Engine Text Advertisements with Deep Reinforcement L...
Generating Better Search Engine Text Advertisements with Deep Reinforcement L...harmonylab
 
NIPS2010読み会: A New Probabilistic Model for Rank Aggregation
NIPS2010読み会: A New Probabilistic Model for Rank AggregationNIPS2010読み会: A New Probabilistic Model for Rank Aggregation
NIPS2010読み会: A New Probabilistic Model for Rank Aggregationsleepy_yoshi
 
【DL輪読会】GPT-4Technical Report
【DL輪読会】GPT-4Technical Report【DL輪読会】GPT-4Technical Report
【DL輪読会】GPT-4Technical ReportDeep Learning JP
 
TensorFlowとは? ディープラーニング (深層学習) とは?
TensorFlowとは? ディープラーニング (深層学習) とは?TensorFlowとは? ディープラーニング (深層学習) とは?
TensorFlowとは? ディープラーニング (深層学習) とは?KSK Analytics Inc.
 
情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成kt.mako
 
Introduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithmIntroduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithmHiroki Iida
 
Deep learning for_extreme_multi-label_text_classification
Deep learning for_extreme_multi-label_text_classificationDeep learning for_extreme_multi-label_text_classification
Deep learning for_extreme_multi-label_text_classificationJunya Kamura
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 
Toxic comment classification
Toxic comment classificationToxic comment classification
Toxic comment classificationNasuka Sumino
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也harePreferred Networks
 
オントロジー検索エンジンを用いた領域オントロジー構築支援環境DODDLE-OWLの拡張
オントロジー検索エンジンを用いた領域オントロジー構築支援環境DODDLE-OWLの拡張オントロジー検索エンジンを用いた領域オントロジー構築支援環境DODDLE-OWLの拡張
オントロジー検索エンジンを用いた領域オントロジー構築支援環境DODDLE-OWLの拡張Takeshi Morita
 
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Shinsuke Sugaya
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep LearningTadaichiro Nakano
 
コンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかコンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかgree_tech
 
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on TwitterKDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twittersleepy_yoshi
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Kenta Oono
 

Similaire à Optimizing Search Engines using Clickthrough Data (20)

Ai for marketing
Ai for marketingAi for marketing
Ai for marketing
 
Generating Better Search Engine Text Advertisements with Deep Reinforcement L...
Generating Better Search Engine Text Advertisements with Deep Reinforcement L...Generating Better Search Engine Text Advertisements with Deep Reinforcement L...
Generating Better Search Engine Text Advertisements with Deep Reinforcement L...
 
ipsjifat201909
ipsjifat201909ipsjifat201909
ipsjifat201909
 
NIPS2010読み会: A New Probabilistic Model for Rank Aggregation
NIPS2010読み会: A New Probabilistic Model for Rank AggregationNIPS2010読み会: A New Probabilistic Model for Rank Aggregation
NIPS2010読み会: A New Probabilistic Model for Rank Aggregation
 
【DL輪読会】GPT-4Technical Report
【DL輪読会】GPT-4Technical Report【DL輪読会】GPT-4Technical Report
【DL輪読会】GPT-4Technical Report
 
PFI Christmas seminar 2009
PFI Christmas seminar 2009PFI Christmas seminar 2009
PFI Christmas seminar 2009
 
TensorFlowとは? ディープラーニング (深層学習) とは?
TensorFlowとは? ディープラーニング (深層学習) とは?TensorFlowとは? ディープラーニング (深層学習) とは?
TensorFlowとは? ディープラーニング (深層学習) とは?
 
情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成
 
Introduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithmIntroduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithm
 
Deep learning for_extreme_multi-label_text_classification
Deep learning for_extreme_multi-label_text_classificationDeep learning for_extreme_multi-label_text_classification
Deep learning for_extreme_multi-label_text_classification
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
Toxic comment classification
Toxic comment classificationToxic comment classification
Toxic comment classification
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
 
オントロジー検索エンジンを用いた領域オントロジー構築支援環境DODDLE-OWLの拡張
オントロジー検索エンジンを用いた領域オントロジー構築支援環境DODDLE-OWLの拡張オントロジー検索エンジンを用いた領域オントロジー構築支援環境DODDLE-OWLの拡張
オントロジー検索エンジンを用いた領域オントロジー構築支援環境DODDLE-OWLの拡張
 
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep Learning
 
コンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかコンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのか
 
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on TwitterKDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
 
Nds#24 単体テスト
Nds#24 単体テストNds#24 単体テスト
Nds#24 単体テスト
 

Optimizing Search Engines using Clickthrough Data

  • 2. 発表する論文 • Optimizing Search Engines using Clickthrough Data (http://dl.acm.org/citation.cfm?id=775067) – – – – 著者 : Thorsten Joachims (Cornell University) 引用数 : 2137 学会 : KDD ’02 内容 : • Ranking SVM (http://en.wikipedia.org/wiki/Ranking_SVM ) • クエリログ・クリックログを用いて検索エンジン の精度向上を行う 2013/10/23 2
  • 3. 1. INTRODUCTION • 検索結果に対して、ユーザから明示的なフィー ドバックを得るのは難しい • クリックログという暗黙的なフィードバックは 無料でたくさん手に入る • クリックログを用いて、検索結果のランキング の修正を行う • ランキング学習にSVMを使用する 2013/10/23 3
  • 4. 2. CLICKTHROUGH DATA IN SEARCH ENGINES • クリックログについて – clickthrough data in search engines = (q, r, c) • q : クエリ • r : ユーザに提示される検索結果のランキング • c : ユーザがクリックしたリンク(複数) 2013/10/23 4
  • 5. 2.1 Recording Clickthrough Data • クリックログの取り方 – プロキシかまして取った 2013/10/23 5
  • 6. 2.2 What Kind of Information does Clickthrough Data Convey? • クリックログからどんな情報が得られるか? – (q, r, c) は強く依存しあっている – 依存関係を適切にモデル化する必要がある – クエリが違えば、表示される検索結果のランキングは異 なる – クエリに関連したリンクをクリックしやすい – ランキングで上位に表示されたリンクをクリックしやす い – クリックしたリンクとクエリとの関連性は、絶対的 なものではなく、ユーザが閲覧したリンクの中で、 相対的に関連性が高かったと考える 2013/10/23 6
  • 7. 2.2 What Kind of Information does Clickthrough Data Convey? • クリックログからどんな情報が得られるか? – 下の検索結果10個の内、1・3・7番目をクリックした 場合に、得られる情報は、クエリとリンクの関連性 について、 3番目のリンク > 2番目のリンク 7番目のリンク > 2・4・5・6番目のリンク 2013/10/23 7
  • 8. 2.2 What Kind of Information does Clickthrough Data Convey? • クリックログからどんな情報が得られるか? – 下の検索結果10個の内、1・3・7番目をクリックした 場合 – クエリとリンクの関連性は、 3番目のリンク > 2番目のリンク 7番目のリンク > 2・4・5・6番目のリンク 最適なランキングr*において、3番目のリンクが、 2番目のリンクよりも下にくることを意味する 2013/10/23 8
  • 9. 2.2 What Kind of Information does Clickthrough Data Convey? • クリックログからどんな情報が得られるか? • このような形式のフィードバックに適した機械学習アルゴリズムは 無いので、次章以降で考える 2013/10/23 9
  • 10. 3. A FRAMEWORK FOR LEARNING OF RETRIEVAL FUNCTIONS • 最適な情報検索システム – クエリ q と、文書集合 D = {d1, d2, …, dm} が与えられた 時に、文書をクエリとの関連度順のランキング r* で 返す • 実際の情報検索システム – ランキング関数 f を持つ – 最適なランキング r* とは異なるランキング rf(q) を返 す – rf(q) が r* に近いほど f は優れている • ランキング r – rf(q), r* ⊂ D × D = m × m の2値行列 – 2013/10/23ランキング r で、di のランクがdj よりも高い時、(di, 10
  • 11. 3. A FRAMEWORK FOR LEARNING OF RETRIEVAL FUNCTIONS • rf(q) と r* の類似度の指標に、Kendall’s τ を用いる (Kendall tau distance: http://en.wikipedia.org/wiki/Kendall_tau_distance ) • P : 順位の並びが r* と同じだったペアの 数 • Q :順位の並びが r* と逆だったペアの数 – 例 • m : ドキュメント数 • τ(ra, rb) = (7-3) / (7+3) = 0.4 – これが情報検索の他の指標と相関したり、関連があること を述べてる 2013/10/23 11
  • 12. 3. A FRAMEWORK FOR LEARNING OF RETRIEVAL FUNCTIONS • ランキング学習の問題定義 – 文書集合 D において、クエリ q と最適なランキング r* の分布 Pr(q, r*) が与えられた時に、Kendall’s τ を最 大化するランキング関数 f を求める 2013/10/23 12
  • 13. 4. AN SVM ALGORITHM FOR LEARNING OF RANKING FUNCTIONS • 学習について – サイズ n の訓練データ (q1, r1*), (q2, r2*), …, (qn, rn*)が与えら れた時、学習器 L は、ランキング関数群 F からKendall’s τ を最大化するランキング関数 f を選択する – 学習データは有限なので、Kendall’s τ は以下の式で表され る • 以下の条件を満たす学習アルゴリズムを考える – 効率的にランキング関数群 F から Kendall’s τ を最大化する ランキング関数 f を発見する – 過学習しない 2013/10/23 13
  • 14. 4.1 The Ranking SVM Algorithm • 線形ランキング関数 fw – w : 重みベクトル – Φ : クエリ q と文書 d を、それらのマッチ具合を表す 特徴ベクトルへ写像する関数 • 特徴ベクトルは実験の章で出てくる – クエリと文書の単語の類似度とか 2013/10/23 14
  • 15. 4.1 The Ranking SVM Algorithm • 線形ランキング関数 fw – 文書 1〜4の順番は、重みベクトル w に射影された点 の順番となる w1でのランキングは (1, 2, 3, 4) w2でのランキングは (2, 3, 1, 4) 2013/10/23 15
  • 16. 4.1 The Ranking SVM Algorithm • 最適化 – Kendall’s τ の最大化 = Q の最小化 – Q : rf(*) と r* で、順位の並びが異なる文書ペアの数 – 線形ランキング関数においては、 Q の最小化 = すwの発見 2013/10/23 を満た 16
  • 17. 4.1 The Ranking SVM Algorithm • 最適化 – 2013/10/23 を満たすwを見つ けるのはNP困難なので、スラック変数 ξ を導入して 近似解を求める 17
  • 18. 4.1 The Ranking SVM Algorithm • 最適化 – を、 と見ると2値分類ぽい – SVMを使う 2013/10/23 18
  • 19. 4.1 The Ranking SVM Algorithm • 最適化 – カーネル使って非線形ランキング関数にも対応可能 – カーネル使わないほうが早いので、実験では線形でやって るみたい – 先にあげていた以下の条件を両方満たす • 効率的にランキング関数群 F から Kendall’s τ を最大化す るランキング関数 f を発見する • 過学習しない 2013/10/23 19
  • 20. 4.1 The Ranking SVM Algorithm • 検索関数 – ランキング関数を学習した後は、新しいクエリ q に 対して、各文書のスコアを算出し、ソートして表示 する 2013/10/23 20
  • 21. 4.1 The Ranking SVM Algorithm • まとめると、 • 訓練 1. クエリと文書を両者の類似度を表すような特徴空間 に射影する(特徴ベクトルで表す) 2. 特徴ベクトル間の距離を算出する 3. SVMを用いて分類問題として解く • テスト – 文書をスコア順に並び替え 2013/10/23 21
  • 22. 4.2 Using Partial Feedback • 実際には、最適なランキング r* というのは未知 で、クリックログから取得した r’ を用いて学習 することになる 2013/10/23 22
  • 23. 5. EXPERIMENTS • オフラインとオンラインの実験を通して – クリックログから嗜好を抽出できること – Ranking SVMが検索精度を向上させること を示す 2013/10/23 23
  • 24. 5.1 Experiment Setup: Meta-Search • 実験環境 – Striver • 複数の検索エンジンの結果を表示するメタ検索エ ンジン • クエリを入力すると、Google、MSNSearch、Excite、 Altavista、Hotbotから100件ずつ結果を取得し、ラ ンキング関数 f で並び替えして、50件をユーザに 表示する 2013/10/23 24
  • 25. 5.1 Experiment Setup: Meta-Search • 検索結果精度の比較方法 – 2つのランキング関数による結果を混ぜて出す – 例) • 結果Aと結果Bを混ぜて結果Cにする • Aから1件出して、Bから1件出して、Aから、、、 をCとするみたいな – ユーザがクリックしたリンクを、より多く輩出した ランキング関数の性能が優れているとする – 先行研究と同様の方法らしい 2013/10/23 25
  • 26. 5.2 Offline Experiment • Ranking SVM がクリックログを用いて嗜好の規則 性を学習できることを示す • 筆者自身でStriverを使用して、112クエリの教師 データを作成した 2013/10/23 26
  • 27. 5.2 Offline Experiment • 特徴ベクトル Φ(q, d) 1. 他検索エンジンの結果 2. クエリと文書のマッチ具合 3. 文書の人気度 – 実装が容易かつ、ランキングに効果のありそうなも のを選択した – 改良の余地がある 2013/10/23 27
  • 28. 5.2 Offline Experiment 1. 他検索エンジンの結果 – top1_X: ranked #1 in X ∈ {Google, MSNSearch, Al- tavista, Hotbot, Excite} (binary {0, 1}) – top10_X: ranked in top 10 in X ∈ {Google, MSN- Search, Altavista, Hotbot, Excite} (binary {0, 1}) – top50_X: ranked in top 50 in X ∈ {Google, MSN- Search, Altavista, Hotbot, Excite} (binary {0, 1}) – rf(q): ranked #1 in X of the 5 search engines – top10count_X: ranked in top 10 in X of the 5 search engines – top50count_X: ranked in top 50 in X of the 5 search engines 2013/10/23 28
  • 29. 5.2 Offline Experiment 2. クエリと文書のマッチ具合 – query_url_cosine: cosine between URL-words and query (range [0, 1]) – query_abstract_cosine: cosine between title-words and query (range [0, 1]) – domain_name_in_query: query contains domain-name from URL (binary {0, 1}) 2013/10/23 29
  • 30. 5.2 Offline Experiment 3. 文書の人気度 – url_length: length of URL in characters divided by 30 – country_X: country code X of URL (binary attribute {0, 1} for each country code) – domain_X: domain X of URL (binary attribute {0, 1} for each domain name) – abstract_contains_home: word “home” appears in URL or title (binary attribute {0, 1}) – url_contains_tilde: URL contains “∼” (binary attri- bute {0, 1}) – url_X: URL X as an atom (binary attribute {0,1}) 2013/10/23 30
  • 31. 5.2 Offline Experiment • 実験結果 – 115個のクエリの内、訓練に使用するデータ数を変えて、 Precision Error(順位の並び間違いの割合)の変化を見る – 訓練データを増やすにつれ、Errorが下がっている – クリックログから筆者の嗜好の規則性を取得出来ている 2013/10/23 31
  • 32. 5.3 Interactive Online Experiment • ユーザ20人に使用してもらい、訓練データを作 成した(260クエリ) • 180クエリを用いて、Google、MSNSearch、 Toprankと精度を比較した – Toprank(Google, MSNSearch, Altavista, Excite、Hotbotの 検索結果を上位から順番に表示したもの) • Ranking SVMが1番だった(二項検定の結果有意水準5%で有意な結 果) 2013/10/23 32
  • 33. 5.4 Analysis of the Learned Function • 効いてる特徴量について – ランキング関数として線形なものを選択したため、 重みベクトルを見ることで、各特徴量効き具合を調 べることが出来る – 正だと効いてて、負だと逆効果 2013/10/23 33