Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
15分で検索エンジニアになる
Search
Natsu Ozawa
August 22, 2021
Programming
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
15分で検索エンジニアになる
SGG x Zli合同LTの資料です
Natsu Ozawa
August 22, 2021
More Decks by Natsu Ozawa
See All by Natsu Ozawa
0の0乗
natsuozawa
0
68
圏論はどこが面白いの?
natsuozawa
0
86
Other Decks in Programming
See All in Programming
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
210
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
280
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
430
5分で問診!Composer セキュリティ健康診断
codmoninc
0
1.1k
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
320
MySQLとPostgreSQLって何が違うの?
akagami
0
110
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
320
源内ハンズオン概要編
hideg
0
190
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
660
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
240
AIが無かった頃の素敵な出会いの話
codmoninc
1
470
Cloudflare is Agents
chimame
0
170
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
450
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
270
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Code Reviewing Like a Champion
maltzj
528
40k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
280
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
410
Transcript
15分で検索エンジニアになる @natsuozawa
自己紹介 • Computer Science @ エジンバラ大学 (UK) • クックパッドでインターン(6~8月) •
レシピアプリの検索機能の改善を担当 • LT超初心者
今日のゴール 検索エンジニア入門
前提 • Elasticsearchなどの詳細なAPIに入る 時間はない • 検索知識ゼロからイチを目指す • Relevant Searchという本をもとにし ている
• 詳しくは後でQiitaに書く
検索とは 1. コンテンツを選択し、ランク付けする • アルゴリズム問題 2.プラットフォームとして市場価値を生み出す • ビジネス問題 3. ユーザーの属性などのcontextを考慮する
• 総合的な問題
検索の仕組み(たとえ) 検索は、本の後ろにある「索引」をイメージすると分かりやすい
検索の仕組み 1. 定期的に、全てのコンテンツの転置インデックスを作る 2. 検索時、関連するドキュメント(コンテンツ)を表示する 3. ユーザーは気になるコンテンツをクリックする
転置インデックス構築(具体例)
転置インデックス構築(具体例)
転置インデックス構築(具体例)
用語説明
クエリから検索結果まで keyword token signal score results analysis signal modelling scoring
function
アナライザ ドキュメントから検索用のトークンを作成する 意味 (data) 意図 (user) シグナル
アナライザ(例) standard tokenizer standard filter lowercase filter stop filter standard
analyzer “The quick brown fox.” [“The”, “quick”, “brown”, “fox”] [“the”, “quick”, “brown”, “fox”] [“quick”, “brown”, “fox”]
トークンにできるもの(例) • 日本語の文章(形態素解析) • 類義語(類義語辞書、ヒエラルキー) • 位置情報 • 電話番号 •
音楽のメロディー
シグナルモデリング 基本:Tf-idfで合致度を数値化
シグナルモデリング • データソースのフィールドはアプリケーション用に最適化 • 検索用に最適化する必要がある • 複数フィールド x 複数キーワードのロジック •
Field centric search • Term centric search
Field-centric search stardust crusaders stardust crusaders タイトル (tf-idf) 説明文 (tf-idf)
function Score: 0.1143
Field-centric searchの問題点 • Albino elephant problem • 高いスコアを出すのに、全ての検索キーワードがマッチする必要はな い •
Signal discordance problem • ユーザーのイメージと検索に使われるフィールドが異なる • ユーザーはあまりフィールドのことを考えていない
Term-centric search stardust stardust crusaders crusaders タイトル (tf-idf) 説明文 (tf-idf)
タイトル (tf-idf) 説明文 (tf-idf) function function function Score: 0.1143
Custom all fields stardust crusaders title & subtitle (tf-idf) title
& subtitle (tf-idf) function Score: 0.1143
Cross fields stardust stardust crusaders crusaders title subtitle title subtitle
function function function Score: 0.1143 tf-idf tf-idf
Ranking関数 • Sum, max, weighted sumなど • 条件付きブースト • 条件つきフィルター
• 独自の関数を定義 • 例:Decay function Relevant Search figure 7.11
ありがとうございました