Я работал над разработкой системы «Преобразование естественного языка в SQL-запрос».
Я прочитал ответы на подобные вопросы, но не смог получить информацию, которую искал.
Ниже приведена блок-схема для такой системы, которую я получил от алгоритма преобразования естественного языка в запросы SQL для реляционных баз данных Гаримы Сингха, Аруна Соланки
Я понял до части шага пометки речи. Но как мне подойти к остальным шагам.
- Нужно ли обучать все возможные запросы SQL?
- Или, когда часть речевого тегирования сделана, мне нужно поиграть со словами и сформировать SQL-запрос?
Редактировать: я успешно реализовал переход от шага «пользовательский запрос» к «Часть речевого тегирования».
Спасибо.
Ответы:
Если вы хотите решить проблему с другой точки зрения, с целью сквозного обучения , чтобы вы не указали заранее этот большой конвейер, о котором вы упоминали ранее, все, что вас волнует, - это сопоставление предложений и соответствующего SQL запросы.
Учебники:
Как общаться с вашей базой данных
доклады:
Seq2SQL: создание структурированных запросов на естественном языке с использованием Reinforcement Learning salesforce
Neural Enquirer: обучение запросам таблиц на естественном языке
Dataset:
Большой аннотированный корпус семантического анализа для разработки интерфейсов на естественном языке.
Код Github:
Кроме того, есть коммерческие решения, такие как nlsql
источник
NLTK имеет превосходное пошаговое руководство по всему, что вам нужно для преобразования человеческого языка в SQL-запрос с помощью пакета nltk в python.
Это элементарно, но отвечает на ваш вопрос.
источник
Чтобы дополнить ответ Фади, ниже приведены другие полезные статьи о методах NL to SQL. Основное отличие этих методов заключается в том, что они поддерживают запросы, на которые нужно отвечать более чем одной таблицей (соединяя разные таблицы), однако документ Salesforce (и их набор данных) ориентирован на запросы к одной таблице за раз.
Обе эти статьи используют набор данных GeoQuery здесь .
источник