NLP/Paper Review

[논문리뷰] GRAPPA: GRAMMAR-AUGMENTED PRE-TRAININGFOR TABLE SEMANTIC PARSING

메린지 2022. 7. 3. 19:05

Abstract

우리는 텍스트 및 표 데이터의 joint representations에서 compositional inductive bias을 학습하는 테이블 의미 구분 분석을 위한 효과적인 사전학습 접근법인 GRAPPA를 제시한다. 우리는 synchronous context-free grammar (SCFG)을 통해 높은 퀄리티의 테이블들에서 종합적인 질문인-SQL 쌍을 구성한다. 우리는 사전 훈련 언어 모델에 대한 테이블 의미 구문 분석에서 흔히 찾을 수 있는 중요한 구조적인 특성들을 주사하는 종합적인 데이터에서 GRAPPA를 사전학습한다. 실제 세계를 나타내기 위한 모델의 능력을 유지하기 위해, 우리는 또한  사전학습 과정을 정규화하기 위한 수많은 존재하는 테이블과 언어 데이터셋에서 MLM을 포함해야한다. 우리의 제안된 사전학습 전략은 더욱 데이터 효율적이다. 강한 기본 구문 분석과 함께 포함될때, GRAPPA는 fully-supervised되고 weakly-supervised되는 네 가지 인기 있는 테이블 의미 구문 분석 작업에 대해서 SOTA의 결과를 달성할 수 있을 것이다.

 

1. Introduction

표 데이터는 경제, 헬스케어, 소매 등 많은 도메인에서 human decision makers를 위한 중요한 정보 소스를 수행한다. SQL을 통해 표 데이터는 매우 효율적으로 접근될 수 있지만, 자연어 인터페이스는 그러한 데이터에 더 넓은 범위의 비기술적 사용자가 더 쉽게 접근할 수 있도록 한다. 그 결과, 최근 몇 년 동안 테이블 데이터에 대한 자연어 쿼리를 공적인 프로그램에 매핑하는 테이블 의미 파싱이 상당한 관심을 끌고 있다.

 

최근 BERT나 RoBERTa 같은 사전학습 언어 모델은 의미 구분 분석을 포함한 자연어처리 태스크의 스펙트럼에서 엄청난 성공을 달성했다. 이러한 진보들은 특정 도메인의 구문 분석에서 여러 도메인의 구문 분석으로 이동하는데 초점을 뒀다.

 

이러한 중요한 이득에도 불구하고, SPIDER나 WIKITABLEQUESTIONS 같은 복잡한 벤치마크들에서는 전반적인 성능이 제한적인데, 더욱이 현재 사전학습 언어 모델의 표현을 통합하는 것에서도 그렇다. 이러한 태스크는 새로운 데이터베이스/테이블 및 보다 복잡한 프로그램에 대한 일반화가 필요하기 때문에, 우리는 이러한 태스크들에 대해서 현재 사전학습 언어모델이 충분하지 않다는 것을 가정해야 한다. 첫째로, 위키피디아나 북 코퍼스같은 구조화되지 않은 텍스트 데이터를 사용해 사전학습된 언어모델은 utterances와 구조적인 표 사이의 관계를 공동으로 모델링하는 것이 중요한 테이블 의미 파싱에 직접 적용될 때, 상당한 도메인 이동에 노출된다. 두 번째로, 전통적인 사전학습 객체는 테이블 구문 분석으로부터의 데이터의 내제된 구성성을 고려하지 않는다. 이 격차를 줄이기 위해, 우리는 테이블 구문 분석을 중점으로 두고 구조화된 표 데이터와 구조화되지않은 자연어 문장으로부터 문맥적인 표현을 공통으로 학습하고자 한다.

Figure 1: GRAPPA 사전학습 접근법의 개요. 우리는 우선 SPIDER에서 몇 가지 예를 들어 SCFG를 설명한다. 그리고 우리는 새로운 합성 예시들을 생성하기 위해 많은 양의 표를 이 문법에서 샘플링한다. 마지막으로, GRAPPA는 SQL 의미 손실과 MLM 손실을 사용하는 소량의 테이블 관련 발화를 사용하여 합성 데이터에 대해 사전 훈련된다.

