KR20230079729A - 자연어 질의의 sql 변환 방법 및 장치 - Google Patents

자연어 질의의 sql 변환 방법 및 장치 Download PDF

Info

Publication number
KR20230079729A
KR20230079729A KR1020210166794A KR20210166794A KR20230079729A KR 20230079729 A KR20230079729 A KR 20230079729A KR 1020210166794 A KR1020210166794 A KR 1020210166794A KR 20210166794 A KR20210166794 A KR 20210166794A KR 20230079729 A KR20230079729 A KR 20230079729A
Authority
KR
South Korea
Prior art keywords
sql
natural language
language query
query
learning
Prior art date
Application number
KR1020210166794A
Other languages
English (en)
Inventor
김동환
김한수
손아림
박준혁
성인제
이선영
Original Assignee
주식회사 포티투마루
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포티투마루 filed Critical 주식회사 포티투마루
Priority to KR1020210166794A priority Critical patent/KR20230079729A/ko
Priority to US17/539,502 priority patent/US20230169074A1/en
Priority to EP21211697.4A priority patent/EP4187400A1/en
Publication of KR20230079729A publication Critical patent/KR20230079729A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 자연어 질의의 SQL 변환 방법 및 장치에 관한 것으로, 데이터베이스 검색을 위해 자연어 질의를 SQL으로 변환하는 것을 일 목적으로 한다. 이러한 목적을 달성하기 위한 본 발명은 자연어 질의를 기반으로 SQL을 변환하는 방법에 있어서, 학습 데이터에 포함된 자연어 질의를 라벨링하는 A 단계, 상기 자연어 질의를 SQL 변환 모델에 적용하여 제2 SQL로 변환하는 B 단계, 제2 SQL을 검증하는 C 단계 및 제2 SQL과 상기 학습 데이터의 상기 자연어 질의에 대응하는 제3 SQL을 비교하여 상기 SQL 변환 모델을 학습하는 D 단계를 포함하는 것을 일 특징으로 한다.

Description

