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
Elasticsearchにおけるベクトル検索(第57回Elasticsearch勉強会)
Search
樋口慎
December 18, 2023
Technology
1
590
Elasticsearchにおけるベクトル検索(第57回Elasticsearch勉強会)
第57回 Elasticsearch勉強会(LT大会)の発表資料です。
樋口慎
December 18, 2023
Tweet
Share
More Decks by 樋口慎
See All by 樋口慎
ChatGPTをどう使うか?(JJUGナイトセミナー5/23)
shin_higuchi
1
2.3k
elasticsearch_semantic_search.pdf
shin_higuchi
0
300
ElasticsearchでECサイトにおける高速検索/集計を実現する
shin_higuchi
4
1.5k
Elasticsearchによる質問応答~NLP機械学習モデルの利用~
shin_higuchi
1
9.1k
Other Decks in Technology
See All in Technology
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.2k
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
Create Ruby native extension gem with Go
sue445
0
130
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
100
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
roppongirb_20250911
igaiga
1
250
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
はじめてのOSS開発からみえたGo言語の強み
shibukazu
3
980
Featured
See All Featured
Thoughts on Productivity
jonyablonski
70
4.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Designing for humans not robots
tammielis
253
25k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
Why Our Code Smells
bkeepers
PRO
339
57k
Optimizing for Happiness
mojombo
379
70k
Producing Creativity
orderedlist
PRO
347
40k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Transcript
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 第57回Elasticsearch勉強会
Elasticsearchにおけるベクトル検索 Acroquest Technology 株式会社 Elastic Certified Engineer 樋口 慎 @shin0higuchi 1
自己紹介 ⚫ 名前:樋口 慎 ⚫ 所属:Acroquest Technology株式会社 ⚫ 業務:Elasticコンサルティング全般、データ分析、システム開発 ⚫
資格/執筆: 世界初「Elastic Certification」3種取得 Azure Solutions Architect Elasticsearch NEXT STEP 執筆
ベクトル検索のメリット Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3
名称を知らないものを自然言語で検索するのは困難... Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4 バッグクロージャー 袖ビーム グレービーボート ランチャーム
ベクトル化することで、自然言語に依らず検索が可能 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
5 画像1: [0.8, 0.2, 0.3, ....] 画像2: [0.0, 0.5, 0.2, ....] 画像3: [0.3, 0.4, 0.1, ....] 画像4: [0.4, 0.6, 0.2, ....] ベクトル化
文書のベクトル検索 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
6 ▪Elasticsearchの通常の検索 検索クエリを 形態素解析 AWS上でElasticsearchを使うには? AWS/上/で/Elasticsearch/ を/使う/に/は/? 検索対象ドキュメント群 検索 「AWS」「Elasticsearch」 といったキーワードを含むド キュメントのみがヒットする ▪セマンティック検索 機械学習モデルで ベクトル化(embedding) AWS上でElasticsearchを使うには? [0.8, 0.2, 0.3, ....] 検索対象ドキュメント群 検索 意味的に近い ドキュメントがヒットする ※検索ドキュメント群が事前に ベクトル化されている必要がある
Elasticsearchにおけるベクトル検索 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
7
Elasticsearchで学習済みモデルを利用するには Copyright © Acroquest Technology Co., Ltd. All rights reserved.
8 Kibana Elasticsearch 学習済みモデル ② Elandを利用して、 学習済みモデルを Elasticsearchに登録する ① 学習済みモデルを用意する (Hugging Face等を利用す る場合、適切なモデルを選 ぶのみ) ③ ドキュメント登録時/検 索時に登録済みモデルを 呼び出して利用する (ベクトル化)
Elasticsearch内でモデルを呼び出し可能 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
9
Elasticsearchでのベクトル検索 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
10 1. HNSWと呼ばれるアルゴリズムによって、 大量のベクトルが対象でも高速な類似検索が可能 ※script scoreクエリによるブルートフォースkNNも利用可能だが 高レイテンシーのため、厳密性を求めない限りは利用機会が少ないと思われる 2. バージョンアップとともに、利用可能なベクトル次元数も増加 (ver.8.11では4096次元のベクトルまで登録可能) 3. 詳細なクエリ記法はリファレンス参照 k-nearest neighbor (kNN) search | Elasticsearch Guide [8.11] | Elastic を参照
ご清聴ありがとうございました。 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
11
余談ですが.... Copyright © Acroquest Technology Co., Ltd. All rights reserved.
13 • 8.11で sparse_vector型が復活しました(実体はrank_feature型)