Натуральна мова до SQL-запиту


13

Я працював над розробкою системи "Перетворення природної мови в SQL-запит".

Я прочитав відповіді з подібних питань, але не зміг отримати інформацію, яку я шукав.

Нижче наведено блок-схему такої системи, яку я отримав з «Алгоритму перетворення природної мови» в SQL запити для реляційних баз даних Гаріма Сінгх, Арун Соланкі

Блок-схема

Я зрозумів до того моменту, як частина кроку тегування мови. Але як мені підійти до решти кроків.

  1. Чи потрібно мені тренувати всі можливі запити SQL?
  2. Або після того, як частина тегів мови буде виконана, я повинен грати зі словами та формувати SQL-запит?

Редагувати: я успішно реалізував від кроку "запит користувача" до "Частина тегів мови".

Дякую.


2
У Nibi.ai (я один із засновників) ми створюємо двигун NLP до SQL, який можна використовувати як API. Ми незабаром запускаємо. Повідомте мене, якщо ви хочете отримати демонстрацію.
Єгуда Коган

В якості альтернативи ви можете попросити людину пройти курс SQL ...
Marmite Bomber

Відповіді:


17

Якщо ви хочете вирішити проблему з іншої точки зору, з метою закінчення навчання до кінця , таким чином, щоб ви не вказували заздалегідь цей великий конвеєр, про який ви згадали раніше, все, що вам важливо, - це відображення між реченнями та відповідним SQL запити.

Підручники:

Як спілкуватися зі своєю базою даних

Документи:

Набір даних:

Великий анотований семантичний корпус для розбору для розробки інтерфейсів природної мови.

Код Github:

  1. seq2sql
  2. SQLNet

Також існують комерційні рішення типу nlsql


2
+1, за відповіді добре, але ще не перейшли за посиланнями
Toros91

@Fadi Bakoura Дякую. Дозвольте мені перейти за посиланнями.
deepguy

4

NLTK має відмінне покрокове керівництво про все, що потрібно для перетворення людської мови в SQL-запит, використовуючи пакет nltk в python.

Це рудиментарно, але відповідає на ваше запитання.


Дякуємо @ killerT2333. Я просто мав погляд. Але це щось заплутано. Чи є ще якийсь простий документ?
deepguy

2
Це найпростіший з мене, який я знаю - це досить складна задача, яку ви задаєте, тому немає простої відповіді на ваше запитання. Щодо документації на nltk, вони переносять вас на теорії на високому рівні, а також на низькому рівні з великою кількістю прикладів коду. Більш масштабне, ніж це, вам, мабуть, потрібно шукати github або дослідницькі роботи.
PyRsquared

Я пройду це ще раз. І оновити вас тут.
deepguy

2

Для доповнення відповіді Фаді наведені інші корисні статті про методи NL до SQL. Основна відмінність цих методів полягає в тому, що вони підтримують запити, на які слід відповідати, використовуючи більш ніж одну таблицю (приєднуючись до різних таблиць), однак папір Salesforce (та їх набір даних) орієнтований на запити по одній таблиці одночасно.

Обидва цих робіт використовують GeoQuery DataSet avaialbe тут .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.