자연어 질의의 SQL 변환 방법 및 장치{METHOD FOR CONVERTING NATURAL LANGUAGE QUERY TO SQL AND DEVICE THEREOF}
본 발명은 자연어 질의의 SQL 변환 방법 및 장치에 관한 것으로, 보다 자세하게는 자연어 질의를 통해 SQL을 생성하는 NL2SQL 모델의 전처리 및 후처리를 통해 정확도를 향상시키는 방법 및 장치에 관한 것이다.
최근 자연어 질의를 관계형 데이터베이스의 관리 언어인 SQL로 변환하는 NL2SQL(Natural Language to SQL) 기술이 등장하였는데, 이는 데이터베이스 관련 전문 지식이 없는 사용자가 자연어를 통해 데이터베이스 내의 정보를 보다 편리하게 탐색할 수 있게 한다. 그러나 NL2SQL은 등장한 지 얼마되지 않았으며 기술의 높은 난이도로 실 서비스에 적용하기에 정확도가 높지 않으며, NL2SQL을 학습하기 위한 학습 데이터의 구축에 전문적 지식과 시간이 필요하여 구축 난이도가 높고 비용이 많이 소모된다는 어려움이 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 데이터베이스 검색을 위해 자연어 질의를 SQL으로 변환하는 것을 일 목적으로 한다.
또한 본 발명은 학습 데이터의 전처리 및 후처리를 통해 자연어 질의의 SQL 변환 과정의 정확도를 향상시키는 것을 일 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명은 자연어 질의를 기반으로 SQL을 변환하는 방법에 있어서, 학습 데이터에 포함된 자연어 질의를 라벨링하는 A 단계, 상기 자연어 질의를 SQL 변환 모델에 적용하여 제2 SQL로 변환하는 B 단계, 제2 SQL을 검증하는 C 단계 및 제2 SQL과 상기 학습 데이터의 상기 자연어 질의에 대응하는 제3 SQL을 비교하여 상기 SQL 변환 모델을 학습하는 D 단계를 포함하는 것을 일 특징으로 한다.
또한 본 발명은 자연어 질의를 기반으로 SQL을 변환하는 장치에 있어서, 학습 데이터에 포함된 자연어 질의를 각각 라벨링하는 학습 데이터 관리부, 학습 데이터의 자연어 질의, DB 스키마, 라벨링 된 태그를 기반으로 제2 SQL을 생성하는 SQL 변환 모델을 생성하는 SQL 변환부, 제2 SQL을 검증하는 SQL 검증부 및 제2 SQL과 학습 데이터의 사용자 질의에 대응되는 제3 SQL를 비교하여 SQL 변환 모델을 학습하는 SQL 변환 모델 학습부를 포함하는 것을 일 특징으로 한다.
전술한 바와 같은 본 발명에 의하면, 데이터베이스 검색을 위해 자연어 질의를 SQL으로 변환할 수 있으며, 학습 데이터의 전처리 및 후처리를 통해 자연어 질의의 SQL 변환 과정의 정확도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 의한 자연어 질의의 SQL 변환 장치의 대략적인 구성을 도시한 도면,
도 2는 본 발명의 일 실시 예에 의한 자연어 질의의 SQL 변환 방법을 수행하기 위한 순서도,
도 3은 본 발명의 일 실시 예에 의한 자연어 질의의 SQL 변환을 수행하는 SQL 변환 모델을 생성하기 위한 순서도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.
본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는 바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.
또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 의한 자연어 질의의 SQL 변환 장치의 대략적인 구성을 나타낸 도면으로, 도 1을 참조하면 SQL 변환 장치는 질의 수신부(100), SQL 생성부(200), SQL 변환 모델 생성부(300), 데이터베이스(400)를 포함할 수 있다.
질의 수신부(100)는 사용자로부터 제1 자연어 질의를 수신할 수 있다. 질의 수신부(100)는 스마트 단말 혹은 PC와 같은 사용자 단말을 통해 사용자가 데이터베이스에 검색하고자 하는 제1 자연어 질의를 수신할 수 있다.
SQL 생성부(200)는 사용자로부터 수신한 제1 자연어 질의를 기반으로 제1 SQL을 생성할 수 있다. SQL 생성부(200)는 자연어 질의를 SQL로 변환하는 NL2SQL 모델인 SQL 변환 모델을 통해, 제1 자연어 질의를 기반으로 하는 제1 SQL을 생성할 수 있다. 이 때 사용되는 제1 자연어 질의 및 제1 SQL은 SQL 변환 모델을 학습하기 위한 학습 데이터로 더 사용될 수 있다.
SQL 변환 모델 생성부(300)는 SQL 생성부(200)에서 자연어 질의를 SQL로 변환할 수 있게 하는 SQL 변환 모델을 생성할 수 있다. SQL 변환 모델 생성부(300)는 학습 데이터 관리부(310), SQL 변환부(320), SQL 검증부(330) 그리고 학습 데이터 확장부(340)를 포함할 수 있다.
학습 데이터 관리부(310)는 SQL 변환 모델의 학습을 위한 학습 데이터를 관리하기 위한 것으로, 학습 데이터에 포함된 제2 자연어 질의를 각각 라벨링 할 수 있다. 학습 데이터는 제2 사용자 질의, DB 스키마, 제2 사용자 질의에 대응하는 제3 SQL을 포함하고, 이하에서 라벨링 되는 태그를 더 포함할 수 있다.
구체적으로 학습 데이터 관리부(310)는 제2 자연어 질의에 포함된 복수 개의 키워드를 추출하고, 각 키워드에 대응되는 태그를 라벨링 할 수 있다. 본 발명의 일 실시 예에서 사용되는 태그는 0, SA, SC-NUM/TEXT, WO, WV, WC-NUM/TEXT 중 적어도 하나를 포함한다. 0 태그는 SQL 변환에 있어서 무의미한 키워드를, SA 태그는 SQL의 SELECT절 함수에 대응하는 키워드를, SC-NUM/TEXT 태그는 SQL의 SELECT절 테이블 컬럼 및 타입에 대응하는 키워드를, WO 태그는 SQL의 WHERE절 연산자에 대응하는 키워드를, WV 태그는 SQL의 WHERE절 데이터에 대응하는 키워드를, WC-NUM/TEXT 태그는 SQL의 WHERE절 테이블 컬럼 및 타입에 대응하는 키워드를 의미한다.
이 때 SC-NUM/TEXT와 WC-NUM/TEXT의 경우 테이블 컬럼의 타입에 따라 SC-NUM, SC-TEXT, WC-NUM, WC-TEXT로 사용될 것이다.
예를 들어 "What was the average Game, when the attendance was higher than 600?"와 같은 제2 사용자 질의가 포함된 학습 데이터의 경우, 학습 데이터 관리부(310)는 What, was, the, when, the, was에 0 태그를, average에 SA 태그를, Game에 SC-NUM 태그를, attendance에 WC-NUM 태그를, higher, than에 WO 태그를, 600에 WV 태그를 라벨링 할 수 있다.
학습 데이터 관리부(310)는 제2 자연어 질의에 태그를 라벨링 하는 과정을 수행함에 있어서 SQL 문법을 기반으로 할 것이다. 학습 데이터 관리부(310)는 SQL 문법을 기반으로 태그를 라벨링 하기 위한 별도의 알고리즘을 사용할 수도 있는데, 이 때 사용되는 알고리즘은 종래의 방법을 채택할 수 있다.
학습 데이터 관리부(310)는 자연어 질의에 태그를 라벨링하여, 자연어 질의의 각 키워드에 가중치를 더 부여할 수 있어 SQL 변환 모델의 학습을 보다 효율적으로 수행할 수 있다.
SQL 변환부(320)는 학습 데이터의 제2 자연어 질의, DB 스키마, 라벨링 된 태그를 기반으로 제2 SQL을 생성하는 SQL 변환 모델을 생성할 수 있다. SQL 변환부(320)는 SQL 변환 모델을 기반으로 학습 데이터의 제2 자연어 질의를 제2 SQL로 변환할 수 있다.
종래의 NL2SQL은 자연어 질의와 DB 스키마를 기반으로 SQL을 생성하는 반면, 본 발명의 일 실시 예에 의한 SQL 변환 모델은 자연어 질의와 DB 스키마 뿐 아니라 학습 데이터 관리부(310)에서 라벨링 된 태그를 기반으로 자연어 질의를 SQL로 변환할 수 있다. 즉 본 발명의 SQL 변환부(320)는 SQL을 생성함에 있어서 태그를 더 사용하기 때문에 각 학습 데이터로 인한 SQL 변환 모델의 학습을 정확하고 빠르게 수행될 수 있게 한다.
단적인 예로, 라벨링 된 태그는 자연어 질의에 포함된 키워드가 SELECT 절의 함수(SA)인지, 테이블 컬럼(SC-NUM/TEXT)인지, WHERE절의 연산자(WO)인지, 데이터(WV)인지, 테이블 컬럼(WC-NUM/TEXT)인지를 정의하기 때문에 각 키워드가 SQL의 생성에 있어서 유의미한 지를 판단할 수 있게 하여 SQL 변환부(320)의 학습이 보다 정확하고 빠르게 수행될 수 있게 한다.
SQL 검증부(330)는 SQL 변환부(320)에 의해 생성된 제2 SQL을 검증할 수 있다. 문법에 맞지 않는 SQL를 데이터베이스에 검색하는 것은 불필요한 부하를 야기하며, 데이터베이스에 검색하더라도 에러가 발생하기 때문에 데이터베이스에서 사용자의 질의에 대응되는 응답을 획득함에 있어서 그 속도가 저하될 수 있다. 따라서 본 발명의 일 실시 예에 의한 SQL 변환 장치는 SQL 검증부(330)를 통해 생성된 제2 SQL의 문법이 적합한 지를 검증할 수 있다.
SQL 검증부(330)는 제2 SQL의 SELECT절의 함수와 테이블 컬럼의 타입이 서로 대응되는 지를 검증할 수 있다. SQL 검증부(330)는 SELECT절의 함수가 AVG일 때, SELECT절의 테이블 컬럼의 타입이 NUMERIC이면 제2 SQL의 문법이 적합하다고 판단하고, 그렇지 않으면 제2 SQL의 문법이 맞지 않다고 판단할 것이다.
SQL 검증부(330)는 제2 SQL의 문법이 맞지 않다고 판단되면 제2 SQL에 대한 응답을 NO ANSWER로 설정할 수 있다. SQL 검증부(330)는 문법에 맞지 않는 SQL을 데이터베이스의 검색에 사용하지 않도록 고정된 응답(NO ANSWER)만을 제공하기 때문에 자연어 질의의 데이터베이스 검색에 대한 응답 속도를 향상시킬 수 있다.
학습 데이터 확장부(340)는 제2 자연어 질의와 제2 SQL의 테이블 컬럼을 동의어 혹은 유의어로 치환하여 학습 데이터를 확장할 수 있다. 학습 데이터 확장부(340)는 동의어 혹은 유의어를 획득하기 위해 종래 구축된 동의어/유의어 사전 및/또는 워드 임베딩을 통해 학습된 동의어/유의어를 사용하여 제2 자연어 질의와 제2 SQL의 테이블 컬럼을 동의어 혹은 유의어로 치환할 수 있다.
사용자들 마다 각기 다른 표현을 통해 질의를 하기 때문에 학습 데이터 확장부(340)는 동일 혹은 유사한 단어 표현을 지속적으로 학습하여 학습 데이터의 수를 확장할 수 있다.
학습 데이터 확장부(340)는 확장된 학습 데이터를 데이터베이스(300)에 저장할 수 있다.
SQL 변환 모델 학습부(350)는 제2 SQL과 학습 데이터의 제2 사용자 질의에 대응되는 제3 SQL를 비교하여 SQL 변환 모델을 학습할 수 있다.
SQL 변환 모델 학습부(350)는 제2 SQL을 학습 데이터의 제3 SQL과 비교하여 로스 값을 연산할 수 있다. SQL 변환 모델 학습부(350)는 로스 값을 연산함에 있어서 종래의 방법을 따를 것이다.
데이터베이스(400)는 SQL 변환 모델 학습부(350)의 학습에 필요한 학습 데이터를 저장할 수 있으며, SQL 생성부(200)가 질의 수신부(100)에 의해 수신된 사용자 질의를 SQL로 변환하기 위한 기초 데이터를 저장할 수 있다.
도 2는 본 발명의 일 실시 예에 의한 자연어 질의의 SQL 변환 방법을 설명하기 위한 순서도이다. 이하에서는 도 2를 참조하여 자연어 질의의 SQL 변환 방법을 설명한다. 자연어 질의의 SQL 변환 방법에 대한 설명에 있어서, 앞서 설명한 자연어 질의의 SQL 변환 장치와 중복되는 세부 실시 예는 생략될 수 있다.
단계 100에서, SQL 변환 장치는 사용자로부터 제1 자연어 질의를 수신할 수 있다. SQL 변환 장치는 스마트 단말 혹은 PC와 같은 사용자 단말을 통해 사용자가 데이터베이스에 검색하고자 하는 제1 자연어 질의를 수신할 수 있다.
단계 200에서, SQL 변환 장치는 사용자로부터 수신한 제1 자연어 질의를 기반으로 제1 SQL을 생성할 수 있다. SQL 변환 장치는 자연어 질의를 통해 SQL을 생성하는 SQL 변환 모델을 기반으로 할 것이다.
이하에서는 도 3을 통해 단계 200에서 사용되는 SQL 변환 모델을 학습하기 위한 방법을 구체적으로 설명한다.
도 3을 참조하면, 단계 310에서 SQL 변환 장치는 학습 데이터에 포함된 제2 자연어 질의를 라벨링 할 수 있다. SQL 변환 장치는 제2 자연어 질의에 포함된 복수 개의 키워드를 추출하고, 각 키워드에 대응되는 태그를 라벨링 할 수 있다. 이 때 SQL 변환 장치는 제2 자연어 질의에 태그를 라벨링하는 과정에 있어서 SQL 문법을 기반으로 하는 알고리즘을 사용할 수 있다. 본 발명의 일 실시 예에서 사용되는 태그는 0, SA, SC-NUM/TEXT, WO, WV, WC-NUM/TEXT 중 적어도 하나를 포함한다.
단계 320에서 SQL 변환 장치는 학습 데이터의 제2 자연어 질의, DB 스키마 그리고 라벨링 된 태그를 기반으로 제2 자연어 질의를 제2 SQL로 변환할 수 있다.
단계 330에서, SQL 변환 장치는 단계 320에서 생성된 제2 SQL을 검증할 수 있다. SQL 변환 장치는 제2 SQL의 SELECT절의 함수와 테이블 컬럼의 타입이 서로 대응되는 지를 검증할 수 있다. SQL 변환 장치는 SELECT절의 함수가 AVG일 때, SELECT절의 테이블 컬럼의 타입이 NUMERIC이면 제2 SQL의 문법이 적합하다고 판단하고, 그렇지 않으면 제2 SQL의 문법이 맞지 않다고 판단할 것이다. 이 때 제2 SQL의 문법이 적합하지 않다고 판단되면 SQL 변환 장치는 제2 SQL에 대한 응답을 NO ANSWER로 설정할 수 있다.
단계 340에서, SQL 변환 장치는 제2 자연어 질의와 제2 SQL의 테이블 컬럼을 동의어 혹은 유의어로 치환하여 학습 데이터를 확장할 수 있다. SQL 변환 장치는 동의어 혹은 유의어를 획득하기 위해 종래 구축된 동의어/유의어 사전 및/또는 워드 임베딩을 통해 학습된 동의어/유의어를 사용하여 제2 자연어 질의와 제2 SQL의 테이블 컬럼을 동의어 혹은 유의어로 치환할 수 있다.
단계 350에서, SQL 변환 장치는 학습 데이터에 의해 생성된 제2 SQL과 학습 데이터에 포함된 제3 SQL을 비교하여 SQL 변환 모델을 학습할 수 있다. SQL 변환 장치는 제2 SQL과 제3 SQL의 로스 값을 연산하여 SQL 변환 모델을 학습할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (10)

  1. 자연어 질의를 기반으로 SQL을 변환하는 방법에 있어서,
    학습 데이터에 포함된 자연어 질의를 라벨링하는 A 단계;
    상기 자연어 질의를 SQL 변환 모델에 적용하여 제2 SQL로 변환하는 B 단계;
    제2 SQL을 검증하는 C 단계; 및
    제2 SQL과 상기 학습 데이터의 상기 자연어 질의에 대응하는 제3 SQL을 비교하여 상기 SQL 변환 모델을 학습하는 D 단계를 포함하는 자연어 질의의 SQL 변환 방법.
  2. 제1항에 있어서, A 단계는,
    상기 자연어 질의에 포함된 복수 개의 키워드를 추출하는 단계;
    상기 키워드에 대응되는 태그를 라벨링하는 단계를 포함하는 자연어 질의의 SQL 변환 방법.
  3. 제2항에 있어서,
    상기 라벨링하는 단계는 SQL 문법을 기반으로 하고,
    상기 태그는 무의미, SELECT절의 함수, 테이블 컬럼 및 타입, WHERE절의 연산자, 데이터, 테이블 컬럼 및 타입을 포함하는 자연어 질의의 SQL 변환 방법.
  4. 제1항에 있어서, B 단계는,
    상기 학습 데이터의 자연어 질의, DB 스키마 및 라벨링 된 태그를 기반으로 제2 SQL을 생성하는 SQL 변환 모델을 생성하는 단계;
    상기 SQL 변환 모델을 기반으로 상기 학습 데이터의 자연어 질의를 제2 SQL로 변환하는 단계를 포함하는 자연어 질의의 SQL 변환 방법.
  5. 제1항에 있어서, C 단계는,
    제2 SQL의 SELECT절의 함수와 테이블 컬럼의 타입이 서로 대응되는 지 검증하는 단계; 및
    제2 SQL의 검증이 실패하면 제2 SQL에 대한 응답으로 NO ANSWER를 설정하는 단계를 포함하는 자연어 질의의 SQL 변환 방법.
  6. 제1항에 있어서,
    상기 자연어 질의와 제2 SQL의 테이블 컬럼을 동의어 혹은 유의어로 치환하여 학습 데이터를 확장하는 단계를 더 포함하는 자연어 질의의 SQL 변환 방법.
  7. 제1항에 있어서, D 단계는,
    제2 SQL과 제3 SQL의 로스 값을 연산하여 상기 SQL 변환 모델을 학습하는 자연어 질의의 SQL 변환 방법.
  8. 제1항에 있어서,
    A 내지 D 단계를 통해 학습된 상기 SQL 변환 모델을 기반으로,
    사용자로부터 자연어 질의를 수신하는 단계;
    상기 자연어 질의를 기반으로 제1 SQL을 생성하는 단계를 수행 가능한 자연어 질의의 SQL 변환 방법.
  9. 자연어 질의를 기반으로 SQL을 변환하는 방법에 있어서,
    학습 데이터에 포함된 자연어 질의를 각각 라벨링하는 학습 데이터 관리부;
    학습 데이터의 자연어 질의, DB 스키마, 라벨링 된 태그를 기반으로 제2 SQL을 생성하는 SQL 변환 모델을 생성하는 SQL 변환부;
    제2 SQL을 검증하는 SQL 검증부; 및
    제2 SQL과 학습 데이터의 사용자 질의에 대응되는 제3 SQL를 비교하여 SQL 변환 모델을 학습하는 SQL 변환 모델 학습부를 포함하는 자연어 질의의 SQL 변환 장치.
  10. 제9항에 있어서,
    사용자로부터 자연어 질의를 수신하는 질의 수신부; 및
    상기 자연어 질의를 기반으로 제1 SQL을 생성하는 SQL 생성부를 더 포함하는 자연어 질의의 SQL 변환 장치.
