Doğal Dilden SQL sorgusuna


13

"Doğal Dili SQL Sorgusuna Dönüştürme" adlı bir sistem geliştirmeye çalışıyorum.

Benzer soruların cevaplarını okudum, ancak aradığım bilgiyi alamadım.

Aşağıda, Garima Singh, Arun Solanki'nin Doğal Dili İlişkisel Veritabanları için SQL Sorgularına Dönüştürmek İçin Bir Algoritmadan Bu Sistem İçin Akış Şeması

Akış Şeması

Konuşma etiketleme adımının bir parçası olana kadar anladım. Ancak kalan adımlara nasıl yaklaşacağım.

  1. Tüm olası SQL sorgularını eğitmem gerekiyor mu?
  2. Ya da, konuşma etiketleme bir parçası bittiğinde, kelimelerle oynamak ve bir SQL sorgusu oluşturmak zorunda?

Düzenleme: Ben başarıyla "kullanıcı sorgulama" adım "Konuşma etiketleme parçası" için uyguladık.

Teşekkür ederim.


2
Nibi.ai'de (kuruculardan biriyim), API olarak kullanabileceğiniz bir NLP'den SQL motoruna inşa ediyoruz. Yakında başlıyoruz. Bir demo almak istiyorsanız bana bildirin.
Yehuda Kogan

Alternatif olarak insandan bir SQL kursu almasını isteyebilirsiniz ...
Marmite Bomber

Yanıtlar:


18

Sorunu başka bir perspektiften ele almak istiyorsanız, daha önce bahsettiğiniz bu büyük boru hattını önceden belirtmeyeceğiniz şekilde, uçtan uca bir öğrenme ile , tek yapmanız gereken, cümleler ve karşılık gelen SQL arasındaki eşlemedir. sorguları.

Eğiticiler:

Veritabanınızla nasıl konuşulur?

Kağıtlar:

Veri kümesi:

Doğal dil arayüzleri geliştirmek için büyük bir açıklamalı semantik ayrıştırma grubu.

Github kodu:

  1. seq2sql
  2. SQLNet

Ayrıca, nlsql gibi ticari çözümler var


2
+1, iyi cevap
verdikleri için

@Fadi Bakoura Teşekkürler. Bağlantılardan geçmeme izin verin.
deepguy

4

NLTK , python'daki nltk paketini kullanarak insan dilini bir SQL sorgusuna dönüştürmek için ihtiyacınız olan her şey için mükemmel bir adım adım kılavuza sahiptir.

Bu ilkel, ama sorunuza cevap veriyor.


Teşekkürler @ killerT2333. Sadece baktım. Ama bu biraz kafa karıştırıcı. Başka basit bir belge var mı?
deepguy

2
Bu bildiğim en basit şey - sorduğunuz şey oldukça karmaşık bir görev, bu yüzden sorunuzun basit bir cevabı yok. Nltk belgelerinde yüksek düzeyde ve aynı zamanda çok sayıda kod örneği ile düşük düzeyde sizi teoriye götürürler. Bundan daha kapsamlı, muhtemelen github veya araştırma makaleleri aramanız gerekir.
16'da PyR

Bunu bir kez daha ele alacağım. Ve sizi burada güncelleyin.
deepguy

2

Fadi'nin cevabını tamamlamak için, NL'den SQL'e metotlarla ilgili diğer faydalı makaleler aşağıdadır. Bu yöntemlerin en büyük farkı, birden fazla tablo (farklı tablolara katılma) kullanılarak yanıtlanması gereken sorguları desteklemesidir, ancak Salesforce belgesi (ve veri kümeleri) her seferinde tek bir tablodaki sorgulara odaklanır.

Bu kağıtların her ikisi de burada GeoQuery veri kümesi avaialbe kullanır .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.