Eat Study Love

먹고 공부하고 사랑하라

Data Science/Research & Paper

PostgreSQL SQL2NL(3)

eatplaylove 2025. 2. 3. 13:14

PostgreSQL을 Python에 연결하려는 시도를 했다.

 

이 시도의 이유는, 결국 PostgreSQL에서 자체적으로 반환된 Naturl Language(NL)를 가지고 LLM을 거쳐 사람이 이해하기 쉬운 좀 더 정제된 NL로 변환을 하려는 것이다.

 

근데, 그 전에 일단 PostgreSQL 내부에서 최대한 Parsing 구조의 Rule base의 입각하여 SQL문을 NL로 투박하게나마 변환하려는 작업을 하려는데, 그 하부구조는 아래와 같다.

 

일단 NL2SQL 분야의 유명한 Bench Mark인 Bird 에 나오는 NL <-> SQL Gold Pair를 이용해서 SQL문을 NL로 좀 바꿔보려는데, 문제는 SQL문의 종류가 너~~~~~~~~무나도 많다.

 

그 모든 것들에 대한 NL 변환 Rule 설정이 가능한가 싶다.

 

일단 기본적으로 Parsing된 Token들을 일일히 따내와서 String에다가 가내수공업으로 덧붙이고 그 최종 결과를 NL로 내놓는 작업을 하고 있는데 이 놈의 반환 결과가 사실 결국은 기존 SQL문과 크게 다르지 않다.

 

워낙 SQL문이 High-LV 언어라 사람의 말로도 충분히 이해가 갈 정도이기에 그런 것도 있지만,

그럼에도 불구하고 해당연구를 한 건, PSQL의 내부 Parsing 구조를 잘 파악하면 SQL -> NL변환 Module에 좀 도움을 줄 수 있지 않을까..해서 시작한 것인데

 

솔직히 연구주제가 크게 와닿진 않는다 ㅋㅋ;; 그냥 하라니까 하는 느낌

 

여하튼, 온 세상 모든 SQL문을 다 커버할 순 없으므로 지금 기준으로 조금만 더 보완해 나갈 것들은 아래와 같다.

 

 

이 외에도, View, Window 등... 해결해야 할 것들이 많긴 한데.. 모르겄다.

 

적당히 하고 접을 각이 보이긴 한다. Python 연결하기도 전에 ㅎ;;;

 

하다 안 되면 결국 LLM에 HELP치는 것으로 귀결될 수도..!