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
生成AIで実現するText-to-SQL入門
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
satoshihirose
June 25, 2025
1.2k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
生成AIで実現するText-to-SQL入門
satoshihirose
June 25, 2025
More Decks by satoshihirose
See All by satoshihirose
メタデータ管理と生成AI ~ COMETAのこれまでとこれから ~
satoshihirose
0
170
顧客に価値を届け続けられる プロダクトであるために ~B2B SaaSにおいてプロダクトビジョン・戦略を改めて 策定するまでの道のり~
satoshihirose
2
1k
Data Product Manager? / データプロダクトマネージャーとは?
satoshihirose
4
32k
Overview of The Modern Data Stack / モダンデータスタック概論
satoshihirose
12
9.1k
Cloud-Nativeなデータ分析基盤におけるPrestoの活用 / Cloud-Native Data Infrastructure with Presto
satoshihirose
1
9.6k
Data Engineering at SmartNews
satoshihirose
4
3.3k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
A Tale of Four Properties
chriscoyier
163
24k
How to train your dragon (web standard)
notwaldorf
97
6.7k
The SEO identity crisis: Don't let AI make you average
varn
0
490
Designing Experiences People Love
moore
143
24k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
From π to Pie charts
rasagy
0
210
Visualization
eitanlees
152
17k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Docker and Python
trallard
47
3.9k
Transcript
©primeNumber Inc. 生成AIで実現するText-to-SQL入門 2025-06-26 Database Engineering Meetup #7: データエンジニアリング 株式会社primeNumber,
廣瀬智史 / Satoshi Hirose
2 自己紹介 廣瀬智史 / Satoshi Hirose 株式会社primeNumber, Staff Product Manager
• SWE -> Technical Support -> Data Eng -> Product Manager(いまここ) • COMETAというデータカタログ領域の 製品を作っています • X: @satoshihirose
3 自己紹介 https://primenumber.com/cometa
4 Text-to-SQLの話
5 • Text-to-SQL? ◦ 自然言語の質問を自動でSQLに変 換する技術 • 右の図の質問例 ◦ 「史上最も試合数の多い5つのリー
グの名前と、そのリーグで何試合 行われたかを教えてください」 • 何が嬉しい? ◦ SQLを書く時間短縮し業務効率化 ◦ SQLが書けなくてもセルフサーブ な分析で意思決定が高速化 ◦ アナリストの問い合わせ対応業務 が減り、攻めの業務に時間を使え るようになる Text-to-SQL? Hong, Z., Yuan, Z., Zhang, Q., Chen, H., Dong, J., Huang, F., & Huang, X. (2024). Next-Generation Database Interfaces: A Survey of LLM-based Text-to-SQL. arXiv preprint arXiv:2406.08426.
6 [現状] データ製品ベンダーにおけるText-to-SQLの取り組み • 各社データ利用者向けのAIエージェン トを提供し始めており、その一部と してText-to-SQLが実現されている • DWHベンダー ◦
Genie(Databricks) ◦ Cortex(Snowflake) • BIベンダー ◦ Tableau Agent(Tableau) ◦ Spotter(Thoughtspot) • Data Catalogベンダー ◦ CLAIRE(Informatica) ◦ ALLIE AI(Alation)
7 [現状] 国内IT企業におけるText-to-SQLの取り組み • Mercari • Ubie • Cookpad •
etc… メルカリにおけるデータアナリティクス AI エージェント「Socrates」と ADK 活用事例
8 Text-to-SQLの簡単な歴史 • ルールベース ◦ 手作業で作成されたルールとヒューリスティックを使用して自然言語 の質問を SQL にマッピングする手法 •
ディープラーニングベース ◦ ディープニューラルネットワーク、Seq2Seqモデル、LSTMなどのエン コーダーデコーダー構造により自然言語入力からSQLクエリを生成する 手法が登場 • PLMベース ◦ 標準的なText-to-SQL向けのデータセットでfine-tuneされたBERTや RoBERTaなどPLMが生まれる • LLMベース ◦ GPTの登場などでさらに流暢なSQLの生成が可能になる 旧 新 Hong, Z., Yuan, Z., Zhang, Q., Chen, H., Dong, J., Huang, F., & Huang, X. (2024). Next-Generation Database Interfaces: A Survey of LLM-based Text-to-SQL. arXiv preprint arXiv:2406.08426.
9 Text-to-SQLの簡単な歴史 Li, B., Luo, Y., Chai, C., Li, G.,
& Tang, N. (2024). The Dawn of Natural Language to SQL: Are We Fully Ready? arXiv preprint arXiv:2406.01265
10 Text-to-SQLの難しさ • 自然言語の複雑さと曖昧さ ◦ 本質的に自然言語は曖昧で、与えられたユーザーの質問に対して複数の表現が 考えられる。文脈とドメイン知識を組み込む必要がある。 • スキーマの理解と表現 ◦
テーブル名、列名、テーブル間の関係性など、データベーススキーマを包括的 に理解している必要があるが、スキーマ構造は複雑でドメインによって大きく 異なる。 • 稀で複雑なSQL操作 ◦ 一部SQLにはネストされたサブクエリ、外部結合、ウィンドウ関数など、稀で 複雑な操作や構文が含まれる。これらの操作はトレーニングデータでは頻度が 低いため、正確な生成が困難。 • クロスドメインでの一般化 ◦ 特定のドメインでトレーニングされたモデルは、語彙、データベーススキーマ 構造、質問パターンのばらつきにより、他のドメインの質問に対して良好なパ フォーマンスを発揮できない場合がある。 Hong, Z., Yuan, Z., Zhang, Q., Chen, H., Dong, J., Huang, F., & Huang, X. (2024). Next-Generation Database Interfaces: A Survey of LLM-based Text-to-SQL. arXiv preprint arXiv:2406.08426.
11 LLMベースのText-to-SQLはAgenticなRAGシステムになっていく • 処理を分解すると ◦ 質問の理解 ◦ スキーマの理解 ◦ SQLの生成
• 個別のプロセスに分解してマ ルチエージェント的に動作で きる ◦ 例: スキーマリンク、 SQL生成、SQL改良 • LLMベースのText-to-SQLが複 雑なスキーマに対応するには RAGシステムが必要
12 LLMベースのText-to-SQLの課題 • ハルシネーション ◦ LLMにはハルシネーションがあり、無関係な列を選択したり、ありえないフィ ルタ条件を出力する可能性がある。 • トークン長の限界 ◦
複雑なデータベースを扱う場合、対応するスキーマを入力するときにLLMを呼 び出すトークン・コストが大幅に増加し、特にコンテキスト長が短いOSSモデ ルの実装では、モデルの最大トークン長を超える可能性がある • 評価の難しさ ◦ LLMの出力は確率的で再現性が低く、また正解SQLが一通りではないため自動 評価指標の設計も難しい。各社とも社内の具体的なユースケースに沿ったゴー ルデンセットを作り、人間の評価も交えつつ継続的に運用する必要がある。
13 • フォローアップの質問 ◦ ユーザーの質問に曖昧な 点があったら聞き返し、 追加の情報を取得する • 検証と反復的改良 ◦
生成結果の検証による実 行エラーの解消など反復 的に生成するSQLを改良 する LLMベースのText-to-SQLのアーキテクチャ事例と工夫 Google Cloud, AI を使って優れた SQL を作成する: Text-to-SQL 手法の説明
14 • Few-shotサンプリング ◦ クエリログからその説明を 生成し、embedding表現に して保存。質問に対して適 切なクエリを取得し、LLM に対して入力する LLMベースのText-to-SQLのアーキテクチャ事例と工夫
How we built Text-to-SQL at Pinterest
15 • 探索空間・スキーマ情報の削減 ◦ 質問内容やユーザー属性に より、スキーマ探索空間や スキーマ情報をフィルタ し、入力トークンを削減 • ドメイン知識の注入
◦ カスタムインストラクショ ンとして、ドメイン知識を 注入 LLMベースのText-to-SQLのアーキテクチャ事例と工夫 QueryGPT – Natural Language to SQL Using Generative AI
16 有名な評価データセット BIRD https://bird-critic.github.io/
17 有名な評価データセット BIRD https://bird-critic.github.io/
18 有名な評価データセット SPIDER https://spider2-sql.github.io/
19 有名な評価データセット SPIDER https://spider2-sql.github.io/
20 日本語のデータセットはほぼない Hong, Z., Yuan, Z., Zhang, Q., Chen, H.,
Dong, J., Huang, F., & Huang, X. (2024). Next-Generation Database Interfaces: A Survey of LLM-based Text-to-SQL. arXiv preprint arXiv:2406.08426.
21 多言語対応データセット MultiSpider MultiSpider: Towards Benchmarking Multilingual Text-to-SQL Semantic Parsing
• Spiderの 全 テーブル+質問を7言語に翻訳 したマルチリンガル版。英・独・仏・西・ 中・越・日に対応 ◦ DBの値は翻訳していないので、値に 言及する質問は除いている • 日本語は精度が高くない(LLMベースでは なくPLMベース) ◦ 英語と異なり、質問とスキーマが マッチしない ▪ 説明などのメタデータの必要性
22 • Text-to-SQLは昔からさまざまな方法で実現が模索されてきており、特にLLMベース のものは成果をあげ、引き続き研究が進められている • 各社の努力によりText-to-SQLを含むデータ活用における生成AIの利用は進んできて いる • 日本語環境における適用や、メタデータ管理やエージェントとの質疑応答を含めた 総合的なUXはまだ改良余地がある
まとめ
23 • https://speakerdeck.com/masatoto/sheng-cheng-aiwoyong-itatext-to-sqlnozui-qian-xian • https://speakerdeck.com/yoshidashingo/text-to-sql • https://www.uber.com/en-IN/blog/query-gpt/ • https://www.linkedin.com/blog/engineering/ai/practical-text-to-sql-for-data-analytics •
https://medium.com/pinterest-engineering/how-we-built-text-to-sql-at-pinterest-30bad30dabff • https://techlife.cookpad.com/entry/2025/06/19/111539 • https://speakerdeck.com/na0/merukariniokerudetaanariteikusu-ai-eziento-socrates-to-adk-huo -yong-shi-li • https://speakerdeck.com/gotalab555/text-to-sqlnoping-jia-detasetutowozuo-tutezui-xin-llmmod erunoxing-neng-ping-jia-wositemita • https://note.com/okiyuki/n/na526aeabd4b6 • https://zenn.dev/ubie_dev/articles/64cf285988ebe8#TextToSQL • https://cloud.google.com/blog/ja/products/databases/techniques-for-improving-text-to-sql • https://arxiv.org/abs/2406.08426 • https://arxiv.org/html/2406.01265v1 • https://www.ptechpartners.com/2025/05/20/talking-to-your-data-literally-getting-the-most-fro m-natural-language-querying/ 参考情報
Thank you!