이 논문에서, 우리는 grammar-augmented pre-training framework for table semantic parsing (GRAPPA)를 제안한다. 의미 파싱을 위한 데이터 합성에 대한 이전 연구에서 영감을 받아, 기존 텍스트에서 SQL 데이터 세트에 자연어를 매핑하는 데 특화된 동기화식 문맥 자유 문법(SCFG)을 유도하며, 이는 가장 일반적으로 사용되는 질문 SQL 패턴을 다룬다. Figure 1에서 보여주듯이, 텍스트-SQL 예제에서 스키마 구성 요소(테이블 및 필드), 값 및 SQL 연산의 언급을 추상화하여 질문-SQL 템플릿을 생성할 수 있다. 무작위로 선택한 테이블에서 이 템플릿을 실행함으로써 많은 수의 합성 질문-SQL 쌍을 만들 수 있다. 우리는 이러한 합성 질문-SQL 쌍들과 각 쌍의 SQL에서 테이블 열의 구문론적 역할을 예측하는 새로운 텍스트와 텍스트 연결을 목표하는 테이블로 GRAPPA를 학습시킨다. 이러한 방식으로 모델이 대부분의 테이블 의미 구문 분석 작업에 중요한 논리적 형식 구성 요소에 기초할 수 있는 테이블 스키마 구성 요소를 식별하도록 권장한다.

 

합성 데이터에서 오버피팅을 방지하기 위해, 우리는 몇몇 큰 스케일에서 MLM 손실과 높은 퀄리티의 테이블과 언어 데이터셋, 자연어 표현의 보존과 우리의 합성 데이터 사이의 구성적인 귀납적 편향을 주사하는 것 사이의 조심스러운 균형을 포함해야한다. 우리는 457k개의 합성 예시들과 391.5k의 테이블-언어 데이터셋의 예시로부터 GRAPPA를 사전학습시킨다. 우리의 접근법은 GPU 사용량과 학습 시간을 극적으로 감소시켰다. 우리는 강한 지도학습과 약한 지도학습 설정 모두에서 네 개의 유명한 의미 구문 분석 벤치마크를 평가한다. GRAPPA는 지속적으로 모든 것에서 새로운 SOTA 결과를 달성하는데, 이전의 기록된 모든 결과들에서 상당히 뛰어남을 보여주었다.

 

2. Metodology

2.1 Motivation

의미 구문 분석 데이터는 논리적인 형식이나 SQL 쿼리들같은 공식적인 표현들과 발화가 관련이 있기때문에 구성적이다. 수많은 이전의 결과물들은 context-free한 문법을 이용한 증강 데이터의 이점들을 증명했다. 증강된 예시들은 주어진 훈련 예시들 아래에서 모델을 일반화하려고 가르치는데 사용되어 왔다.

 

그러나, 데이터 증강은 랜덤 도메인에서 데이터를 생성하고 싶을땐 더 복잡하고 덜 이득적이어졌다. 더 많은 결과들이 cross-도메인 의미 구문 분석에서는 데이터 증강이 항상 굉장한 성능 이득을 가져오지 않는다는 것을 보여줬다. 이러한 가장 큰 이유는 모델이 원본 입력 분포에 오버피팅되는 경향이 있기 때문인데, 특히 생성된 발화가 원본과 비교해서 정말 다르다.

 

게다가 증강된 데이터에서 의미 구분 분석을 직접 훈련하는 것 대신, 우리의 논문은 compositional inductive bias을 언어 모델에 주입하고 오버피팅 문제를 주의 깊게 다루면 실제로 효과가 있을 것임을 보여주기 위해 사전학습에서의 합성예시를 처음으로 사용한다. 오버피팅 문제를 다루기 위해, 섹션 2.3에서 우리는 또한 사전학습 데이터에서 발화와 관련된 작은 테이블 셋들을 포함한다. 우리는 정규화 요소로써 MLM 손실을 추가하는데, 그것은 모델이 사전학습 중에 실제와 합성 예시 간의 균형을 맞추기를 요구한다. 우리는 이것이 지속적으로 모든 다운스트림 의미 구문 분석 태스크에서 성능이 향상되는 것에 주목한다. 마침내 우리의 사전학습 방법론은 이전의 다른 결과물들보다 데이터 효율적이고 더욱 계산 용량을 절약한다.

 

