J'ai travaillé sur le développement d'un système "Conversion du langage naturel en requête SQL".
J'ai lu les réponses aux questions similaires, mais je n'ai pas pu obtenir les informations que je cherchais.
Voici l'organigramme d'un tel système que j'ai obtenu d' un algorithme pour transformer le langage naturel en requêtes SQL pour les bases de données relationnelles par Garima Singh, Arun Solanki
J'ai compris jusqu'à une partie de l'étape de balisage vocal. Mais comment aborder les étapes restantes.
- Dois-je former toutes les requêtes SQL possibles?
- Ou, une fois qu'une partie du balisage vocal est terminée, je dois jouer avec les mots et former une requête SQL?
Edit: J'ai réussi à implémenter l'étape "requête utilisateur" à "partie du balisage vocal".
Je vous remercie.
Réponses:
Si vous voulez aborder le problème dans une autre perspective, avec un apprentissage de bout en bout , de sorte que vous ne spécifiez pas à l'avance ce grand pipeline que vous avez mentionné plus tôt, tout ce qui vous intéresse est le mappage entre les phrases et leur SQL correspondant requêtes.
Tutoriels:
Comment parler à votre base de données
Papiers:
Seq2SQL: génération de requêtes structurées à partir du langage naturel à l'aide de l'apprentissage par renforcement salesforce
Neural Enquirer: Apprendre à interroger les tables en langage naturel
Base de données:
Un grand corpus d'analyse sémantique annoté pour développer des interfaces en langage naturel.
Code Github:
En outre, il existe des solutions commerciales comme nlsql
la source
NLTK a un excellent guide étape par étape sur tout ce dont vous avez besoin pour convertir le langage humain en une requête SQL en utilisant le package nltk en python.
C'est rudimentaire, mais cela répond à votre question.
la source
Pour compléter la réponse de Fadi, voici d'autres articles utiles sur les méthodes NL vers SQL. La principale différence de ces méthodes est qu'elles prennent en charge les requêtes auxquelles il faut répondre à l'aide de plusieurs tables (joindre des tables différentes), mais le document Salesforce (et leur jeu de données) se concentre sur les requêtes sur une table à la fois.
Ces deux articles utilisent ici l'ensemble de données GeoQuery disponible .
la source