Bahasa Alam ke SQL query

12

Saya telah bekerja mengembangkan sistem "Konversi Bahasa Alami ke SQL Query".

Saya telah membaca jawaban dari pertanyaan serupa, tetapi tidak dapat memperoleh informasi yang saya cari.

Di bawah ini adalah diagram alur untuk sistem seperti yang saya dapatkan dari Algoritma untuk Mengubah Bahasa Alam menjadi SQL Query untuk Database Relasional oleh Garima Singh, Arun Solanki

Diagram alir

Saya sudah mengerti sampai bagian dari langkah pemberian tag ucapan. Tetapi bagaimana saya mendekati langkah-langkah yang tersisa.

  1. Apakah saya perlu melatih semua pertanyaan SQL yang mungkin?
  2. Atau, begitu bagian dari penandaan ucapan selesai, saya harus bermain dengan kata-kata dan membentuk query SQL?

Sunting: Saya telah berhasil mengimplementasikan dari langkah "permintaan pengguna" ke "Bagian dari pemberian tag ucapan".

Terima kasih.

deepguy
sumber
2
Di Nibi.ai (saya adalah salah satu pendiri) kami sedang membangun mesin NLP ke SQL yang dapat Anda gunakan sebagai API. Kami akan segera meluncurkan. Beri tahu saya jika Anda ingin mendapatkan demo.
Yehuda Kogan
Sebagai alternatif, Anda dapat meminta manusia untuk mengambil kursus SQL ...
Marmite Bomber

Jawaban:

15

Jika Anda ingin mengatasi masalah dari perspektif lain, dengan ujung ke ujung pembelajaran , sehingga Anda tidak menentukan sebelumnya pipa besar ini yang telah Anda sebutkan sebelumnya, yang Anda pedulikan hanyalah pemetaan antara kalimat dan SQL yang terkait. pertanyaan.

Tutorial:

Bagaimana cara berbicara ke basis data Anda

Dokumen:

Himpunan data:

Korpus parsing semantik beranotasi besar untuk mengembangkan antarmuka bahasa alami.

Kode github:

  1. seq2sql
  2. SQLNet

Juga, ada solusi komersial seperti nlsql

Fadi Bakoura
sumber
2
+1, untuk menjawab dengan baik tetapi belum melalui tautan
Toros91
@Fadi Bakoura Terima kasih. Biarkan saya membaca tautan.
deepguy
4

NLTK memiliki panduan langkah demi langkah yang sangat baik tentang semua yang Anda butuhkan untuk mengubah bahasa manusia menjadi query SQL menggunakan paket nltk dengan python.

Ini belum sempurna, tetapi menjawab pertanyaan Anda.

PyRsquared
sumber
Terima kasih @ killerT2333. Saya baru saja melihat. Tapi ini agak membingungkan. Apakah ada dokumen sederhana lainnya?
deepguy
1
Itu yang paling sederhana yang saya tahu - itu tugas yang cukup rumit apa yang Anda minta, jadi tidak ada jawaban sederhana untuk pertanyaan Anda. Pada dokumentasi nltk mereka membawa Anda melalui teori di level tinggi, dan juga di level rendah dengan banyak contoh kode. Lebih luas dari itu, Anda mungkin perlu mencari github atau makalah penelitian.
PyRsquared
Saya akan membahasnya sekali lagi. Dan perbarui Anda di sini.
deepguy
2

Untuk melengkapi jawaban Fadi, berikut ini adalah makalah lain yang bermanfaat tentang metode NL to SQL. Perbedaan utama dari metode ini adalah bahwa mereka mendukung kueri yang harus dijawab menggunakan lebih dari satu tabel (bergabung dengan tabel yang berbeda), namun makalah Salesforce (dan dataset mereka) difokuskan pada kueri pada satu tabel pada suatu waktu.

Kedua makalah ini menggunakan avaialbe dataset GeoQuery di sini .

vahid
sumber