2.2 Data Synthesis with synchronous context-free grammer

우리는 우리의 SCFG를 고안하기 위해 Jia & Liang을 따라하고, 새로운 예시들을 덧붙이기 위해 커다란 양의 테이블을 적용한다. 예를 들어, Figure 1에서 본 것처럼, 대체할 수 있는 column mentions("locations"), table mentions("performance"), Sql logic phrases("at least")을 같은 그룹에서 다른 가능한 후보로 대체하기 위해, 우리의 문법은 동일한 내제한 SQL 로직 템플릿과 함께 새로운 text-to-SQL 합성 예제로 생성한다. 그 다음 BERT를 증강 예제로 사전 학습하여 대체 가능한 조각을 발견하고 기본 논리 템플릿을 학습하여 다른 유사한 질문으로 일반화할 수 있도록 한다. 그동안 BERT는 또한 생성된 데이터에서 많은 다른 컬럼, 테이블 이름, 값들로 BERT를 사전학습하는 것으로부터 이득을 얻는데, 그것은 의미 구문 분석 태스크에서 schema linking을 잠재적으로 향상시킬 수 있다.

Table 1: non-terminals와 SCFG의 생성 규칙의 예시. 각 생성 규칙 ROOT → <α, β>는 모든 terminal phrasese를 각각 테이블 이름, 컬럼 이름, 입력 값을 의미하는 non-terminals 변수 t, c, v로 대체함으로써 몇 개의 (x,y)  ∈ D로부터 만들어졌다.

 

Grammer Induction

cross-도메인 SCFG를 유도하기 위해, 우리는 서로 다른 도메인에서 복잡한 구성성을 가진 가장 많은 예제를 포함하며 공개적으로 사용 가능한 데이터 세트이기 때문에 SPIDER의 예시를 공부한다. 우리의 접금법의 일반성을 더욱 보여주기 위해, 우리는 각 다운스트림 태스크에서 ekfms SCFG를 개발하지는 않는다. SPIDER에서 (x, y) 쌍이 주어지는데, 여기서 x와 y는 발화와 SQL 쿼리이다. 우리는 먼저 테이블 이름, 커럼 이름, 셀 값, 작동 등을 non-terminal 심볼로 설정한다. Table 1에서 예를 들면, 계산 함수들을 non-terminal AGG 에서 max같은 것들로 합친다. SQL 쿼리에서 entities/phrases을 터미널이 아닌 유형으로 대체하여 SQL 생성 규칙 베타를 만들 수도 있습니다. 그리고 우리는 비슷한 SQL 생성 규칙 베타로 (x, y) 쌍을 묶는다. 우리는 자동적으로 프로그램 템플릿으로 spider 학습 예시들을 묶고 세고, 가장 자주 사용되는 90개의 템플릿 베타를 선택한다. grammer 안의 각 프로그램 템플릿에서, 우리는 무작위로 대략 4개의 해당하는 자연어 질문을 선택하고, entities/phrases를 수동으로 해당 비-엔티티 유형으로 대체하여 자연어 템플릿 알파를 만들고, 마지막으로 이들을 정렬하여 각 생산 규칙 ROOT → <α, β>을 생성한다. 수동적인 정렬은 대략 몇 시간정도 걸린다. 대략 500개의 SPIDER 예시들이 SCFG를 유도하기 위해 연구되었다.

 

Data augmentation

