Avaliação da Geração de SQL a partir da Linguagem Natural
Um estudo sobre os desafios de transformar linguagem natural em consultas SQL.
― 6 min ler
Índice
A tarefa de transformar linguagem natural em SQL (Structured Query Language) tem sido um desafio por um bom tempo. Essa tarefa é útil porque permite que pessoas que não manjam SQL possam fazer perguntas sobre bancos de dados em uma linguagem do dia a dia. Também ajuda gerentes de banco de dados a começarem com consultas geradas para melhorá-las depois.
Recentemente, grandes modelos de linguagem (LLMs) mostraram bons resultados em várias tarefas relacionadas à compreensão de linguagem. Esses modelos são treinados com uma quantidade imensa de texto e ajustados para tarefas específicas. Eles têm sido eficazes na geração de consultas SQL a partir de linguagem natural. No entanto, criar consultas SQL a partir de linguagem natural é complicado devido às complexidades da sintaxe SQL e à necessidade de decisões precisas.
Para avaliar quão bem esses LLMs se saem, foram introduzidos dois principais benchmarks: BiRD e Spider. O BIRD consiste em mais de 12.000 perguntas em linguagem natural e suas correspondentes consultas SQL, enquanto o Spider contém cerca de 10.000 perguntas mapeadas para 5.693 consultas SQL. Ambos os benchmarks são comumente usados para avaliar quão bem os LLMs conseguem produzir SQL a partir de linguagem natural.
Nesta análise, comparamos um benchmark SQL mais complexo chamado TPC-DS com o BIRD e o Spider. O TPC-DS é frequentemente usado para avaliar sistemas de banco de dados e inclui um conjunto de perguntas SQL difíceis que simulam decisões do mundo real. Nossa pesquisa indica que as consultas no TPC-DS são estruturalmente mais complexas do que as do BIRD e Spider. Isso sugere que precisamos de benchmarks mais desafiadores para refletir melhor as situações do mundo real.
Para comparar esses benchmarks, criamos várias medidas de complexidade. Analisamos várias características dentro das consultas SQL, como o número de colunas usadas, tipos de joins, funções de agregação e expressões de tabela comuns. A complexidade da cláusula WHERE nas consultas SQL também foi examinada, pois é um componente vital que pode definir a lógica da consulta.
Com nossa análise, descobrimos que as consultas do TPC-DS tendem a ter significativamente mais complexidade em suas cláusulas WHERE em comparação com BIRD e Spider. Na verdade, o número de predicados básicos usados é muito maior no TPC-DS, sugerindo que essas consultas exigem uma compreensão mais intrincada dos dados envolvidos.
Também avaliamos o desempenho de 11 LLMs diferentes ao gerar consultas SQL com base nas especificações do TPC-DS. Esses modelos incluem nomes bem conhecidos como GPT-4 e vários outros. Para testar quão bem esses modelos geraram consultas SQL válidas, usamos o sistema de banco de dados PostgreSQL para verificar a presença de erros na sintaxe SQL ou informações de esquema.
Durante nossos testes, encontramos muitos casos em que os LLMs produziram consultas SQL inválidas, que continham erros de sintaxe ou informações de esquema incorretas. Nesses casos, tentamos gerar novamente as consultas usando um novo prompt de usuário que incluía os detalhes do erro relatados pelo PostgreSQL.
Descobrimos que os modelos GPT-4, Gemini-1.5 e Mistral-large se destacaram na geração de consultas válidas, enquanto modelos menores tendiam a ter dificuldades. Os modelos menores frequentemente apresentavam taxas de sucesso muito baixas na geração de consultas SQL válidas com base nas especificações do TPC-DS.
Para analisar a complexidade estrutural das consultas SQL geradas, olhamos para contagens como o número de colunas referenciadas e o número de joins envolvidos. Comparamos essas contagens com as contagens médias encontradas nas consultas TPC-DS. Essa comparação revelou que apenas alguns dos modelos maiores conseguiram produzir consultas que correspondiam à complexidade do TPC-DS. A maioria dos modelos menores produziu consultas que eram bem menos complexas.
Apesar de alguns modelos maiores serem capazes de gerar consultas SQL complexas, descobrimos que a qualidade geral dessas consultas geralmente deixava a desejar. A maioria das consultas geradas não correspondia às consultas padrão fornecidas pelo TPC-DS, especialmente em termos dos predicados WHERE e joins utilizados. Isso destaca os desafios enfrentados quando a carga de trabalho complexa do TPC-DS é comparada a benchmarks mais simples como BIRD e Spider.
Para avaliar melhor o desempenho dos LLMs, definimos várias características chave das consultas SQL. Essas características nos ajudaram a medir quão próximas as consultas geradas estavam das consultas padrão do TPC-DS. Essa comparação envolveu olhar para semelhanças em várias características das consultas.
Ao analisarmos os resultados, ficou claro que, enquanto alguns LLMs se saíram melhor do que outros, nenhum conseguiu gerar consultas SQL que atendesse às expectativas para aplicação prática em cenários do mundo real. Isso indica que ainda temos um longo caminho a percorrer antes que esses modelos possam produzir consultas SQL que sejam precisas e úteis.
Olhando para o futuro, vemos várias áreas de trabalho futuro voltadas para melhorar a geração de SQL. Uma abordagem potencial é a geração incremental de SQL, que envolve dividir o processo de geração de SQL em partes menores. Isso poderia ajudar a melhorar a precisão das consultas geradas. Planejamos investigar novas estratégias para solicitar aos LLMs a geração de partes específicas das consultas SQL, como cláusulas WHERE e pares JOIN, separadamente.
Outra área de foco é o ajuste fino de modelos menores. Nossas descobertas sugerem que os modelos menores não conseguem igualar o desempenho dos maiores quando se trata de gerar consultas SQL complexas. Para aquelas situações onde modelos baseados em nuvem não são práticos devido a custos ou preocupações com privacidade, propomos investigar métodos para aprimorar o desempenho dos modelos menores.
Por fim, pretendemos desenvolver um processo com a participação humana para gerar SQL complexo. Em vez de depender apenas de modelos de IA, acreditamos que esses modelos deveriam identificar seções de consultas SQL que são difíceis de gerar e solicitar contribuições adicionais dos usuários para melhorar a precisão.
Em conclusão, descobrimos que o TPC-DS apresenta um nível de complexidade significativamente mais alto em comparação com os benchmarks BIRD e Spider. Os atuais modelos de IA generativa líderes ainda não são capazes de produzir consultas SQL precisas e adequadas para aplicações do mundo real. Isso destaca a necessidade de mais pesquisas e desenvolvimento na área de geração de texto para SQL para alcançar resultados satisfatórios que atendam às necessidades do mundo real.
Título: Evaluating LLMs for Text-to-SQL Generation With Complex SQL Workload
Resumo: This study presents a comparative analysis of the a complex SQL benchmark, TPC-DS, with two existing text-to-SQL benchmarks, BIRD and Spider. Our findings reveal that TPC-DS queries exhibit a significantly higher level of structural complexity compared to the other two benchmarks. This underscores the need for more intricate benchmarks to simulate realistic scenarios effectively. To facilitate this comparison, we devised several measures of structural complexity and applied them across all three benchmarks. The results of this study can guide future research in the development of more sophisticated text-to-SQL benchmarks. We utilized 11 distinct Language Models (LLMs) to generate SQL queries based on the query descriptions provided by the TPC-DS benchmark. The prompt engineering process incorporated both the query description as outlined in the TPC-DS specification and the database schema of TPC-DS. Our findings indicate that the current state-of-the-art generative AI models fall short in generating accurate decision-making queries. We conducted a comparison of the generated queries with the TPC-DS gold standard queries using a series of fuzzy structure matching techniques based on query features. The results demonstrated that the accuracy of the generated queries is insufficient for practical real-world application.
Autores: Limin Ma, Ken Pu, Ying Zhu
Última atualização: 2024-07-28 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2407.19517
Fonte PDF: https://arxiv.org/pdf/2407.19517
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.