SlideShare a Scribd company logo
1 of 35
Download to read offline
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
ランキングチューニングと定量評価
ヤフー株式会社  近藤司
2015/5/13  第16回  Lucence/Solr勉強会  #SolrJP
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P2自己紹介
•  近藤 司	
•  ヤフー株式会社	
•  新卒 3年目	
•  Solr歴 半年	
•  業務内容	
•  ヤフーの各種サービスへSolr導入やランキング
チューニングのお手伝い	
•  社内向けドキュメントの検索サービスの開発・運用
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P3本日の話の概要
•  検索結果の質を定量的に評価する手法	
•  ↑と組み合わせてランキングチューニングを
する方法についてお話します	
•  時間があれば、Solrでドキュメントのスコアの
内訳を見る方法を説明します
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P4話の流れ
•  ランキングチューニングについて	
•  難しいところ	
•  解決策	
•  定量評価の手法	
•  NDCG	
•  実際のチューニング作業の流れ	
•  (時間があれば)ドキュメントのスコアの見方
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P5話の流れ
•  ランキングチューニングについて	
•  難しいところ	
•  解決策	
•  定量評価の手法	
•  NDCG	
•  実際のチューニング作業の流れ	
•  (時間があれば)ドキュメントのスコアの見方
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P6ランキングチューニングとは
•  検索結果の上位に質の高いドキュメントを
持ってくる作業	
•  ex)	
•  q = “本田圭佑 試合”	
•  「本田試合速報」	
•  「本田圭佑2ゴール!!」
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でインデキシングしておいた定数を

調整したり
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P8チューニングの難しいところ
•  フィールドへの重みをどう決めるのか	
•  とりあえず、Titleは強めの重み?	
•  MA(形態素解析)も大きめに?	
•  ランキングが良くなっているのか分かりにくい	
•  あるクエリでは良くなっているけど、別のクエリでは?	
•  そもそも、評価が主観	
	
ランキングの良し悪しを判断する基準が無い
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P9チューニングと定量評価
•  チューニングと定量評価をセットで考える	
•  重みを変えたら評価をする	
•  メリット	
•  客観的にランキングを評価できる	
•  最もランキングが良くなる重みを探しだせる	
•  チューニング作業の一部を自動化できる	
•  デメリット	
•  導入コストが高い	
•  定量評価の計算に時間がかかる場合がある
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P10話の流れ
•  ランキングチューニングについて	
•  難しいところ	
•  解決策	
•  定量評価の手法	
•  NDCG	
•  実際のチューニング作業の流れ	
•  (時間があれば)ドキュメントのスコアの見方
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P11NDCG
•  NDCG	
•  Normalized Discounted Cumulative Gain	
•  ランキングの並びの良さを評価する指標	
•  クエリとの適合度が高いドキュメントが上位に
来ていればいるほど評価大
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
∑
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	
  
ドキュメントがクエリに	
  
マッチしているかどうかは人手で判断
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
∑
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の並びになった	
  
仮定で計算
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
∑
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P17話の流れ
•  ランキングチューニングについて	
•  難しいところ	
•  解決策	
•  定量評価の手法	
•  NDCG	
•  実際のチューニング作業の流れ	
•  (時間があれば)ドキュメントのスコアの見方
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P18前準備
	
1.  ランキングを評価するクエリを決める	
•  検索数上位50位のクエリなど	
2.  各評価用クエリでドキュメントの適合度を評
価しておく(正解データの準備)
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を繰り返す
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番良さそう!
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P21補足
•  定性評価について	
•  必要なくなる訳ではない	
•  検索結果に不適切なドキュメントが紛れてい
ないか調査が必要	
•  NDCGが低いクエリの調査	
•  TopKに入って欲しくないドキュメントの調査
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P22
•  正解データを準備するコストが高い	
•  評価用クエリ100個 * 1クエリ当たりで評価するドキュメン
ト5件 = 500件分の評価が必要	
•  NDCGの計算に時間がかかる場合がある	
•  フィールド数:4、調査する重みの範囲:1 – 10の場合、

10^4=10000通りの試行回数が必要	
定量評価を組み合わせることのデメリット
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P23話の流れ
•  ランキングチューニングについて	
•  難しいところ	
•  解決策	
•  定量評価の手法	
•  NDCG	
•  実際のチューニング作業の流れ	
•  (時間があれば)ドキュメントのスコアの見方
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P24Solrのスコアの確認方法
•  Solrのスコアの内訳の確認方法	
•  時間があればお話します
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
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)
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	
当該ドキュメントのスコア	
クエリがヒットしたフィールド	
当該フィールド
のスコア
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)	
	
	
積に