<α, β> 쌍들과 함께, 우리는 동시에 pseudo 자연어 질문과 새로운 테이블이나 db가 주어졌을때 일치하는 SQL 쿼리들을 생성할 수 있다. 우리는 먼저 생성 규칙을 샘플링하고 일치하는 터미널 중 하나와 함께 non-terminals를 대체한다. 예를 들어 우리는 SQL 쿼리와 자연어 문장의 경우에, non-terminals AGG의 MAX를 "maximum"로 매칭할 수 있다. 또한, 테이블 컨텐츠는 우리의 사전학습 데이터를 합성하는데 사용될 수 있다. 예를 들어 만약에 샘플링된 생성 규칙이 값을 포함하면, 테이블 내용에서 선택한 열에 대한 값을 샘플링하여 SQL 및 질문 템플릿에 추가한다. 사전학습 중에, GRAPPA는 테이블컨텐츠에 접근할 수 있고 갑소가 열 사이의 linking을 학습할 수 있다.

 

우리는 WIKITABLES를 사용하는데, 이것은 160만 개의 고급 관계형 위키백과 표를 포함한다. 우리는 정확히 같은 열 이름을 가지는 테이블을 제거하고 약 340,000개의 테이블을 가져오고 413,000개의 질문-SQL 쌍을 생성한다. 또한, 우리는 SPIDER과 WIKISQL의 학습 셋에서 테이블과 데이터베이스를 이용해 62만개의 또다른 question-SQL 쌍을 생성한다. 종합적으로 우리의 최종 사전훈련 데이터셋은 457k의 question-SQL 예시를 포함한다.

 

우리는 SCFG가 특히 다른 도메인에 대한 데이터를 보강하는 데 적용될 때 일반적으로 조잡하다는 점에 주목한다. 여기서 우리는 더 많은 자연 발화를 생성하는 더나은 SCFG를 어떻게 개발하는지에 대해 초점을 두지 않는다. 이것은 도전해보기에 매우 흥미로운 미래 작품으로 보인다. SCFG가 조잡하다는 사실에도 불구하고 우리의 다운스트림 태스크 실험은 만약 몇가지 사진 학습 전략들이 적용된다면 꽤나 효과적일 수 있음을 보여준다.

 

2.3 Table Related Utterances

2.1에서 나온 것처럼, GRAPPA는 또한 MLM 객체들과 함께 표를 통해 인간이 어노테이트한 질문으로 사전학습된다. 우리는 텍스트-표 형식의 데이터 이해를 위해 일곱가지 높은 퀄리티의 데이터셋을 수집하는데, 그들은 모두 위키피디아 표나 데이터베이스와 인간이 쓴 자연어처리 발화를 포함한다. 우리는 오직 테이블과 context를 사전학습 리소스로만 사용하고 정답과 SQL 쿼리같은 또 모든 또 다른 인간 레이블을 버린다.

 

2.4 Pre-Training GRAPPA

증강된 데이터들이 마지막 태스크 학습에서만 사용된 과거 결과물들과 다르게, 우리는 언어모델 사전학습 프레임워크에 적용한다. 의미론적 구문 분석 훈련은 일반적으로 느리고, 많은 양의 구문 쌍을 최종 작업 훈련 데이터에 직접 보강하는 것은 엄청나게 느리거나 비쌀 수 있다. 이 작업에서, 우리는 텍스트에서 SQL을 각 열에 대한 다중 클래스 분류 작업으로 공식화하는데, 이는 구문 분석을 위한 BERT를 사전 훈련하기 위해 MLM 목표와 자연스럽게 결합될 수 있다. 게다가, 이 방법으로, 학습된 지식은 BERT와 정확히 같은 방법으로 쉽고 효율적으로 다운스트림 의미 구문 분석 작업으로 전달될 수 있다.

 

GRAPPA는 RoBERTa-Large로 초기화되고, SQL 의미 손실을 포함한 합성 데이터와 MLM 손실을 포함한 테이블 관련 데이터에 대해 추가로 사전 훈련되었다. Figure 1에서 보여주듯이, 우리는 Hwang을 따라 사용자 발화와 컬럼 헤더를 </s> 토큰으로 구분된 단일 플랫 시퀀스로 연결한다. 사용자 발화는 집계된 데이터셋으로부터 수집된 사용자 발화 중 하나일수도 있고 SCFG에서 추출한 표준 문장일 수도 있다. 만약 멀티 테이블을 포함하는 복잡한 스키마 입력이 있다면, 우리는 각 컬럼의 시작에 테이블 이름을 추가한다. 우리는 언어 모델 사전 훈련을 위해 1) 마스크 언어 모델링(MLM)과 2) SQL 의미 예측(SSP)의 두 가지 객관적 기능을 사용한다.

 

