ภาษาธรรมชาติในการสืบค้น SQL


13

ฉันทำงานพัฒนาระบบ "การแปลงภาษาธรรมชาติเป็น SQL Query"

ฉันได้อ่านคำตอบจากคำถามที่คล้ายกัน แต่ไม่สามารถรับข้อมูลที่ฉันต้องการได้

ด้านล่างคือแผนผังลำดับงานสำหรับระบบดังกล่าวซึ่งฉันได้รับจากAlgorithm เพื่อแปลงภาษาธรรมชาติให้เป็นแบบสอบถาม SQL สำหรับฐานข้อมูลเชิงสัมพันธ์โดย Garima Singh, Arun Solanki

ผัง

ฉันเข้าใจจนเป็นส่วนหนึ่งของขั้นตอนการติดแท็กคำพูด แต่ฉันจะเข้าใกล้ขั้นตอนที่เหลือได้อย่างไร

  1. ฉันจำเป็นต้องฝึกเคียวรี SQL ที่เป็นไปได้ทั้งหมดหรือไม่?
  2. หรือเมื่อส่วนหนึ่งของการติดแท็กคำพูดเสร็จสิ้นฉันต้องเล่นกับคำและสร้างแบบสอบถาม SQL?

แก้ไข: ฉันได้ติดตั้งจาก "ขั้นตอน" ผู้ใช้แบบสอบถาม "ถึง" ส่วนหนึ่งของการติดแท็กคำพูด "สำเร็จแล้ว

ขอบคุณ.


2
ที่ Nibi.ai (ฉันเป็นหนึ่งในผู้ก่อตั้ง) เรากำลังสร้างเครื่องมือ NLP to SQL ที่คุณสามารถใช้เป็น API เรากำลังจะเปิดตัวเร็ว ๆ นี้ แจ้งให้เราทราบหากคุณต้องการรับตัวอย่าง
Yehuda Kogan

เป็นทางเลือกที่คุณอาจถามของมนุษย์ที่จะใช้หลักสูตร SQL ...
Marmite เครื่องบินทิ้งระเบิด

คำตอบ:


17

ถ้าคุณต้องการจัดการปัญหาจากมุมมองอื่นด้วยการเรียนรู้แบบจบ - จบเช่นที่คุณไม่ได้ระบุล่วงหน้าไปป์ไลน์ขนาดใหญ่ที่คุณกล่าวถึงก่อนหน้านี้สิ่งที่คุณสนใจคือการทำแผนที่ระหว่างประโยคและ SQL ที่เกี่ยวข้อง คำสั่ง

Tutorials:

วิธีการพูดคุยกับฐานข้อมูลของคุณ

เอกสาร:

ชุดข้อมูล:

คลังข้อมูลการแยกวิเคราะห์เชิงความหมายขนาดใหญ่สำหรับการพัฒนาอินเตอร์เฟสภาษาธรรมชาติ

รหัส Github:

  1. seq2sql
  2. SQLNet

นอกจากนี้ยังมีโซลูชั่นเชิงพาณิชย์เช่นnlsql


2
+1 สำหรับการตอบคำถามที่ดี แต่ยังไม่ได้ผ่านลิงก์
Toros91

@Fadi Bakoura ขอบคุณ ให้ฉันผ่านการเชื่อมโยง
deepguy

4

NLTKมีคำแนะนำทีละขั้นตอนที่ยอดเยี่ยมในทุกสิ่งที่คุณต้องการแปลงภาษามนุษย์เป็นแบบสอบถาม SQL โดยใช้แพ็คเกจ nltk ในหลาม

มันเป็นพื้นฐาน แต่ตอบคำถามของคุณ


ขอบคุณ @ killerT2333 ฉันเพิ่งได้ดู แต่มันค่อนข้างสับสน มีเอกสารง่าย ๆ อื่นไหม?
deepguy

2
นั่นเป็นสิ่งที่ง่ายที่สุดที่ฉันรู้ - มันค่อนข้างซับซ้อนสำหรับสิ่งที่คุณถามดังนั้นจึงไม่มีคำตอบง่ายๆสำหรับคำถามของคุณ ในเอกสารประกอบของ nltk พวกเขานำคุณผ่านทฤษฎีในระดับสูงและในระดับต่ำพร้อมตัวอย่างโค้ดจำนวนมาก ยิ่งไปกว่านั้นคุณอาจต้องค้นหา GitHub หรืองานวิจัย
PyRsquared

ฉันจะผ่านไปอีกครั้ง และอัปเดตคุณที่นี่
deepguy

2

เพื่อเติมเต็มคำตอบของ Fadi ต่อไปนี้เป็นเอกสารที่มีประโยชน์อื่น ๆ ในวิธี NL กับ SQL ความแตกต่างที่สำคัญของวิธีการเหล่านี้คือพวกเขาสนับสนุนการค้นหาที่ควรตอบโดยใช้มากกว่าหนึ่งตาราง (เข้าร่วมตารางที่แตกต่างกัน) อย่างไรก็ตามกระดาษ Salesforce (และชุดข้อมูล) จะเน้นที่การสืบค้นในแต่ละตาราง

ทั้งสองของเอกสารเหล่านี้ใช้ชุดข้อมูล GeoQuery avaialbe ที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.