なっている
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)
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P30Solrのスコアリング
	
•  計算式は上記のようになります	
– クエリがヒットしたフィールドに対して、スコアを計
算していき、最もスコアが高いものをドキュメント
のスコアとします	
score(d,q) = queryWeight×fieldWeight×coord
queryWeight = boost×idf ×queryNorm
fieldWeight = tf ×idf ×fieldNorm
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P31Solrのスコアリング
	
•  boost : qfでフィールドに指定した重み	
•  idf : クエリのidf値	
•  queryNorm : 異なるクエリ同士でスコアを比較
できるようにするための正規化係数	
queryWeight = boost ×idf ×queryNorm
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P32Solrのスコアリング
	
•  tf : クエリのtf値	
•  idf : クエリのidf値	
•  fieldNorm : 単語数の多いフィールドと少ない
フィールドを比較するための正規化係数	
fieldWeight = tf ×idf ×fieldNorm
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P33Solrのスコアリング
	
•  クエリが複数指定されて場合に、そのクエリが
フィールドにいくつか出現したか	
coord
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P34まとめ
•  ランキングチューニングについての説明	
•  チューニング作業の説明と難しいところ	
•  定量評価を組み合わせることのメリット	
•  評価指標に関する説明	
•  NDCG	
•  実際のチューニング作業の流れ	
•  定量評価を組み合わせた場合のデメリット
Copyright	
  (C)	
  2015	
  Yahoo	
  Japan	
  Corpora5on.	
  All	
  Rights	
  Reserved.	
P35
	
	
	
	
ご静聴ありがとうございました

More Related Content

What's hot

何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしYasunori Nihei
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOpsMariOhbuchi
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)株式会社MonotaRO Tech Team
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~Daisuke Morishita
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツpospome
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
モノタロウを支える Solr による商品検索システム
モノタロウを支える Solr による商品検索システムモノタロウを支える Solr による商品検索システム
モノタロウを支える Solr による商品検索システム株式会社MonotaRO Tech Team
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころTakuto Wada
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?Teppei Sato
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Takahiko Ito
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門hoxo_m
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用Hiroyuki Masuda
 

What's hot (20)

何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなし
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOps
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
モノタロウを支える Solr による商品検索システム
モノタロウを支える Solr による商品検索システムモノタロウを支える Solr による商品検索システム
モノタロウを支える Solr による商品検索システム
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用
 

Viewers also liked

学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)
学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)
学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)Ikki Ohmukai
 
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案Yahoo!デベロッパーネットワーク
 
SolrのAtomicUpdateを50000倍速くした話
SolrのAtomicUpdateを50000倍速くした話SolrのAtomicUpdateを50000倍速くした話
SolrのAtomicUpdateを50000倍速くした話Takahiro Ishikawa
 
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsApproaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsLucidworks
 
Learning to rankの評価手法
Learning to rankの評価手法Learning to rankの評価手法
Learning to rankの評価手法Kensuke Mitsuzawa
 
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid DynamicsFaceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid DynamicsLucidworks
 
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...lucenerevolution
 
徹底比較!! Heliosearch vs Solr
徹底比較!! Heliosearch vs Solr徹底比較!! Heliosearch vs Solr
徹底比較!! Heliosearch vs SolrEbisawa Shinobu
 
類義語検索と類義語ハイライト
類義語検索と類義語ハイライト類義語検索と類義語ハイライト
類義語検索と類義語ハイライトShinichiro Abe
 
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer SimonDocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simonlucenerevolution
 
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒
Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒MasayukiIke
 
第10回solr勉強会 solr cloudの導入事例
第10回solr勉強会 solr cloudの導入事例第10回solr勉強会 solr cloudの導入事例
第10回solr勉強会 solr cloudの導入事例Ken Hirose
 
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep DiveAmazon Web Services Japan
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめsleepy_yoshi
 
Lucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポートLucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポートShinpei Nakata
 

Viewers also liked (20)

Block join toranomaki
Block join toranomakiBlock join toranomaki
Block join toranomaki
 
学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)
学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)
学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)
 
Nlp4 l intro-20150513
Nlp4 l intro-20150513Nlp4 l intro-20150513
Nlp4 l intro-20150513
 
