Optimizing Search Engines using Clickthrough Data

531
-1

Published on

2013/10/23のGunosy社内勉強会の資料
論文URL: http://dl.acm.org/citation.cfm?id=775067

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
531
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Optimizing Search Engines using Clickthrough Data

  1. 1. Gunosy勉強会 論文輪読 Gunosy Inc. Coffee Yoshida 2013/10/23 1
  2. 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. 3. 1. INTRODUCTION • 検索結果に対して、ユーザから明示的なフィー ドバックを得るのは難しい • クリックログという暗黙的なフィードバックは 無料でたくさん手に入る • クリックログを用いて、検索結果のランキング の修正を行う • ランキング学習にSVMを使用する 2013/10/23 3
  4. 4. 2. CLICKTHROUGH DATA IN SEARCH ENGINES • クリックログについて – clickthrough data in search engines = (q, r, c) • q : クエリ • r : ユーザに提示される検索結果のランキング • c : ユーザがクリックしたリンク(複数) 2013/10/23 4
  5. 5. 2.1 Recording Clickthrough Data • クリックログの取り方 – プロキシかまして取った 2013/10/23 5
  6. 6. 2.2 What Kind of Information does Clickthrough Data Convey? • クリックログからどんな情報が得られるか? – (q, r, c) は強く依存しあっている – 依存関係を適切にモデル化する必要がある – クエリが違えば、表示される検索結果のランキングは異 なる – クエリに関連したリンクをクリックしやすい – ランキングで上位に表示されたリンクをクリックしやす い – クリックしたリンクとクエリとの関連性は、絶対的 なものではなく、ユーザが閲覧したリンクの中で、 相対的に関連性が高かったと考える 2013/10/23 6
  7. 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. 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. 9. 2.2 What Kind of Information does Clickthrough Data Convey? • クリックログからどんな情報が得られるか? • このような形式のフィードバックに適した機械学習アルゴリズムは 無いので、次章以降で考える 2013/10/23 9
  10. 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. 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. 12. 3. A FRAMEWORK FOR LEARNING OF RETRIEVAL FUNCTIONS • ランキング学習の問題定義 – 文書集合 D において、クエリ q と最適なランキング r* の分布 Pr(q, r*) が与えられた時に、Kendall’s τ を最 大化するランキング関数 f を求める 2013/10/23 12
  13. 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. 14. 4.1 The Ranking SVM Algorithm • 線形ランキング関数 fw – w : 重みベクトル – Φ : クエリ q と文書 d を、それらのマッチ具合を表す 特徴ベクトルへ写像する関数 • 特徴ベクトルは実験の章で出てくる – クエリと文書の単語の類似度とか 2013/10/23 14
  15. 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. 16. 4.1 The Ranking SVM Algorithm • 最適化 – Kendall’s τ の最大化 = Q の最小化 – Q : rf(*) と r* で、順位の並びが異なる文書ペアの数 – 線形ランキング関数においては、 Q の最小化 = すwの発見 2013/10/23 を満た 16
  17. 17. 4.1 The Ranking SVM Algorithm • 最適化 – 2013/10/23 を満たすwを見つ けるのはNP困難なので、スラック変数 ξ を導入して 近似解を求める 17
  18. 18. 4.1 The Ranking SVM Algorithm • 最適化 – を、 と見ると2値分類ぽい – SVMを使う 2013/10/23 18
  19. 19. 4.1 The Ranking SVM Algorithm • 最適化 – カーネル使って非線形ランキング関数にも対応可能 – カーネル使わないほうが早いので、実験では線形でやって るみたい – 先にあげていた以下の条件を両方満たす • 効率的にランキング関数群 F から Kendall’s τ を最大化す るランキング関数 f を発見する • 過学習しない 2013/10/23 19
  20. 20. 4.1 The Ranking SVM Algorithm • 検索関数 – ランキング関数を学習した後は、新しいクエリ q に 対して、各文書のスコアを算出し、ソートして表示 する 2013/10/23 20
  21. 21. 4.1 The Ranking SVM Algorithm • まとめると、 • 訓練 1. クエリと文書を両者の類似度を表すような特徴空間 に射影する(特徴ベクトルで表す) 2. 特徴ベクトル間の距離を算出する 3. SVMを用いて分類問題として解く • テスト – 文書をスコア順に並び替え 2013/10/23 21
  22. 22. 4.2 Using Partial Feedback • 実際には、最適なランキング r* というのは未知 で、クリックログから取得した r’ を用いて学習 することになる 2013/10/23 22
  23. 23. 5. EXPERIMENTS • オフラインとオンラインの実験を通して – クリックログから嗜好を抽出できること – Ranking SVMが検索精度を向上させること を示す 2013/10/23 23
  24. 24. 5.1 Experiment Setup: Meta-Search • 実験環境 – Striver • 複数の検索エンジンの結果を表示するメタ検索エ ンジン • クエリを入力すると、Google、MSNSearch、Excite、 Altavista、Hotbotから100件ずつ結果を取得し、ラ ンキング関数 f で並び替えして、50件をユーザに 表示する 2013/10/23 24
  25. 25. 5.1 Experiment Setup: Meta-Search • 検索結果精度の比較方法 – 2つのランキング関数による結果を混ぜて出す – 例) • 結果Aと結果Bを混ぜて結果Cにする • Aから1件出して、Bから1件出して、Aから、、、 をCとするみたいな – ユーザがクリックしたリンクを、より多く輩出した ランキング関数の性能が優れているとする – 先行研究と同様の方法らしい 2013/10/23 25
  26. 26. 5.2 Offline Experiment • Ranking SVM がクリックログを用いて嗜好の規則 性を学習できることを示す • 筆者自身でStriverを使用して、112クエリの教師 データを作成した 2013/10/23 26
  27. 27. 5.2 Offline Experiment • 特徴ベクトル Φ(q, d) 1. 他検索エンジンの結果 2. クエリと文書のマッチ具合 3. 文書の人気度 – 実装が容易かつ、ランキングに効果のありそうなも のを選択した – 改良の余地がある 2013/10/23 27
  28. 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. 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. 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. 31. 5.2 Offline Experiment • 実験結果 – 115個のクエリの内、訓練に使用するデータ数を変えて、 Precision Error(順位の並び間違いの割合)の変化を見る – 訓練データを増やすにつれ、Errorが下がっている – クリックログから筆者の嗜好の規則性を取得出来ている 2013/10/23 31
  32. 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. 33. 5.4 Analysis of the Learned Function • 効いてる特徴量について – ランキング関数として線形なものを選択したため、 重みベクトルを見ることで、各特徴量効き具合を調 べることが出来る – 正だと効いてて、負だと逆効果 2013/10/23 33
  34. 34. まとめ • クリックログを用いて、相対的な嗜好順位とい う訓練データを取得し使用した • ランキング関数の学習アルゴリズムを提案し、 SVMを用いて実行した • 実験で他検索エンジンよりも良い結果だった 2013/10/23 34
  35. 35. 実装 • SVM-rank – http://www.cs.cornell.edu/people/tj/svm_light/svm_rank. html 2013/10/23 35

×