Zapytanie języka naturalnego do SQL


13

Pracowałem nad opracowaniem systemu „Konwertowanie języka naturalnego na zapytania SQL”.

Przeczytałem odpowiedzi z podobnych pytań, ale nie byłem w stanie uzyskać informacji, których szukałem.

Poniżej znajduje się schemat blokowy takiego systemu, który mam z algorytmu przekształcania języka naturalnego w zapytania SQL dla relacyjnych baz danych autorstwa Garimy Singh, Arun Solanki

Schemat blokowy

Zrozumiałem do części etapu tagowania mowy. Ale jak podejść do pozostałych kroków.

  1. Czy muszę trenować wszystkie możliwe zapytania SQL?
  2. Czy po zakończeniu tagowania mowy muszę grać słowami i utworzyć zapytanie SQL?

Edycja: Z powodzeniem zaimplementowałem krok od „zapytania użytkownika” do „Części tagowania mowy”.

Dziękuję Ci.


2
W Nibi.ai (jestem jednym z założycieli) budujemy silnik NLP na SQL, którego możesz użyć jako API. Wkrótce uruchomimy. Daj mi znać, jeśli chcesz uzyskać wersję demo.
Yehuda Kogan

Alternatywnie możesz poprosić człowieka o wzięcie udziału w kursie SQL ...
Marmite Bomber

Odpowiedzi:


17

Jeśli chcesz rozwiązać problem z innej perspektywy, od uczenia się od końca do końca , tak że nie określisz z wyprzedzeniem tego dużego potoku, o którym wspominałeś wcześniej, jedyne, na czym Ci zależy, to odwzorowanie zdań i odpowiadającego im SQL zapytania.

Poradniki:

Jak rozmawiać z bazą danych

Dokumenty tożsamości:

Zestaw danych:

Duży semantyczny korpus analizujący z przypisami do opracowywania interfejsów języka naturalnego.

Kod Github:

  1. seq2sql
  2. SQLNet

Istnieją również rozwiązania komercyjne, takie jak nlsql


2
+1, za dobrą odpowiedź, ale jeszcze nie przejrzałem linków
Toros91

@Fadi Bakoura Dziękujemy. Pozwól mi przejść przez linki.
deepguy

4

NLTK ma doskonały przewodnik krok po kroku na temat wszystkiego, czego potrzebujesz, aby przekonwertować ludzki język na zapytanie SQL za pomocą pakietu nltk w pythonie.

Jest szczątkowy, ale odpowiada na twoje pytanie.


Dzięki @ killerT2333. Właśnie spojrzałem. Ale to trochę mylące. Czy jest jakiś inny prosty dokument?
deepguy

2
To najprostsze, jakie znam - zadanie jest dość złożone, więc nie ma prostej odpowiedzi na twoje pytanie. W dokumentacji nltk przeprowadzają cię przez teorię na wysokim poziomie, a także na niskim poziomie z wieloma przykładami kodu. Więcej niż to, prawdopodobnie musisz przeszukać github lub dokumenty badawcze.
PyRsquared

Przejdę przez to jeszcze raz. I zaktualizuję cię tutaj.
deepguy

2

Aby uzupełnić odpowiedź Fadi, poniżej znajdują się inne przydatne artykuły na temat metod NL na SQL. Główną różnicą tych metod jest to, że obsługują one zapytania, na które należy odpowiedzieć przy użyciu więcej niż jednej tabeli (łączenie różnych tabel), jednak papier Salesforce (i ich zestaw danych) koncentruje się na zapytaniach na jednym stole na raz.

Oba te dokumenty wykorzystują zestaw danych GeoQuery tutaj .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.