Simple Science

La science de pointe expliquée simplement

# Informatique# Bases de données# Intelligence artificielle# Calcul et langage

Évaluer les systèmes Text-to-SQL avec des données réelles

Analyser les systèmes Text-to-SQL en utilisant des questions générées par les utilisateurs du projet FootballDB.

― 10 min lire


Évaluation d'un systèmeÉvaluation d'un systèmede Text-to-SQL dans lemonde réelText-to-SQL pour les données de foot.Évaluer l'efficacité d'un projet
Table des matières

Les systèmes Text-to-SQL permettent aux utilisateurs de poser des questions en langage simple et de traduire ces questions en commandes SQL qui peuvent récupérer des données d'une base de données. Ces systèmes sont devenus plus populaires car les gens cherchent des moyens plus faciles d'accéder aux données sans avoir besoin de savoir écrire du SQL eux-mêmes.

Au fil du temps, de nouveaux modèles de langage avancés ont aidé à améliorer le fonctionnement de ces systèmes. Cependant, bien que beaucoup de ces systèmes affichent de bons résultats lors de tests contrôlés, il n'y a pas eu assez d'attention sur leur performance dans des situations réelles avec de vraies questions d'utilisateurs.

Cet article examine la robustesse des systèmes Text-to-SQL face à différentes structures de bases de données en les évaluant à travers un projet axé sur des applications concrètes. Nous nous penchons sur FootballDB, une configuration utilisée pendant la Coupe du Monde FIFA 2022, où les utilisateurs ont soumis des milliers de questions en langage naturel. Notre analyse inclut des questions d'utilisateurs en temps réel, montrant comment le système gère différents types de conceptions de bases de données.

La montée des systèmes Text-to-SQL

Les bases de données relationnelles se sont longtemps appuyées sur SQL comme méthode standard pour interroger des données structurées. Ces dernières années, de plus en plus de gens, y compris ceux qui n'ont pas de formation en programmation, veulent utiliser ces bases de données pour prendre des décisions. Cela a conduit à la croissance des systèmes Text-to-SQL, qui permettent aux utilisateurs de poser des questions et de recevoir des réponses sans avoir besoin d'apprendre SQL.

Au fil des ans, les méthodes de conversion du langage simple en SQL ont progressé. Des systèmes simples basés sur des mots-clés aux modèles complexes d'apprentissage profond, ces systèmes ont amélioré leur précision de manière significative. Cependant, les outils actuels ne sont pas encore entièrement prêts pour un usage quotidien dans des situations d'entreprise.

Malgré divers benchmarks de performance créés à partir de données synthétiques, il n'y a toujours pas d'enquête systématique sur la performance de ces systèmes avec de vraies requêtes d'utilisateurs. La plupart des enquêtes précédentes parlent davantage des principes de conception que des évaluations pratiques. Cet article comble cette lacune en fournissant une analyse approfondie basée sur des applications réelles.

Le projet FootballDB

Le jeu de données FootballDB capture près d'un siècle de données sur la Coupe du Monde de football. Il inclut des informations sur les matchs, les joueurs, les équipes et les clubs, remontant à la première Coupe du Monde en 1930. Notre équipe a mis à jour le jeu de données en continu à mesure que de nouveaux matchs se déroulaient pendant la Coupe du Monde.

Au total, 6 000 questions en langage naturel ont été enregistrées provenant des utilisateurs pendant ce projet. Les principales caractéristiques de ce jeu de données incluent :

  1. Interaction réelle avec les utilisateurs : Toutes les questions provenaient d'utilisateurs réels interagissant avec le système.
  2. Informations complètes : Le jeu de données couvre des informations sur 22 Coupes du Monde, 86 équipes nationales et des milliers de joueurs et de clubs.
  3. Mises à jour continues : De nouveaux points de données ont été ajoutés après chaque match, garantissant que le jeu de données reste à jour.

Déploiement du système

Nous avons conçu l'interface FootballDB pour permettre aux utilisateurs de poser facilement des questions sur les données de la Coupe du Monde. Le système backend utilisait PostgreSQL pour gérer la base de données.

Pendant l'exploitation en direct, nous avons utilisé un modèle appelé ValueNet pour traduire les Requêtes des utilisateurs en commandes SQL. ValueNet a été choisi parce que son code source est ouvert et qu'il a été utilisé avec succès dans d'autres projets.

Engagement des utilisateurs

