Simple Science

Ciência de ponta explicada de forma simples

# Informática# Inteligência Artificial

Melhorando a tradução de linguagem natural para SQL

Novo método melhora a tradução de consultas SQL ao podar esquemas de banco de dados.

― 6 min ler


Avanço na Tradução SQLAvanço na Tradução SQLa eficiência da tradução.Novo método de poda de esquema aumenta
Índice

Traduzir linguagem natural em consultas SQL pode ser um desafio e tanto, especialmente quando o texto é longo. Um dos principais problemas é que o método de atenção usado em transformers pode consumir muita memória, tornando difícil processar sequências de entrada longas. Isso é particularmente importante quando a gente combina uma pergunta em linguagem natural com um esquema de banco de dados, o que pode resultar em textos bem longos.

Nesse contexto, apresentamos um método que melhora o processo de tradução, facilitando o manuseio de textos mais longos. Nossa abordagem utiliza uma técnica chamada poda de esquema de banco de dados, que significa que removemos partes desnecessárias do esquema que não ajudam na consulta específica que queremos. Isso permite que nosso método funcione com entradas que tenham até 512 tokens.

Visão Geral do Método

Usamos uma abordagem multilíngue no nosso estudo. O modelo que escolhemos é o mT5-large, que é uma versão de um modelo maior projetado para traduzir várias línguas. Treinamos esse modelo com um conjunto de dados diverso conhecido como Spider dataset, que contém consultas em inglês, português, espanhol e francês.

O objetivo deste trabalho é mostrar como a poda do esquema de banco de dados pode ajudar nas tarefas de tradução e melhorar o desempenho, especialmente em um contexto multilíngue.

O Desafio dos Textos Longos

Os transformers avançaram muito no processamento de linguagem natural, mas eles têm dificuldade com sequências de texto longas. O limite padrão de entrada é de 512 tokens. Embora seja possível aumentar esse limite, isso leva a um uso maior de memória, o que pode dispersar a atenção entre vários tokens.

Existem métodos que ajudam a gerenciar textos mais longos de forma mais eficaz, como o Big Bird e o Longformer. Esses métodos visam manter o uso de memória sob controle enquanto mantêm um bom desempenho. Nossa pesquisa foca em melhorar os transformers para a tradução de linguagem natural para SQL especificamente.

Importância do Esquema na Tradução

Os parsers de linguagem natural para SQL existentes, especialmente os baseados em transformers, combinam a pergunta com o esquema de banco de dados relacionado. Infelizmente, muitas palavras no esquema podem não ser necessárias para gerar uma consulta SQL adequada. Focando apenas nas tabelas e colunas relevantes para cada pergunta, conseguimos reduzir o tamanho da entrada.

O Spider dataset tem sido um recurso importante no desenvolvimento desses parsers. Ele inclui uma variedade de bancos de dados e consultas complexas. Avanços recentes nas técnicas de NL2SQL aproveitaram as características desse conjunto de dados.

Poda do Esquema

A poda de esquema envolve cortar tabelas e colunas do esquema de banco de dados que não são relevantes para a pergunta em questão. Isso ajuda a manter o tamanho do texto de entrada sob controle. Quando as perguntas são processadas, as partes desnecessárias do esquema podem ser descartadas, permitindo que as partes relevantes se encaixem no limite de 512 tokens.

Para alcançar isso, analisamos as perguntas de treinamento relacionadas ao banco de dados e identificamos quais tabelas e colunas eram usadas com frequência. Focando nessas, conseguimos criar um esquema mais curto e gerenciável.

Aumento de Dados Multilíngues

O processamento de linguagem natural avançou bastante, especialmente em inglês. No entanto, lidar com várias línguas traz desafios devido a modelos de linguagem limitados. Modelos multilíngues são vantajosos nessas situações.

Com base em descobertas anteriores, descobrimos que trabalhar com modelos multilíngues gerou melhores resultados do que usar modelos de uma única língua. Portanto, optamos pelo mT5, que é projetado para várias línguas e foi pré-treinado em 101 idiomas, incluindo os da nossa pesquisa.

