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
510
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.2k
elasticsearch_semantic_search.pdf
shin_higuchi
0
260
ElasticsearchでECサイトにおける高速検索/集計を実現する
shin_higuchi
4
1.4k
Elasticsearchによる質問応答~NLP機械学習モデルの利用~
shin_higuchi
1
8.9k
Other Decks in Technology
See All in Technology
さくらの夕べ Debianナイト - さくらのVPS編
dictoss
0
200
はてなの開発20年史と DevOpsの歩み / DevOpsDays Tokyo 2025 Keynote
daiksy
6
1.5k
古き良き Laravel のシステムは関数型スタイルでリファクタできるのか
leveragestech
1
670
LLM as プロダクト開発のパワードスーツ
layerx
PRO
1
230
CBになったのでEKSのこともっと知ってもらいたい!
daitak
1
160
Would you THINK such a demonstration interesting ?
shumpei3
1
200
Devinで模索する AIファースト開発〜ゼロベースから始めるDevOpsの進化〜
potix2
PRO
7
3.2k
Amazon CloudWatch を使って NW 監視を行うには
o11yfes2023
0
140
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
5
5.4k
20250413_湘南kaggler会_音声認識で使うのってメルス・・・なんだっけ?
sugupoko
1
460
IVRyにおけるNLP活用と NLP2025の関連論文紹介
keisukeosone
0
190
DETR手法の変遷と最新動向(CVPR2025)
tenten0727
2
1.3k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
Thoughts on Productivity
jonyablonski
69
4.6k
Done Done
chrislema
183
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Docker and Python
trallard
44
3.3k
4 Signs Your Business is Dying
shpigford
183
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing for humans not robots
tammielis
252
25k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
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型)