Truy vấn ngôn ngữ tự nhiên để SQL


12

Tôi đã làm việc để phát triển một hệ thống "Chuyển đổi ngôn ngữ tự nhiên sang truy vấn SQL".

Tôi đã đọc câu trả lời từ các câu hỏi tương tự, nhưng không thể có được thông tin mà tôi đang tìm kiếm.

Dưới đây là sơ đồ cho hệ thống mà tôi đã nhận được từ Thuật toán chuyển đổi ngôn ngữ tự nhiên thành truy vấn SQL cho cơ sở dữ liệu quan hệ của Garima Singh, Arun Solanki

Sơ đồ

Tôi đã hiểu cho đến khi một phần của bước gắn thẻ bài phát biểu. Nhưng làm thế nào để tôi tiếp cận các bước còn lại.

  1. Tôi có cần phải đào tạo tất cả các truy vấn SQL có thể không?
  2. Hoặc, một khi việc gắn thẻ bài phát biểu được thực hiện, tôi phải chơi với các từ và tạo một truy vấn SQL?

Chỉnh sửa: Tôi đã thực hiện thành công từ bước "truy vấn người dùng" đến "Phần gắn thẻ lời nói".

Cảm ơn bạn.


2
Tại Nibi.ai (tôi là một trong những người sáng lập), chúng tôi đang xây dựng một công cụ NLP to SQL mà bạn có thể sử dụng làm API. Chúng tôi sẽ sớm ra mắt. Hãy cho tôi biết nếu bạn muốn có được một bản demo.
Yehuda Kogan

Để thay thế, bạn có thể yêu cầu con người tham gia khóa học SQL ...
Máy bay ném bom Marmite

Câu trả lời:


15

Nếu bạn muốn giải quyết vấn đề từ góc độ khác, từ đầu đến cuối học tập , như vậy bạn không chỉ định trước thời hạn mà đường ống lớn này bạn đã đề cập trước đó, tất cả những gì bạn quan tâm là ánh xạ giữa các câu và SQL tương ứng của chúng truy vấn.

Hướng dẫn:

Làm thế nào để nói chuyện với cơ sở dữ liệu của bạn

Giấy tờ:

Bộ dữ liệu:

Một kho văn bản phân tích ngữ nghĩa chú thích lớn để phát triển giao diện ngôn ngữ tự nhiên.

Mã Github:

  1. seq2sql
  2. SQLNet

Ngoài ra, có những giải pháp thương mại như nlsql


2
+1, để trả lời tốt nhưng chưa đi qua các liên kết
Toros91

@Fadi Bakoura Cảm ơn bạn. Hãy để tôi đi qua các liên kết.
deepguy

4

NLTK có một hướng dẫn từng bước tuyệt vời về mọi thứ bạn cần để chuyển đổi ngôn ngữ của con người sang truy vấn SQL bằng cách sử dụng gói nltk trong python.

Nó thô sơ, nhưng nó trả lời câu hỏi của bạn.


Cảm ơn @ killerT2333. Tôi chỉ cần nhìn. Nhưng nó là loại khó hiểu. Có tài liệu đơn giản nào khác không?
deepguy

1
Đó là cách đơn giản nhất mà tôi biết - đó là một nhiệm vụ khá phức tạp mà bạn đang hỏi, vì vậy không có câu trả lời đơn giản nào cho câu hỏi của bạn. Trên tài liệu nltk họ đưa bạn qua lý thuyết ở mức cao, và ở mức thấp với rất nhiều ví dụ về mã. Mở rộng hơn thế, có lẽ bạn cần tìm kiếm github hoặc tài liệu nghiên cứu.
PyRsquared

Tôi sẽ đi qua đó thêm một lần nữa. Và cập nhật cho bạn ở đây.
deepguy

2

Để bổ sung cho câu trả lời của Fadi, sau đây là các tài liệu hữu ích khác về các phương pháp NL đến SQL. Sự khác biệt chính của các phương thức này là chúng hỗ trợ các truy vấn cần được trả lời bằng nhiều bảng (nối các bảng khác nhau), tuy nhiên, giấy Salesforce (và tập dữ liệu của chúng) tập trung vào các truy vấn trên một bảng tại một thời điểm.

Cả hai tài liệu này đều sử dụng bộ dữ liệu GeoQuery avaialbe tại đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.