He estado trabajando en el desarrollo de un sistema "Conversión de lenguaje natural a consulta SQL".
He leído las respuestas de preguntas similares, pero no pude obtener la información que estaba buscando.
A continuación se muestra el diagrama de flujo para dicho sistema que obtuve de Un algoritmo para transformar el lenguaje natural en consultas SQL para bases de datos relacionales por Garima Singh, Arun Solanki
Lo he entendido hasta parte del paso de etiquetado del discurso. Pero, ¿cómo me acerco a los pasos restantes.
- ¿Necesito entrenar todas las consultas SQL posibles?
- O, una vez que se realiza parte del etiquetado del discurso, ¿tengo que jugar con las palabras y formar una consulta SQL?
Editar: he implementado con éxito desde el paso "consulta de usuario" a "Parte del etiquetado de voz".
Gracias.
Respuestas:
Si desea abordar el problema desde otra perspectiva, con un aprendizaje de principio a fin , de modo que no especifique de antemano esta gran tubería que ha mencionado anteriormente, lo único que le importa es la asignación entre oraciones y su correspondiente SQL consultas
Tutoriales:
Cómo hablar con tu base de datos
Documentos:
Seq2SQL: Generando consultas estructuradas a partir del lenguaje natural usando la fuerza de ventas de Reinforcement Learning
Neural Enquirer: aprendiendo a consultar tablas en lenguaje natural
Conjunto de datos:
Un gran corpus de análisis semántico anotado para desarrollar interfaces de lenguaje natural.
Código de Github:
Además, hay soluciones comerciales como nlsql
fuente
NLTK tiene una excelente guía paso a paso sobre todo lo que necesita para convertir el lenguaje humano en una consulta SQL utilizando el paquete nltk en python.
Es rudimentario, pero responde a su pregunta.
fuente
Para complementar la respuesta de Fadi, los siguientes son otros documentos útiles sobre los métodos de NL a SQL. La principal diferencia de estos métodos es que admiten consultas que deben responderse utilizando más de una tabla (unir tablas diferentes), sin embargo, el documento de Salesforce (y su conjunto de datos) se centra en consultas en una tabla a la vez.
Ambos documentos utilizan el conjunto de datos GeoQuery disponible aquí .
fuente