KR1020210166794A 2021-11-29 2021-11-29 자연어 질의의 sql 변환 방법 및 장치 KR20230079729A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210166794A KR20230079729A (ko) 2021-11-29 2021-11-29 자연어 질의의 sql 변환 방법 및 장치
US17/539,502 US20230169074A1 (en) 2021-11-29 2021-12-01 Device and method for converting natural language query into sql query
EP21211697.4A EP4187400A1 (en) 2021-11-29 2021-12-01 Method for converting natural language query to sql and device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210166794A KR20230079729A (ko) 2021-11-29 2021-11-29 자연어 질의의 sql 변환 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230079729A true KR20230079729A (ko) 2023-06-07

Family

ID=79230578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210166794A KR20230079729A (ko) 2021-11-29 2021-11-29 자연어 질의의 sql 변환 방법 및 장치

Country Status (3)

Country Link
US (1) US20230169074A1 (ko)
EP (1) EP4187400A1 (ko)
KR (1) KR20230079729A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928559B2 (en) * 2019-04-08 2024-03-12 Google Llc Transformation for machine learning pre-processing
CN117131070B (zh) * 2023-10-27 2024-02-09 之江实验室 一种自适应规则引导的大语言模型生成sql系统
CN117827885A (zh) * 2023-12-25 2024-04-05 天云融创数据科技(北京)有限公司 数据库语句生成方法、装置、设备及介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665662B1 (en) * 2013-06-13 2017-05-30 DataRPM Corporation Methods and system for providing real-time business intelligence using natural language queries
US10747761B2 (en) * 2017-05-18 2020-08-18 Salesforce.Com, Inc. Neural network based translation of natural language queries to database queries
US11023461B2 (en) * 2018-01-19 2021-06-01 Servicenow, Inc. Query translation
JP7449919B2 (ja) * 2018-07-25 2024-03-14 オラクル・インターナショナル・コーポレイション 自律型エージェントおよびシソーラスを用いるデータベースのための自然言語インターフェイス
CN111221947B (zh) * 2019-12-26 2023-11-24 北京邮电大学 眼科预问诊装置的多轮对话实现方法及装置
US11561969B2 (en) * 2020-03-30 2023-01-24 Adobe Inc. Utilizing logical-form dialogue generation for multi-turn construction of paired natural language queries and query-language representations
US11934403B2 (en) * 2020-05-18 2024-03-19 Salesforce, Inc. Generating training data for natural language search systems
US11604790B2 (en) * 2020-08-31 2023-03-14 Unscrambl Inc Conversational interface for generating and executing controlled natural language queries on a relational database

