빠르게 발전하는 인터넷 시대에는 다양한 유형의 데이터가 끊임없이 등장하고 있습니다. 그 중 테이블 데이터는 우리가 얻고자 하는 일반적인 구조화된 데이터의 일종입니다. 하지만 더 높은 설계 비용과 학습 비용이 필요한 경우가 많습니다. 이때 Text-to-SQL 구문 분석 작업은 특히 중요합니다. 다양한 대화 시나리오에 따라 단일 라운드 Text-to-SQL 구문 분석과 다중 라운드 Text-to-SQL 구문 분석으로 나누어집니다. 실제 응용 프로그램에 대한 더 어렵고 더 가까운 여러 라운드의 Text-to-SQL 구문 분석 작업을 연구합니다.
최근 Alibaba DAMO 아카데미와 중국과학원 심천첨단기술연구소는 여러 차례의 Text-to-SQL 의미 체계 구문 분석을 위한 SQL 쿼리 문 기반 사전 학습 모델 STAR를 제안했습니다. 현재까지 STAR는 SParC 및 CoSQL 목록에서 10개월 연속 1위를 차지했습니다. 해당 연구 논문은 자연어 처리 분야 국제학술대회인 EMNLP 2022 Findings에 게재됐다. 주소 : https://arxiv.org/abs/2210.11888
코드 주소 : https://github.com/alibabaresearch/damo-convai/ tree/main/star
사전 훈련된 모델은 최근 몇 년 동안 다양한 NLP 작업에서 빛을 발했습니다. 그러나 테이블과 자연어 간의 본질적인 차이로 인해 일반적인 사전 훈련된 언어 모델(예: BERT, RoBERTa)은 이 작업에 효과적이지 않습니다. 최적의 성능을 달성할 수 없어 사전 훈련된 테이블 형식 모델(TaLM)[1-5]이 탄생했습니다. 일반적으로 TaLM(사전 학습된 테이블 형식 모델)은 상황별 쿼리 간의 복잡한 종속성(참조, 의도 오프셋)을 모델링하는 방법과 기록으로 생성된 SQL 결과를 효과적으로 활용하는 방법을 포함하여 두 가지 핵심 문제를 처리해야 합니다. 위의 두 가지 핵심 문제를 해결하기 위해 기존 사전 훈련된 테이블 형식 모델에는 다음과 같은 결함이 있습니다.
그림 1. 상황에 따른 다중 라운드 Text-to-SQL 구문 분석의 예.
첫째, 기존 테이블 사전 학습 모델은 기록 SQL 쿼리 문에 포함된 대화형 상태 정보를 고려하지 않고 자연어 쿼리의 컨텍스트 정보만 탐색합니다. 이 정보는 종종 보다 정확한 방식으로 사용될 수 있습니다. 사용자의 의도를 정확하고 간결하게 요약합니다. 따라서 기록 SQL 정보를 모델링하고 추적하면 현재 쿼리 라운드의 의도를 더 잘 포착할 수 있으므로 해당 SQL 쿼리 문을 더 정확하게 생성할 수 있습니다. 그림 1에서 볼 수 있듯이 1차 SQL 쿼리에서 테이블 이름 "Compuses"가 언급되었기 때문에 2차 SQL 쿼리에서 해당 테이블이 다시 선택될 가능성이 높으므로 상태를 추적하는 것이 특히 중요합니다. 테이블 이름 "Compuses"가 중요합니다.
둘째, 사용자가 대화 기록에 언급된 엔터티를 무시하거나 일부 참조를 도입하여 현재 라운드에서 대화 정보가 부족할 수 있으므로 다중 라운드 Text-to-SQL 구문 분석 작업은 더 나은 상황 정보를 효과적으로 모델링해야 합니다. 현재 자연어 대화 라운드를 구문 분석합니다. 에서 보는 바와 같이 2차 대화에서는 1차 대화에서 언급한 '2000년 캠퍼스'가 생략되었다. 그러나 대부분의 기존 사전 훈련된 테이블 모델은 문맥 정보를 고려하지 않고 각 라운드의 자연어 대화를 개별적으로 모델링합니다. SCoRe [1]는 인접한 두 대화 라운드 간의 컨텍스트 전환 레이블을 예측하여 컨텍스트 전환 정보를 모델링하지만 더 복잡한 컨텍스트 정보를 무시하고 장거리 대화 간의 종속성 정보를 추적할 수 없습니다. 예를 들어, 그림 1에서 두 번째 대화와 세 번째 대화 간의 컨텍스트 전환으로 인해 SCoRe는 첫 번째 대화와 네 번째 대화 간의 장거리 종속성 정보를 캡처할 수 없습니다.
다단계 대화의 대화 상태 추적 작업에서 영감을 받은 이 연구는 질문 간의 복잡한 의미 의존성 문제를 목표로 문맥 SQL의 패턴 상태를 추적하기 위해 패턴 상태 추적을 기반으로 하는 사전 학습 목표를 제안합니다. 다중 회전 대화에서는 본 연구에서는 여러 라운드의 대화 사이의 복잡한 의미적 종속성을 포착하기 위한 대화 종속성 추적 방법을 제안하고, 대화 간의 긍정적인 관계와 부정적인 관계를 더 잘 모델링하기 위한 가중치 기반 대조 학습 방법을 제안합니다.
이 연구는 먼저 여러 라운드의 Text-to-SQL 구문 분석 작업과 관련된 표기법과 문제 정의를 제공합니다. 는 T 라운드의 자연어 쿼리, 여러 라운드의 쿼리에 대한 Text-to-SQL 대화 상호 작용을 나타냅니다. 여기서 는 i번째 자연어 질문 라운드와 각 라운드의 자연어 대화 를 나타냅니다. 토큰이 포함되어 있습니다. 또한 N개의 테이블 을 포함하는 대화형 데이터베이스 s가 있고 모든 테이블에는 m개의 테이블 이름과 열 이름이 포함되어 있습니다. 은 데이터베이스 스키마 s의 i번째 테이블 이름 또는 열 이름을 나타냅니다. 현재 라운드가 t번째 라운드라고 가정하면 Text-to-SQL 구문 분석 작업의 목적은 현재 라운드의 자연어 쿼리 , 기록 쿼리 , 데이터베이스 스키마 및 예측 SQL 쿼리를 기반으로 하는 것입니다. 이전 라운드의 명령문 , 현재 라운드의 자연어 쿼리에 해당하는 SQL 쿼리문 을 생성합니다.
그림 2에서 볼 수 있듯이, 본 연구에서는 과거 SQL의 구조화된 정보를 최대한 활용하여 대화 표현을 풍부하게 하고 더 복잡한 SQL 지침을 기반으로 하는 다중 원탁 사전 학습 프레임워크를 제안합니다. 상황에 맞는 정보를 효과적으로 모델링합니다.
그림 2. STAR의 모델 프레임워크.
구체적으로, 본 연구에서는 여러 상호작용에서 SQL 쿼리문과 자연어 질문의 의도를 각각 추적하는 스키마 상태 추적과 대화 종속성 추적을 기반으로 하는 테이블 사전 학습 목표를 제안합니다. (1) 다회전 대화 상황에서 현재 대화의 SQL 쿼리는 상황별 SQL 정보에 따라 달라집니다. 따라서 본 연구에서는 다회전 대화의 대화 상태 추적 작업에서 영감을 받아 스키마 상태 추적(Schema State)을 제안합니다. Tracking, SST)의 테이블 사전 학습 목표는 상황에 맞는 SQL 쿼리 문(또는 사용자 요청)의 스키마 상태를 자체 감독 방식으로 추적합니다. (2) 다중 회전 대화에서 자연어 질문 간의 복잡한 의미 의존성 문제에 대해 UDT(Utterance dependency Tracking) 기반의 테이블 사전 학습 목표를 제안하고 더 나은 학습을 위해 가중치 기반 대조 학습 방법을 사용합니다. 자연어 쿼리에 대한 기능 표현입니다. 다음은 두 테이블의 사전 훈련 목표에 대해 자세히 설명합니다.
패턴 상태 추적을 기반으로 한 테이블 사전 훈련 목표
본 연구에서는 상황에 맞는 SQL 쿼리 문의 스키마 상태(또는 사용자 요청)를 자기 지도 방식으로 추적하는 스키마 상태 추적 기반 테이블 사전 학습 목표를 제안합니다. 스키마 슬롯. 특히, 연구는 스키마 상태의 형태로 Text-to-SQL 세션의 상호 작용 상태를 추적합니다. 여기서 슬롯은 데이터베이스 스키마(즉, 모든 테이블의 열 이름)이고 해당 슬롯 값은 SQL 키워드입니다. 그림 3의 SQL 쿼리를 예로 들면, 모드 슬롯 "[car_data]"의 값은 SQL 키워드 "[SELECT]"입니다. 먼저, 연구에서는 t-1 라운드에서 예측된 SQL 쿼리문 을 패턴 상태 집합의 형태로 변환합니다. 스키마 상태의 슬롯은 데이터베이스의 모든 테이블의 컬럼 이름이므로 SQL 쿼리문에 해당하는 스키마 상태에 나타나지 않는 값은 [NONE]으로 설정됩니다. 그림 3에서 볼 수 있듯이 본 연구에서는 m 모드 상태 를 사용하여 SQL 쿼리 문 을 표현합니다. 여기서 은 i번째 모드 상태의 슬롯을 나타내고 은 모드 값을 나타냅니다. 상태. 라운드 t의 경우 패턴 상태 추적의 목표는 모든 역사적 자연어 질문, 현재 질문 및 이전 라운드의 SQL 쿼리 문 을 고려하여 라운드 t의 패턴 상태 를 예측하는 것입니다. t-round SQL 쿼리 문의 각 모드 상태 슬롯 의 값 . 즉, 라운드 t에서 패턴 상태 추적 사전 훈련 목표에 대한 입력 은 다음과 같습니다.
각 패턴 상태 에는 여러 단어가 포함되어 있으므로 의 표현을 얻기 위해 Attention 레이어가 적용됩니다. 특히 출력 상황에 맞는 표현 을 고려하면(l은 의 시작 첨자입니다). 각 모드 상태 에 대해 모드 상태 의 주의 인식 표현 은 다음과 같이 계산할 수 있습니다.
그런 다음 현재 문제의 모드 상태를 예측합니다.
마지막으로 모드 상태 추적을 위한 사전 훈련 손실 함수는 다음과 같이 정의할 수 있습니다.
대화 종속성 추적을 기반으로 한 테이블 사전 훈련 목표
본 연구에서는 사전 훈련을 제안합니다. 발화 종속성 추적의 목표는 가중치 기반 대조 학습 방법을 사용하여 각 Text-to-SQL 발화에서 자연어 질문 간의 복잡한 의미적 종속성을 캡처하는 것입니다. 가중치 기반 대조 학습의 주요 과제는 자기 감독 방식으로 적절한 긍정 및 부정 예제 레이블을 구성하는 방법입니다. 직관적으로 부정 예제 쌍은 다양한 대화에서 자연어 질문을 선택하여 구성할 수 있습니다. 그러나 현재 질문은 그림 1에 표시된 두 번째 및 세 번째 발화와 같이 주제 전환이 발생한 역사적 질문과 관련이 없을 수 있으므로 긍정적인 질문 쌍을 구성하는 것은 쉽지 않습니다. 따라서 본 연구에서는 동일한 대화에서 자연어 질문을 긍정적인 사례 쌍으로 취급하고 서로 다른 유사성 점수를 할당합니다. SQL은 고도로 구조화된 사용자 발화 표시입니다. 따라서 현재 SQL과 과거 SQL 간의 유사성을 측정하여 자연어 질문의 의미론적 의사 레이블을 얻어 다양한 문 구성에 대한 유사성 점수를 얻을 수 있으며 이를 통해 컨텍스트 구성을 안내할 수 있습니다. 본 연구에서는 의미론적 측면과 구조적 측면에서 SQL 유사성을 측정하는 방법을 제안한다. 그림 3에 표시된 대로:
그림 3. SQL 문 유사성을 계산하는 두 가지 방법.
의미 기반 SQL 유사성 계산 본 연구에서는 두 SQL 쿼리 문에 해당하는 스키마 상태의 유사성을 계산하여 두 SQL 쿼리 문 간의 의미 유사성을 측정합니다. 구체적으로 그림 3에 표시된 것처럼 이 방법은 두 개의 SQL 쿼리 문 및 각각의 모드 상태 및 을 가져옵니다. 그런 다음 연구에서는 Jaccard 유사성을 사용하여 둘 사이의 의미적 유사성을 계산합니다. ] 고유한 패턴 상태의 수입니다.
구조 기반 SQL 유사성 계산 본 연구에서는 SQL 쿼리문의 트리 구조를 활용하기 위해 먼저 각 SQL 쿼리를 SQL 트리로 구문 분석합니다. 그림 3과 같이. SQL 쿼리
및
의 두 SQL 트리 및 이 주어지면 본 연구에서는 Weisfeiler-Lehman 알고리즘을 활용하여 구조적 유사성 점수 를 다음과 같이 계산합니다.
요약하면, 본 연구에서는 두 개의 SQL 쿼리문 과 의 유사도 점수를 다음과 같이 정의합니다. in 획득 후 SQL 유사성을 고려하여 이 연구에서는 가중치 대조 학습을 사용하여 대화에서 의미상 유사한 자연어 질문의 표현을 더 가깝게 만들고 의미상 유사하지 않은 자연어 질문의 표현을 더 멀리 밀어냅니다. 구체적으로, 먼저 연구에서는 어텐션 메커니즘을 활용하여 입력 표현을 학습합니다 : 그런 다음 연구에서는 가중 대비 손실 함수를 최소화하여 전체 네트워크를 최적화합니다. , 여기서 은 훈련 가능한 매개변수입니다. 실험 결과 Dataset 이 연구에서는 대화형 의미 분석을 위한 두 가지 권위 있는 데이터 세트인 SParC 및 CoSQL에서 STAR 모델의 효율성을 검증했습니다. 그 중 SParC는 약 4,300개의 다중 라운드 상호 작용과 12,000개 이상의 자연어 질문-SQL 쿼리 문 쌍을 포함하는 크로스 도메인 멀티 라운드 Text-to-SQL 구문 분석 데이터 세트입니다. to-SQL 구문 분석 데이터 세트. 약 3,000개의 대화 상호 작용과 10,000개 이상의 자연어 질문-SQL 쿼리 문 쌍을 포함합니다. SParC와 비교할 때 CoSQL의 대화 컨텍스트는 의미상 더 관련성이 높으며 SQL 쿼리 문의 구문은 더 복잡합니다. 벤치마크 모델 기준 모델 측면에서 연구에서는 다음과 같은 방법을 비교했습니다. (1) 순방향 의미 분석 모델과 역방향 대화 생성 모델을 결합하여 자연어 대화를 합성하는 GAZP [6] - SQL 쿼리 문 쌍의 학습 데이터를 사용하고 최종적으로 순방향 의미 구문 분석 모델에 맞는 주기 일관성을 갖춘 데이터를 선택합니다. (2) EditSQL[7]은 상호 작용 이력 정보를 고려하여 편집 전 시점의 SQL 쿼리문을 예측하여 현재 대화 라운드의 SQL 생성 품질을 향상시킵니다. (3) IGSQL [8]은 데이터베이스 스키마의 이력 정보를 사용하여 자연어 입력 이력 정보를 캡처하고 디코딩 단계에서 게이팅 메커니즘을 도입하는 데이터베이스 스키마 대화형 그래프 인코딩 모델을 제안합니다. (4) IST-SQL[9]은 대화 상태 추적 작업에서 영감을 받아 스키마 상태와 SQL 상태라는 두 가지 대화형 상태를 정의하고 각 라운드에서 마지막으로 예측된 SQL 쿼리 문에 따라 상태를 업데이트합니다. (5) R2SQL [10]은 대화 흐름에서 대화와 데이터베이스 스키마 간의 복잡한 상호 작용을 모델링하기 위한 동적 그래프 프레임워크를 제안하고 동적 메모리 붕괴 메커니즘을 통해 대화와 데이터베이스 스키마의 상황별 표현을 풍부하게 합니다. (6) PICARD[11]는 언어 모델의 자동회귀 디코딩 모델을 제한하기 위해 점진적인 의미 분석을 제안합니다. 각 디코딩 단계에서 디코딩 결과의 수용 가능성을 제한하여 합법적인 출력 시퀀스를 검색합니다. (7) DELTA [12]는 먼저 대화 재작성 모델을 사용하여 대화 문맥의 무결성 문제를 해결한 다음 전체 대화를 단일 라운드 Text-to-SQL 의미 분석 모델에 입력하여 최종 SQL 쿼리 문을 얻습니다. (8) HIE-SQL [13]은 멀티모달 관점에서 자연어와 SQL을 두 개의 모달리티로 취급하고 모든 과거 대화와 이전 문장에서 예측한 SQL 쿼리 문 사이의 컨텍스트 종속성 정보를 탐색하고 바이모달 사전 예측을 제안합니다. 모델을 훈련하고 대화와 SQL 쿼리 문 사이의 모달 링크 그래프를 설계했습니다. 전체 실험 결과 그림 4에서 볼 수 있듯이 SParC와 CoSQL의 두 데이터 세트에 대해 STAR 모델이 다른 비교 방법보다 훨씬 더 나은 성능을 발휘한다는 실험 결과를 확인할 수 있습니다. 사전 학습 모델 비교 측면에서 STAR 모델은 다른 사전 학습 모델(예: BERT, RoBERTa, GRAPPA, SCoRe)을 훨씬 능가합니다. CoSQL 개발 데이터 세트에서 SCoRE 모델과 비교하여 QM 점수가 7.4 증가했습니다. % 및 IM 점수가 7.5% 증가했습니다. 다운스트림 Text-to-SQL 모델 비교 측면에서 STAR를 사전 학습된 모델의 기반으로 사용하는 LGESQL 모델은 다른 사전 학습된 언어 모델을 기반으로 사용하는 다운스트림 방법보다 훨씬 낫습니다. 가장 성능이 좋은 LGESQL 모델은 GRAPPA를 기본으로 사용합니다. 그림 4. SParC 및 CoSQL 데이터 세트에 대한 실험 결과 절제 실험 결과 모델. 효율성 각 모듈의. 절제 실험의 결과는 그림 5에 나와 있습니다. SST 또는 UDT 사전 훈련 목표가 제거되면 효과가 크게 떨어지지만 모든 사전 훈련 목표를 결합한 실험 결과는 모든 데이터 세트에서 최상의 결과를 달성했습니다. , 이는 SST 및 UDT 유효성을 보여줍니다. 또한 본 연구에서는 UDT에서 두 가지 SQL 유사성 계산 방법에 대한 추가 실험을 수행했습니다. 그림 6에서 볼 수 있듯이 두 SQL 유사성 계산 방법 모두 STAR 모델의 효과를 향상시킬 수 있으며 결합된 효과가 가장 좋습니다. 그림 5. 사전 훈련 목표에 대한 절제 실험 결과. 그림 6. SQL 유사성 계산 방법에 대한 Ablation 실험 결과. 난이도가 다른 샘플의 모델 효과 그림 7에서 볼 수 있듯이 SParC와 CoSQL의 두 데이터 세트에 대한 난이도가 다른 샘플의 실험 결과에서 STAR 모델의 다양한 샘플에 대한 예측 효과를 알 수 있습니다. 어려움이 다른 비교보다 훨씬 낫습니다. 이 방법은 가장 어려운 초경질 샘플에서도 효과적입니다. 그림 7. SParC 및 CoSQL 데이터 세트에서 다양한 난이도 샘플의 실험 결과. 다양한 샘플 라운드의 모델 효과 그림 8에서 볼 수 있듯이 SParC와 CoSQL의 두 데이터 세트에 대한 다양한 샘플 라운드의 실험 결과에서 다음과 같이 알 수 있습니다. 대화는 시간이 지남에 따라 기본 모델의 QM 지수가 급격히 감소하는 반면 STAR 모델은 3차 및 4차에서도 보다 안정적인 성능을 보여줄 수 있습니다. 이는 STAR 모델이 대화 기록에서 상호 작용 상태를 더 잘 추적하고 탐색하여 모델이 현재 대화를 더 잘 구문 분석할 수 있음을 보여줍니다. 그림 8. SParC 및 CoSQL 데이터 세트에 대한 다양한 샘플 라운드의 실험 결과. 사례 분석 본 연구에서는 STAR 모델의 실제 효과를 평가하기 위해 CoSQL 검증 세트에서 두 개의 샘플을 선택하고 SCoRe 모델과 STAR 모델에서 생성된 SQL 쿼리를 비교했습니다. 그림 9 문에서. 첫 번째 예에서 STAR 모델은 과거 SQL의 스키마 상태 정보(예: [car_names.Model])를 잘 활용하여 세 번째 대화에 대한 SQL 쿼리 문을 올바르게 생성할 수 있는 반면 SCoRe는 모델은 이 모드 상태 정보를 추적할 수 없습니다. 두 번째 예에서 STAR 모델은 첫 번째와 네 번째 발화 간의 장기적인 대화 종속성을 효과적으로 추적하고 두 번째 대화에서 메시지 "개수"를 추적하고 참조함으로써 네 번째 SQL 키워드 [ SELECT COUNT (*)]가 라운드 SQL 쿼리문에서 올바르게 생성되었습니다. 그러나 SCoRe 모델은 이러한 장기적인 종속성을 추적할 수 없으며 잘못된 SQL 쿼리 문을 생성하는 세 번째 발화로 인해 방해를 받습니다. 그림 9. 분석 예시. ModelScope 모델 오픈 소스 커뮤니티 이 기사의 CoSQL 데이터 세트로 훈련된 모델은 ModelScope 모델 오픈 소스 커뮤니티에 통합되었습니다. 독자는 노트북에서 V100 GPU 환경을 직접 선택하고 간단한 파이프라인을 통해 여러 차례의 Text-to-SQL 의미 분석 작업에 대한 데모 모델을 사용할 수 있습니다. 본 논문에서 연구팀은 새롭고 효과적인 다원탁 지식 사전 훈련 모델(STAR 모델)을 제안했습니다. 다단계 텍스트-SQL 의미 구문 분석 작업의 경우 STAR 모델은 다단계 상호 작용에서 SQL 쿼리 문 및 자연어 질문의 의도를 각각 추적하는 스키마 상태 추적 및 대화 종속성 추적을 기반으로 테이블 사전 학습 목표를 제안합니다. . STAR 모델은 두 개의 권위 있는 다중 라운드 의미 분석 목록에서 매우 좋은 결과를 달성하여 10개월 연속 목록에서 1위를 차지했습니다. 마지막으로 중국과학원 심천첨단기술연구소 SIAT-NLP 그룹에 관심 있는 학생들의 박사후 연구원/박사/석사/인턴십 지원을 환영합니다. 이력서를 min.yang으로 보내주세요. @siat.ac.cn. Summary
위 내용은 대화형 의미 분석 SParC 및 CoSQL의 국제 권위 목록 상위권에 있는 새로운 다원 대화 테이블 지식 사전 훈련 모델 STAR 해석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!