MLM objective

직관적으로, 우리는 자연어와 테이블 헤더 간 셀프어텐션 메커니즘을 갖는 것을 좋아한다. 우리는 자연어 문장과 테이블 헤드 모두에 마스킹을 수행한다. 입력 시퀀스의 작은 부분에 먼저 스페셜 토큰 <mask>로 대체된다. MLM 손실은 마스킹된 토큰을 예측하기 위해 크로스-엔트로피 함수로 계산된다. 우리는 15%의 마스킹 확률로 Devlin 등(2019)의 기본 하이퍼파라미터를 따른다.

 

SSP objective

합성된 자연어 문장과 SQL 쿼리 쌍들로, 우리는 칼럼 표현을 훈련시키기 위한 보조(auxiliary) 작업을 추가할 수 있다. 자연어 문장과 테이블 헤더가 주어지고, 제안된 태스크는 컬럼이 SQL 쿼리에서 나타나는지 아닌지, 어떤 작동이 촉발되는지 예측하는 것이다. 그리고 우리는 모든 SQL 시퀀스 라벨을 각 컬럼의 operation classification 라벨로 전환한다.Figure 1을 예로, 칼럼 "location"의 operation classification 라벨은 SELECT AND BY HAVING 이다. 종합적으로, 우리의 실험에서 operation을 위한 254개의 잠재적 클래스가 있다.

 

i로 색인된 열이나 테이블의 경우, 우리는 corresponding operations을 예측하기 위해 xi로 표시된, 바로 앞에 있는 특별한 토큰</s> 의 인코딩을 그것의 표현으로 사용한다. 이러한 표현 가장 위에, 우리는 GLEU activation layer를 따르는 두 층의 feed-forward network와 출력을 위한 정규화 층을 적용한다. 공식적으로 우리는 각 컬럼 yi의 최종 벡터 표현을 계산한다:

마침내, yi는 classification layer을 통해 교차 엔트로피 손실을 계산하기 위해 사용된다. 우리는 Back-propagation으로 각 훈련 예시의 모든 컬럼으로부터의 손실을 합산한다. 집계된 데이터셋에서의 샘플로, 우리는 오직 우리의 모델을 업데이트하기 위해 MLM 손실을 계산한다. 우리가 생산해내는 합성 데이터로부터의 샘플로, 우리는 오직 우리의 모델을 업데이트 하기위해 SSP 손실을 계산한다. 더 구체적으로, 우리는 391k개 자연어 발화와 475k의 합성된 예시들을 같이 최종 사전훈련 데이터로 섞는다. 이 두 그룹 안의 예시에서 사전 훈련동안 무작위로 선택되고, 만약 선택된 예시가 자연어 질문이면 MLM 손실이 계산되고, 그렇지 않으면 합성된 예시로 SSP 손실이 계산된다.

 

3. Experiments

우리는 테스트 시 보이지 않는 테이블/데이터베이스로 일반화가 필요한 네 가지 교차 도메인(cross-domain) 테이블 의미 구문 분석 작업에 대한 실험을 수행한다. 우리는 fully supervised와 weakly supervised 세팅, 테이블 구문 분석의 두가지 다른 세팅으로 실험한다. 각 태스크에 대한 데이터 통계와 예는 부록의 표 2와 표 7에 각각 나와있다.

Table 2: 이 논문에서 사용된 fully-supervised와 weakly-supervised인 네 가지 테이블 기반 구문 분석과 질문 답변의 개요. 섹션 3에 더 자세함.

 

3.1 Supervised Semantic Parsing

우리는 먼저 두 가지 supervised 구문 분석 태스크로 GRAPPA를 평가한다. 질문과 테이블 혹은 데이터베이스 스키마가 주어지면, supervised 구문 분석