Pour attirer les utilisateurs vers notre système, nous nous sommes concentrés sur la Coupe du Monde FIFA. Le football est un événement universellement reconnu, ce qui facilite l'intérêt d'un public diversifié. Le déploiement a commencé en octobre 2022 et a duré jusqu'à la Coupe du Monde. Les retours des utilisateurs nous ont aidés à affiner le système au fil du temps.

Itérations d'améliorations

  1. Retour initial des utilisateurs : Les premières interactions ont révélé que les utilisateurs étaient souvent plus intéressés par les requêtes concernant les clubs de joueurs et les historiques d'entraîneurs. Nous avons élargi la base de données pour inclure ces informations.

  2. Interface experte : Nous avons créé une interface spécialisée pour les utilisateurs ayant des connaissances en SQL. Ils pouvaient donner leur avis sur les requêtes SQL générées par le système, ce qui nous a aidés à améliorer la précision.

  3. Validation des données : Nous avons mis en place un processus de validation manuelle pour garantir que les requêtes SQL générées étaient correctes. Cela a demandé un effort considérable, mais était essentiel pour affiner notre jeu de données.

  4. Automatisation du marquage : Nous avons commencé à développer des techniques pour automatiser certaines parties du processus de marquage, qui était auparavant effectué manuellement. Cela a aidé à accélérer le temps nécessaire pour préparer les données à l'entraînement du modèle.

  5. Mise à jour finale du modèle : Après avoir nettoyé le jeu de données, nous avons réentraîné le système pour mieux gérer les requêtes des utilisateurs. Ce processus a significativement amélioré la précision du modèle.

Conception du Modèle de données

La conception de la structure de la base de données est cruciale pour la performance des systèmes Text-to-SQL. Nous avons axé nos efforts sur deux objectifs principaux :

  1. Simplifier les requêtes : Nous voulions créer une structure qui faciliterait la rédaction de questions par les utilisateurs.

  2. Réduire les erreurs : Nous voulions minimiser les chances que le système génère des requêtes SQL incorrectes.

Modèle de données initial

La version de départ de notre modèle de données comportait 13 tables contenant divers détails sur le tournoi. Au cours du processus de validation, nous avons identifié certaines faiblesses dans la structure, notamment en ce qui concerne la façon dont les données étaient connectées.

Changements par itérations

  1. Version 2 : Nous avons modifié le modèle de données pour faciliter le processus de rédaction des requêtes. Cette version visait à réduire le nombre de jointures complexes entre les tables.

  2. Version 3 : Des améliorations supplémentaires ont été apportées pour améliorer l'expérience utilisateur. Des tables inutiles ont été supprimées, et des relations plus intuitives ont été créées, permettant aux utilisateurs de poser des questions plus simples.

Évaluation expérimentale

Nous avons réalisé une analyse détaillée pour évaluer comment différents systèmes Text-to-SQL fonctionnent avec le jeu de données FootballDB. Nous avons porté notre attention sur plusieurs questions de recherche clés :

  1. Impact des modèles de données : Comment les différentes conceptions de bases de données affectent-elles la précision des traductions SQL ?

  2. Performance des modèles de langage : Comment les modèles de langage petits, moyens et grands se comparent-ils dans l'exécution de ces tâches ?

  3. Effet de la taille des données d'entraînement : Comment le volume de données d'entraînement influence-t-il la performance du système ?

  4. Complexité des requêtes : Quel rôle joue la complexité des requêtes des utilisateurs ?

  5. Temps d'inférence : Combien de temps ces systèmes mettent-ils pour traiter des requêtes en temps réel ?

Configuration expérimentale

À partir des 6 000 interactions d'utilisateurs enregistrées, nous avons filtré les données pour créer un ensemble d'entraînement de 1 000 questions. Nous avons ensuite évalué les systèmes en fonction de différentes tailles de données d'entraînement pour voir comment cela affectait leur précision.

Métriques de performance

Pour évaluer l'efficacité du système, nous avons utilisé une mesure simple connue sous le nom de correspondance d'exécution exacte. Cette méthode examine si les résultats des requêtes SQL du système correspondent aux résultats attendus.

Résultats de performance du système

