Analyse sémantique avec génération de SQL sensible à la syntaxe et aux tables

Nous présentons un modèle génératif visant à transformer des questions en langage naturel en requêtes SQL. Les approches existantes basées sur les réseaux neuronaux génèrent généralement une requête SQL mot par mot, mais une grande partie des résultats produits est incorrecte ou non exécutable en raison du décalage entre les mots de la question et le contenu de la table. Notre méthode aborde ce problème en prenant en compte la structure de la table et la syntaxe du langage SQL. La qualité de la requête SQL générée est considérablement améliorée grâce à : (1) l'apprentissage pour reproduire le contenu à partir des noms de colonnes, des cellules ou des mots-clés SQL ; et (2) l'amélioration de la génération de la clause WHERE en exploitant la relation colonne-cellule. Des expériences ont été menées sur WikiSQL, un jeu de données récemment publié contenant le plus grand nombre de paires question-SQL. Notre approche améliore considérablement l'exactitude d'exécution de l'état de l'art, passant de 69,0 % à 74,4 %.