Lucene/Solr Revolution2015参加レポート
Lucene/Solr Revolution2015参加レポートLucene/Solr Revolution2015参加レポート
Lucene/Solr Revolution2015参加レポート
 
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
 
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
 
SolrのAtomicUpdateを50000倍速くした話
SolrのAtomicUpdateを50000倍速くした話SolrのAtomicUpdateを50000倍速くした話
SolrのAtomicUpdateを50000倍速くした話
 
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsApproaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
 
Learning to rankの評価手法
Learning to rankの評価手法Learning to rankの評価手法
Learning to rankの評価手法
 
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid DynamicsFaceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
Faceting with Lucene Block Join Query: Presented by Oleg Savrasov, Grid Dynamics
 
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
 
徹底比較!! Heliosearch vs Solr
徹底比較!! Heliosearch vs Solr徹底比較!! Heliosearch vs Solr
徹底比較!! Heliosearch vs Solr
 
類義語検索と類義語ハイライト
類義語検索と類義語ハイライト類義語検索と類義語ハイライト
類義語検索と類義語ハイライト
 
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer SimonDocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
 
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒
Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒
 
solr勉強会資料
solr勉強会資料solr勉強会資料
solr勉強会資料
 
第10回solr勉強会 solr cloudの導入事例
第10回solr勉強会 solr cloudの導入事例第10回solr勉強会 solr cloudの導入事例
第10回solr勉強会 solr cloudの導入事例
 
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
 
Lucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポートLucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポート
 

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

Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用Nobuaki Oshiro
 
Learning to rank for IR
Learning to rank for IRLearning to rank for IR
Learning to rank for IRtakaya imai
 
サーバ性能改善事例
サーバ性能改善事例サーバ性能改善事例
サーバ性能改善事例KLab Inc. / Tech
 
Operations research yonezawa_no1
Operations research yonezawa_no1Operations research yonezawa_no1
Operations research yonezawa_no1ssuser0bebd2
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望Kohei KaiGai
 
楽天のRPAプラットフォーム構築事例
楽天のRPAプラットフォーム構築事例楽天のRPAプラットフォーム構築事例
楽天のRPAプラットフォーム構築事例Rakuten Group, Inc.
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析Mitsunori Sato
 
Taming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache SparkTaming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache SparkTakeshi Yamamuro
 
UnityとBlenderハンズオン第3章
 UnityとBlenderハンズオン第3章 UnityとBlenderハンズオン第3章
UnityとBlenderハンズオン第3章yaju88
 
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Yohei Sato
 
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証Recruit Technologies
 
Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Recruit Technologies
 
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPreview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようDaisuke Masubuchi
 
第二回データサイエンティスト木曜勉強会20141016
第二回データサイエンティスト木曜勉強会20141016第二回データサイエンティスト木曜勉強会20141016
第二回データサイエンティスト木曜勉強会20141016Koichiro Kondo
 
データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』
データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』
データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』The Japan DataScientist Society
 

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

Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用
 
Learning to rank for IR
Learning to rank for IRLearning to rank for IR
Learning to rank for IR
 
サーバ性能改善事例
サーバ性能改善事例サーバ性能改善事例
サーバ性能改善事例
 
Operations research yonezawa_no1
Operations research yonezawa_no1Operations research yonezawa_no1
Operations research yonezawa_no1
 
JAWSUG 20210128
JAWSUG 20210128JAWSUG 20210128
JAWSUG 20210128
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
 
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
 
楽天のRPAプラットフォーム構築事例
楽天のRPAプラットフォーム構築事例楽天のRPAプラットフォーム構築事例
楽天のRPAプラットフォーム構築事例
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析
 
Taming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache SparkTaming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache Spark
 
G2o
G2oG2o
G2o
 
10大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon201510大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon2015
 
UnityとBlenderハンズオン第3章
 UnityとBlenderハンズオン第3章 UnityとBlenderハンズオン第3章
UnityとBlenderハンズオン第3章
 
R -> Python
R -> PythonR -> Python
R -> Python
 
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1
 
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
 
Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証
 
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPreview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
 
第二回データサイエンティスト木曜勉強会20141016
第二回データサイエンティスト木曜勉強会20141016第二回データサイエンティスト木曜勉強会20141016
第二回データサイエンティスト木曜勉強会20141016
 
データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』
データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』
データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』
 

More from Yahoo!デベロッパーネットワーク

ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 