O próprio Spider dataset consiste em vários arquivos, com um número significativo de perguntas traduzidas para o português, espanhol e francês. Ao manter o esquema de banco de dados original em inglês, garantimos que as traduções correspondessem às consultas pretendidas.

Experimentos e Resultados

Realizamos vários experimentos para verificar nossos métodos. Primeiro, comparamos nossas descobertas com modelos existentes. Descobrimos que o modelo base obteve bons resultados. Nossa abordagem multilíngue melhorou os resultados quando usamos um conjunto de dados combinando várias línguas.

Ao ajustar finamente o modelo com nosso conjunto de dados podado, os resultados mostraram um aumento significativo na precisão. A poda do esquema ajudou o modelo a focar melhor e alcançar uma pontuação de correspondência exata mais alta. Isso indica que incluir informações desnecessárias do esquema pode impactar negativamente o desempenho.

Resultados da Ajuste Fino

Para entender o impacto da poda de esquema, realizamos mais experimentos com dois conjuntos de dados diferentes: um com o esquema de banco de dados padrão e outro com a versão podada.

Após o ajuste fino com o conjunto de dados podado, vimos uma melhoria significativa no desempenho. O modelo treinado no conjunto de dados podado obteve melhores resultados do que aquele treinado com o esquema completo. Isso foi evidente em diferentes níveis de complexidade de perguntas.

Desempenho Específico por Idioma

Quando analisamos como o modelo se saiu em diferentes idiomas, percebemos que os resultados geralmente eram mais baixos para idiomas que não eram o inglês. Isso provavelmente se deve ao fato de que o modelo foi treinado principalmente com dados em inglês, levando a uma diferença de desempenho ao inferir consultas em outros idiomas.

Ainda assim, o modelo treinado com o esquema podado apresentou melhorias em todos os idiomas em comparação com o conjunto de dados de treinamento padrão. Os resultados reforçaram a importância de podar elementos desnecessários do esquema.

Conclusão

Nossa pesquisa trouxe insights valiosos sobre a tradução de linguagem natural para consultas SQL, particularmente em um contexto multilíngue. Ao podar o esquema de banco de dados, demonstramos como poderíamos melhorar o desempenho e lidar com sequências de entrada mais longas.

As melhorias na precisão destacam a eficácia da nossa abordagem. Trabalhos futuros envolverão aplicar as técnicas desenvolvidas aqui a outros conjuntos de dados e modelos para avaliar sua usabilidade geral e impacto nas tarefas de tradução.

Ao podar o esquema e empregar uma abordagem de treinamento multilíngue, não só melhoramos o desempenho da tradução, mas também abrimos novos caminhos para pesquisadores que buscam avançar neste campo. A capacidade de processar textos mais longos sem exceder os limites de memória e mantendo a precisão é crucial para desenvolver ferramentas que consigam traduzir efetivamente a linguagem humana em consultas SQL estruturadas.

Fonte original

Título: A Multilingual Translator to SQL with Database Schema Pruning to Improve Self-Attention

Resumo: Long sequences of text are challenging in the context of transformers, due to quadratic memory increase in the self-attention mechanism. As this issue directly affects the translation from natural language to SQL queries (as techniques usually take as input a concatenated text with the question and the database schema), we present techniques that allow long text sequences to be handled by transformers with up to 512 input tokens. We propose a training process with database schema pruning (removal of tables and columns names that are useless for the query of interest). In addition, we used a multilingual approach with the mT5-large model fine-tuned with a data-augmented Spider dataset in four languages simultaneously: English, Portuguese, Spanish, and French. Our proposed technique used the Spider dataset and increased the exact set match accuracy results from 0.718 to 0.736 in a validation dataset (Dev). Source code, evaluations, and checkpoints are available at: \underline{https://github.com/C4AI/gap-text2sql}.

Autores: Marcelo Archanjo Jose, Fabio Gagliardi Cozman

Última atualização: 2023-06-25 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2306.14256

Fonte PDF: https://arxiv.org/pdf/2306.14256

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.

Mais de autores

Artigos semelhantes