Also Published As

Publication number Publication date
US20230169074A1 (en) 2023-06-01
EP4187400A1 (en) 2023-05-31

Similar Documents

Publication Publication Date Title
KR20230079729A (ko) 자연어 질의의 sql 변환 방법 및 장치
CN107451153B (zh) 输出结构化查询语句的方法和装置
KR101662450B1 (ko) 다중 소스 하이브리드 질의응답 방법 및 시스템
US11182435B2 (en) Model generation device, text search device, model generation method, text search method, data structure, and program
WO2017181834A1 (zh) 一种智能问答方法及装置
US20090132515A1 (en) Method and Apparatus for Performing Multi-Phase Ranking of Web Search Results by Re-Ranking Results Using Feature and Label Calibration
CN106202153A (zh) 一种es搜索引擎的拼写纠错方法及系统
US20160147878A1 (en) Semantic search engine
EP3799640A1 (en) Semantic parsing of natural language query
CN113157885B (zh) 一种面向人工智能领域知识的高效智能问答系统
CN114492470A (zh) 商品标题文本翻译方法及其装置、设备、介质、产品
CN110888946A (zh) 一种基于知识驱动的查询的实体链接方法
CN111159381B (zh) 数据搜索方法及装置
CN117251455A (zh) 一种基于大模型的智能报表生成方法及其系统
US11487795B2 (en) Template-based automatic software bug question and answer method
CN104391969A (zh) 确定用户查询语句句法结构的方法及装置
CN112507089A (zh) 一种基于知识图谱的智能问答引擎及其实现方法
US20160342597A1 (en) Language scaling platform for natural language processing systems
Madnani et al. Multiple alternative sentence compressions for automatic text summarization
Schmidts et al. Schema Matching with Frequent Changes on Semi-Structured Input Files: A Machine Learning Approach on Biological Product Data.
Kumar et al. An Efficient Approach to Query Reformulation in Web Search
CN109684357B (zh) 信息处理方法及装置、存储介质、终端
CN106776590A (zh) 一种获取词条译文的方法及系统
CN116628146A (zh) 一种金融领域的faq智能问答方法及系统
Zhang et al. Refsql: A retrieval-augmentation framework for text-to-sql generation

Legal Events

Date Code Title Description
E902 Notification of reason for refusal