More from Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

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

  • 1. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. ランキングチューニングと定量評価 ヤフー株式会社  近藤司 2015/5/13  第16回  Lucence/Solr勉強会  #SolrJP
  • 2. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P2自己紹介 •  近藤 司 •  ヤフー株式会社 •  新卒 3年目 •  Solr歴 半年 •  業務内容 •  ヤフーの各種サービスへSolr導入やランキング チューニングのお手伝い •  社内向けドキュメントの検索サービスの開発・運用
  • 3. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P3本日の話の概要 •  検索結果の質を定量的に評価する手法 •  ↑と組み合わせてランキングチューニングを する方法についてお話します •  時間があれば、Solrでドキュメントのスコアの 内訳を見る方法を説明します
  • 4. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P4話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  • 5. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P5話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  • 6. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P6ランキングチューニングとは •  検索結果の上位に質の高いドキュメントを 持ってくる作業 •  ex) •  q = “本田圭佑 試合” •  「本田試合速報」 •  「本田圭佑2ゴール!!」
  • 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. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P8チューニングの難しいところ •  フィールドへの重みをどう決めるのか •  とりあえず、Titleは強めの重み? •  MA(形態素解析)も大きめに? •  ランキングが良くなっているのか分かりにくい •  あるクエリでは良くなっているけど、別のクエリでは? •  そもそも、評価が主観 ランキングの良し悪しを判断する基準が無い
  • 9. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P9チューニングと定量評価 •  チューニングと定量評価をセットで考える •  重みを変えたら評価をする •  メリット •  客観的にランキングを評価できる •  最もランキングが良くなる重みを探しだせる •  チューニング作業の一部を自動化できる •  デメリット •  導入コストが高い •  定量評価の計算に時間がかかる場合がある
  • 10. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P10話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  • 11. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P11NDCG •  NDCG •  Normalized Discounted Cumulative Gain •  ランキングの並びの良さを評価する指標 •  クエリとの適合度が高いドキュメントが上位に 来ていればいるほど評価大
  • 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. 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. 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. 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. 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. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P17話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  • 18. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P18前準備 1.  ランキングを評価するクエリを決める •  検索数上位50位のクエリなど 2.  各評価用クエリでドキュメントの適合度を評 価しておく(正解データの準備)
  • 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. 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. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P21補足 •  定性評価について •  必要なくなる訳ではない •  検索結果に不適切なドキュメントが紛れてい ないか調査が必要 •  NDCGが低いクエリの調査 •  TopKに入って欲しくないドキュメントの調査
  • 22. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P22 •  正解データを準備するコストが高い •  評価用クエリ100個 * 1クエリ当たりで評価するドキュメン ト5件 = 500件分の評価が必要 •  NDCGの計算に時間がかかる場合がある •  フィールド数:4、調査する重みの範囲:1 – 10の場合、
 10^4=10000通りの試行回数が必要 定量評価を組み合わせることのデメリット
  • 23. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P23話の流れ •  ランキングチューニングについて •  難しいところ •  解決策 •  定量評価の手法 •  NDCG •  実際のチューニング作業の流れ •  (時間があれば)ドキュメントのスコアの見方
  • 24. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P24Solrのスコアの確認方法 •  Solrのスコアの内訳の確認方法 •  時間があればお話します
  • 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. 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. 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. 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. 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. 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. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P31Solrのスコアリング •  boost : qfでフィールドに指定した重み •  idf : クエリのidf値 •  queryNorm : 異なるクエリ同士でスコアを比較 できるようにするための正規化係数 queryWeight = boost ×idf ×queryNorm
  • 32. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P32Solrのスコアリング •  tf : クエリのtf値 •  idf : クエリのidf値 •  fieldNorm : 単語数の多いフィールドと少ない フィールドを比較するための正規化係数 fieldWeight = tf ×idf ×fieldNorm
  • 33. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P33Solrのスコアリング •  クエリが複数指定されて場合に、そのクエリが フィールドにいくつか出現したか coord
  • 34. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P34まとめ •  ランキングチューニングについての説明 •  チューニング作業の説明と難しいところ •  定量評価を組み合わせることのメリット •  評価指標に関する説明 •  NDCG •  実際のチューニング作業の流れ •  定量評価を組み合わせた場合のデメリット
  • 35. Copyright  (C)  2015  Yahoo  Japan  Corpora5on.  All  Rights  Reserved. P35 ご静聴ありがとうございました