自然言語でデータベースを照会できるText-to-SQLツールの投入が相次いでいる。一方で専門家は、非専門家が単独で利用する場合には慎重な運用が必要だと警鐘を鳴らしている。
The Registerによると、AWSはこのほど、Bedrockプラットフォームを活用したText-to-SQLソリューションを公開した。Snowflakeも、「先月の売上」といったビジネス部門の自然な表現をデータベースが解釈可能な形に変換する「Cortex Analyst」を披露。MongoDBも、LangChainベースの自然言語クエリAPIを提供している。
こうした動きについて、トロント大学のコンピュータサイエンス学科のニック・クダス教授は、ビジネスユーザーが利用する場合、構文上は正しくても、ユーザーの意図とずれたクエリをシステムが生成する可能性があると指摘した。Text-to-SQLシステムの精度は現時点で約80%にとどまり、約93%とされる人間の専門家には及ばないという。
課題の一つは、企業ごとに独自データや社内用語が存在する点だ。大規模言語モデル(LLM)は、追加学習なしにそうした文脈を正確に理解するのが難しい場合がある。
中でも厄介なのは、構文エラーがないまま意味を取り違えたクエリが生成されるケースだ。構文エラーであればクエリは実行されず、問題を比較的すぐに判別できる。これに対し、意味的に誤ったクエリは不適切な結果を返しても、誤りとして表面化しにくい。
クダス教授は現段階では、非専門家が自然言語でSQLクエリを作成するプロセスに、SQLを理解し、結果を検証できる専門家が関与する必要があると強調した。
研究者の間では、LLMがユーザーに確認を返すことで精度を高める手法も模索されている。自然言語には曖昧さやニュアンスが多いため、LLMが不確かなトークンに直面した際に、「この表現はAを意味するのか、それともBなのか」とユーザーに問い返し、共同でクエリを完成させるアプローチだとThe Registerは報じた。
クダス教授は、Text-to-SQLは開発者の生産性向上を支援するツールであり、開発者そのものを置き換える技術ではないと述べた。