Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Block join toranomaki
Next
Download to read offline and view in fullscreen.

Share

第16回Lucene/Solr勉強会 – ランキングチューニングと定量評価 #SolrJP

Download to read offline

検索結果の質を定量評価する手法の紹介と、それを活用したランキングチューニングの進め方。

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

第16回Lucene/Solr勉強会 – ランキングチューニングと定量評価 #SolrJP

  1. 1. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. ランキングチューニングと定量評価 ヤフー株式会社  近藤司 2015/5/13  第16回  Lucence/Solr勉強会  #SolrJP
  2. 2. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P2自己紹介 •  近藤 司 •  ヤフー株式会社 •  新卒 3年目 •  Solr歴 半年 •  業務内容 •  ヤフーの各種サービスへSolr導入やランキング チューニングのお手伝い •  社内向けドキュメントの検索サービスの開発・運用
  3. 3. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P3本日の話の概要 •  検索結果の質を定量的に評価する手法 •  ↑と組み合わせてランキングチューニングを する方法についてお話します •  時間があれば、Solrでドキュメントのスコアの 内訳を見る方法を説明します
  4. 4. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P4話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  5. 5. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P5話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  6. 6. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P6ランキングチューニングとは •  検索結果の上位に質の高いドキュメントを 持ってくる作業 •  ex) •  q = “本田圭佑 試合” •  「本田試合速報」 •  「本田圭佑2ゴール!!」
  7. 7. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P7Solrでのチューニング作業 •  Solrだと大体こんな感じ •  qf=title_ma^10 title_ng^2 body_ma^5 body_ng^1 •  各フィールドへの重みを変えたり •  bf=production(field(ctr),10) •  Boost functionでインデキシングしておいた定数を
 調整したり
  8. 8. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P8チューニングの難しいところ •  フィールドへの重みをどう決めるのか •  とりあえず、Titleは強めの重み? •  MA(形態素解析)も大きめに? •  ランキングが良くなっているのか分かりにくい •  あるクエリでは良くなっているけど、別のクエリでは? •  そもそも、評価が主観 ランキングの良し悪しを判断する基準が無い
  9. 9. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P9チューニングと定量評価 •  チューニングと定量評価をセットで考える •  重みを変えたら評価をする •  メリット •  客観的にランキングを評価できる •  最もランキングが良くなる重みを探しだせる •  チューニング作業の一部を自動化できる •  デメリット •  導入コストが高い •  定量評価の計算に時間がかかる場合がある
  10. 10. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P10話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  11. 11. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P11NDCG •  NDCG •  Normalized Discounted Cumulative Gain •  ランキングの並びの良さを評価する指標 •  クエリとの適合度が高いドキュメントが上位に 来ていればいるほど評価大
  12. 12. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P12NDCG •  DCG … 順位と適合度をもとにしたスコア •  IDCG … 理論上ランキングの並びが最も良く なった場合のDCG •  i … 検索順位 •  rel … i位に順位付けされたドキュメントのクエ リとの適合度 NDCG = DCG IDCG DCG = 2reli −1 log(1+i)i k ∑
  13. 13. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P13NDCGの計算例 •  あるクエリで検索した場合の
 検索結果上位3位の評価が下記の場合 4:  very  good   3:  good   2:  bad   1:  very  bad 順位 ドキュメント 評価 1 doc1 1 2 doc2 4 3 doc3 3   ドキュメントがクエリに   マッチしているかどうかは人手で判断
  14. 14. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P14DCG DCG = 21 −1 log(1+1) + 24 −1 log(1+ 2) + 23 −1 log(1+3) DCG = 1 1 + 15 1.58 + 7 2 DCG =13.99 順位 ドキュメント 評価 1 doc1 1 2 doc2 4 3 doc3 3   NDCG = DCG IDCG DCG = 2reli −1 log(1+i)i k ∑
  15. 15. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P15IDCG IDCG = 24 −1 log(1+1) + 23 −1 log(1+ 2) + 21 −1 log(1+3) IDCG = 15 1 + 7 1.58 + 1 2 IDCG =19.93 順位 ドキュメント 評価 1 doc1 1 2 doc2 4 3 doc3 3   NDCG = DCG IDCG DCG = 2reli −1 log(1+i)i k ∑ doc2,doc3,doc1の並びになった   仮定で計算
  16. 16. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P16NDCG DCG =13.99 IDCG =19.93 NDCG = 13.99 19.93 = 0.7 順位 ドキュメント 評価 1 doc1 1 2 doc2 4 3 doc3 3   NDCG = DCG IDCG DCG = 2reli −1 log(1+i)i k ∑
  17. 17. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P17話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  18. 18. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P18前準備 1.  ランキングを評価するクエリを決める •  検索数上位50位のクエリなど 2.  各評価用クエリでドキュメントの適合度を評 価しておく(正解データの準備)
  19. 19. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P19チューニングの進め方 1.  各フィールドへの重みを決める •  qf=title_ma^10 title_ng^2 body_ma^5 body_ng^1 2.  評価用クエリで検索+NDCGを計算 •  各クエリで算出したNDCGの平均を算出 3.  重みを変えて、手順1-2を繰り返す
  20. 20. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P20 Title_ma Title_ng Body_ma Body_ng NDCG 10 2 5 1 0.55 15 2 5 1 0.58 20 2 5 1 0.62 10 4 5 1 0.53 10 6 5 1 0.51 10 8 5 1 0.49 フィールドへの重みの組み合わせとNDCGの値 … … この重みの付け方が1番良さそう!
  21. 21. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P21補足 •  定性評価について •  必要なくなる訳ではない •  検索結果に不適切なドキュメントが紛れてい ないか調査が必要 •  NDCGが低いクエリの調査 •  TopKに入って欲しくないドキュメントの調査
  22. 22. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P22 •  正解データを準備するコストが高い •  評価用クエリ100個 * 1クエリ当たりで評価するドキュメン ト5件 = 500件分の評価が必要 •  NDCGの計算に時間がかかる場合がある •  フィールド数:4、調査する重みの範囲:1 – 10の場合、
 10^4=10000通りの試行回数が必要 定量評価を組み合わせることのデメリット
  23. 23. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P23話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  24. 24. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P24Solrのスコアの確認方法 •  Solrのスコアの内訳の確認方法 •  時間があればお話します
  25. 25. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P25Solrのスコアの確認方法 •  検索時にdebugQueryを有効にする •  q=Solr AND 検索エンジン &defType=edismax&qf=tilte_ma^10 description_ma^5.0&debugQuery=true
  26. 26. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P26Solrのスコアリング •  debugQueryを叩くと下記のような情報が見れます “1”: “ 1.7210351 = (MATCH) max of: --省略-- 3.4420702 = (MATCH) weight(description_ma:solr^5.0 in 120322) [DefaultSimilarity], result of: 3.4420702 = score(doc=120322,freq=4.0 = termFreq=4.0 ), product of: 0.86576945 = queryWeight, product of: 5.0 = boost 10.601961 = idf(docFreq=20, maxDocs=310669) 0.016332252 = queryNorm 3.9757354 = fieldWeight in 120322, product of: 2.0 = tf(freq=4.0), with freq of: 4.0 = termFreq=4.0 10.601961 = idf(docFreq=20, maxDocs=310669) 0.1875 = fieldNorm(doc=120322) 0.5 = coord(1/2)
  27. 27. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P27Solrのスコアリング “1”: “ 1.7210351 = (MATCH) max of: --省略-- 3.4420702 = (MATCH) weight(description_ma:solr^5.0 in 120322) [DefaultSim result of: 3.4420702 = score(doc=120322,freq=4.0 = termFreq=4.0 ), product of: 0.86576945 = queryWeight, product of: 5.0 = boost 10.601961 = idf(docFreq=20, maxDocs=310669) 0.016332252 = queryNorm 3.9757354 = fieldWeight in 120322, product of: 2.0 = tf(freq=4.0), with freq of: 4.0 = termFreq=4.0 10.601961 = idf(docFreq=20, maxDocs=310669) 0.1875 = fieldNorm(doc=120322) 0.5 = coord(1/2) Unique key 当該ドキュメントのスコア クエリがヒットしたフィールド 当該フィールド のスコア
  28. 28. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P28Solrのスコアリング 1.7210351 = (MACTH) max of: --省略-- 3.4420702 = (MATCH) weight(description_ma:solr^5.0 in 120322) [DefaultSimilarity], result of: 3.4420702 = score(doc=120322,freq=4.0 = termFreq=4.0 ), product of: 0.86576945 = queryWeight, product of: 5.0 = boost 10.601961 = idf(docFreq=20, maxDocs=310669) 0.016332252 = queryNorm 3.9757354 = fieldWeight in 120322, product of: 2.0 = tf(freq=4.0), with freq of: 4.0 = termFreq=4.0 10.601961 = idf(docFreq=20, maxDocs=310669) 0.1875 = fieldNorm(doc=120322) 0.5 = coord(1/2) 積に
 なっている
  29. 29. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P29Solrのスコアリング 0.86576945 = queryWeight, product of: 5.0 = boost 10.601961 = idf(docFreq=20, maxDocs=310669) 0.016332252 = queryNorm 3.9757354 = fieldWeight in 120322, product of: 2.0 = tf(freq=4.0), with freq of: 4.0 = termFreq=4.0 10.601961 = idf(docFreq=20, maxDocs=310669) 0.1875 = fieldNorm(doc=120322)
  30. 30. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P30Solrのスコアリング •  計算式は上記のようになります – クエリがヒットしたフィールドに対して、スコアを計 算していき、最もスコアが高いものをドキュメント のスコアとします score(d,q) = queryWeight×fieldWeight×coord queryWeight = boost×idf ×queryNorm fieldWeight = tf ×idf ×fieldNorm
  31. 31. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P31Solrのスコアリング •  boost : qfでフィールドに指定した重み •  idf : クエリのidf値 •  queryNorm : 異なるクエリ同士でスコアを比較 できるようにするための正規化係数 queryWeight = boost ×idf ×queryNorm
  32. 32. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P32Solrのスコアリング •  tf : クエリのtf値 •  idf : クエリのidf値 •  fieldNorm : 単語数の多いフィールドと少ない フィールドを比較するための正規化係数 fieldWeight = tf ×idf ×fieldNorm
  33. 33. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P33Solrのスコアリング •  クエリが複数指定されて場合に、そのクエリが フィールドにいくつか出現したか coord
  34. 34. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P34まとめ •  ランキングチューニングについての説明 •  チューニング作業の説明と難しいところ •  定量評価を組み合わせることのメリット •  評価指標に関する説明 •  NDCG •  実際のチューニング作業の流れ •  定量評価を組み合わせた場合のデメリット
  35. 35. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P35 ご静聴ありがとうございました
  • ntaiji20

    Feb. 6, 2021
  • dcomrpc

    Jul. 28, 2019
  • hiroakikudo77

    Feb. 15, 2017
  • YuKodama

    Dec. 8, 2016
  • ssuserd67aea

    Dec. 4, 2016
  • sioikzk

    Apr. 10, 2016
  • HarukaKikuchi

    Mar. 24, 2016
  • mosuka

    Mar. 24, 2016
  • kentaromaeda581

    Feb. 17, 2016
  • akyam1

    Nov. 2, 2015
  • Quasi_quant2010

    Oct. 31, 2015
  • takeshitahiroki7

    Aug. 8, 2015
  • taniokah

    Jun. 17, 2015
  • yusukesaito3

    Jun. 7, 2015
  • tsubame9590206

    May. 26, 2015
  • masu_mi

    May. 16, 2015
  • takashiimura10

    May. 16, 2015
  • massakai

    May. 15, 2015
  • f_prg

    May. 15, 2015
  • shinodogg

    May. 15, 2015

検索結果の質を定量評価する手法の紹介と、それを活用したランキングチューニングの進め方。

Views

Total views

8,591

On Slideshare

0

From embeds

0

Number of embeds

3,467

Actions

Downloads

15

Shares

0

Comments

0

Likes

21

×