Nous avons testé plusieurs systèmes Text-to-SQL, y compris des modèles de langage petits, moyens et grands. La performance de chaque système était affectée par plusieurs facteurs :

  1. Modèle de données : Certains systèmes fonctionnaient mieux avec des modèles de données simplifiés, tandis que d'autres montraient peu de différence de performance selon les modèles.

  2. Taille du modèle de langage : Nos résultats indiquaient que les modèles plus grands offraient généralement une meilleure précision. Cependant, cela exigeait des ressources informatiques accrues.

  3. Taille des données d'entraînement : Plus de données d'entraînement avaient tendance à améliorer la performance globale, mais le gain était marginal après un certain point.

  4. Complexité des requêtes : Des requêtes plus complexes entraînaient une précision plus faible dans les systèmes.

Analyse du temps d'inférence

Nous avons mesuré combien de temps chaque système mettait pour générer une réponse après avoir reçu une requête d'utilisateur. Les résultats variaient énormément, certains modèles prenant plus de cinq minutes pour répondre à une question.

Leçons retenues

À travers les phases de déploiement et d'évaluation, nous avons découvert des idées clés qui peuvent guider les conceptions futures de systèmes Text-to-SQL :

  1. Formation des utilisateurs : Éduquer les utilisateurs sur le contenu de la base de données peut aider à réduire les questions hors sujet.

  2. Fonctionnalités expertes : Fournir des fonctionnalités avancées pour les utilisateurs avertis peut améliorer les retours sur le système et aider à affiner la performance.

  3. Automatisation dans le traitement des données : Trouver des moyens d'automatiser des tâches laborieuses comme le marquage des requêtes peut faire gagner du temps et des ressources.

  4. Importance des modèles de données : Le choix du modèle de données affecte considérablement la performance globale des systèmes Text-to-SQL, avec des conceptions plus simples entraînant généralement une meilleure gestion des requêtes des utilisateurs.

  5. Filtrage des requêtes : Réduire la complexité des requêtes SQL générées peut améliorer la performance sans nécessiter de données d'entraînement supplémentaires.

Conclusion

Cette étude souligne l'importance des évaluations en conditions réelles pour les systèmes Text-to-SQL et comment ils peuvent être améliorés en tenant compte de divers choix de conception. En publiant le jeu de données FootballDB, nous espérons aider d'autres chercheurs à développer et tester efficacement leurs systèmes. Bien que le défi de traduire les requêtes en langage naturel en SQL ne soit pas encore complètement résolu, nos résultats mettent en avant le potentiel de croissance et d'amélioration dans ce domaine.

Le travail attire également l'attention sur les limitations pratiques des systèmes actuellement disponibles, notamment en ce qui concerne le temps d'inférence, qui doit être abordé pour une adoption plus large dans des applications concrètes. À l'avenir, le défi reste d'optimiser ces systèmes pour de meilleures performances tout en les rendant accessibles aux utilisateurs quotidiens.

Source originale

Titre: Evaluating the Data Model Robustness of Text-to-SQL Systems Based on Real User Queries

Résumé: Text-to-SQL systems (also known as NL-to-SQL systems) have become an increasingly popular solution for bridging the gap between user capabilities and SQL-based data access. These systems translate user requests in natural language to valid SQL statements for a specific database. Recent Text-to-SQL systems have benefited from the rapid improvement of transformer-based language models. However, while Text-to-SQL systems that incorporate such models continuously reach new high scores on -- often synthetic -- benchmark datasets, a systematic exploration of their robustness towards different data models in a real-world, realistic scenario is notably missing. This paper provides the first in-depth evaluation of the data model robustness of Text-to-SQL systems in practice based on a multi-year international project focused on Text-to-SQL interfaces. Our evaluation is based on a real-world deployment of FootballDB, a system that was deployed over a 9 month period in the context of the FIFA World Cup 2022, during which about 6K natural language questions were asked and executed. All of our data is based on real user questions that were asked live to the system. We manually labeled and translated a subset of these questions for three different data models. For each data model, we explore the performance of representative Text-to-SQL systems and language models. We further quantify the impact of training data size, pre-, and post-processing steps as well as language model inference time. Our comprehensive evaluation sheds light on the design choices of real-world Text-to-SQL systems and their impact on moving from research prototypes to real deployments. Last, we provide a new benchmark dataset to the community, which is the first to enable the evaluation of different data models for the same dataset and is substantially more challenging than most previous datasets in terms of query complexity.

Auteurs: Jonathan Fürst, Catherine Kosten, Farhad Nooralahzadeh, Yi Zhang, Kurt Stockinger

Dernière mise à jour: 2024-11-29 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2402.08349

Source PDF: https://arxiv.org/pdf/2402.08349

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires