Your SlideShare is downloading. ×
0
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Optimizing Search Engines using Clickthrough Data
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Optimizing Search Engines using Clickthrough Data

367

Published on

2013/10/23のGunosy社内勉強会の資料 …

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
367
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Gunosy勉強会 論文輪読 Gunosy Inc. Coffee Yoshida 2013/10/23 1
  • 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
  • 34. まとめ • クリックログを用いて、相対的な嗜好順位とい う訓練データを取得し使用した • ランキング関数の学習アルゴリズムを提案し、 SVMを用いて実行した • 実験で他検索エンジンよりも良い結果だった 2013/10/23 34
  • 35. 実装 • SVM-rank – http://www.cs.cornell.edu/people/tj/svm_light/svm_rank. html 2013/10/23 35

×