NL-099, TaBERT: Pretraining for Joint Understanding of Textual and Tabular Data (ACL-2020)

◼️ Comment

  • 이 논문의 세세한것 까지 이해하기는 살짝 어렵다는 느낌을 받았다.
  • 개인적으로 생각하기에 pretrained LM을 만들 연구를 할 것이 아니면...세부 로직, 데이터 프리프로세싱보다 pretrained LM이 어떤 문제를 개선하려고 했고 어디에 사용하면 효율적인지가 더 중요하다고 생각하다.
  • 이 논문을 읽은 이유는 논문 제목에서부터 볼 수 있듯이 text와 tabular 데이터를 같이 임베딩하는 모델이기 때문이다.
  • 좀 더 구체적으로는 data-to-text 관련해서 관심이 있는데 이 논문이 그것에 효과적일 것이라 생각된다.
  • 일단 그전 pretrained LM과 다른 것이 데이터 세팅이다.
    • 여기서 사용하는 데이터는 SPIDER (text-to-SQL) 하고 WikiTableQuestions 데이터세트이다.
    • SPIDER의 하나 예제를 보자.
    • 위와 같이 되어있는데 COUNT, FROM, AS, JOIN, GROUP BY 등이 테이블의 칼럼 정보를 담당하는 것이고 나머지 text가 cell 정보가 되는 것이다.
    • 이런 느낌으로 데이터가 구성된 것이다.
    • WikiTableQuestions 하나 예제를 보자.
      • 즉 text와 table이 정보고 question, answer이 주어진다.
    • 즉 이전의 LM처럼 단순 text 형식의 데이터를 학습하는 것은 아니다.
  • 모델
    • 모델링은 그림1을 참고하면 되는데, 논문 내용만 보고 아리송한 것이 있다.
    • (A)처럼 일단 발화에 해당하는 content snapshot을 뽑는다.
      • content snapshot은 발화와 연관되는 rows을 선택하는 것으로 n-gram을 사용한다고 한다.
    • (B)와 같이 입력형태를 만들어, row-wise 형태로 BERT을 태운다.
      • cell에는 여러 개의 단어가 있을 수도 있고, special token을 붙여주기 때문에 cell에 해당하는 벡터는 여러 개가 된다.
      • 이 벡터들을 하나의 vector로 만들기 위해, cell-wise pooling을 (mean-pooling) 한다.
      • 즉 content snapshot에 해당하는 각 row에서 각 cell에 해당하는 vector을 뽑는 것이다.
    • (C)는 (B)의 결과를 열단위로 (수직적으로) attention 시키기 위함이다.
      • 따라서 입력으로는 같은 열에 있는 cell의 (B)결과 벡터가 초기로 들어간다.
      • 이렇게하면 또 여러 개의 벡터가 나올 것이다. 그림 1로 치면, 3개의 content snapshot이 있으므로 3개의 벡터가 나올것이다.
      • 이를 또 mean-pooling을하여 최종 하나의 벡터로 만든다.
  • (C)로 나온 출력을 2가지 objective로 학습하는데 이것또한 기존의 LM과 다르다.
    • (1) MCP (Masked Column Prediction)은 마스킹된 열의 이름과 데이터 type을 맞추는 것
    • (2) CVR (Cell Value Recovery)은 대표 cell 값 정보를 맞추는 것이다. (여러 단어가 포함될 경우는 position 정보를 넣어서 예측)
  • 논문에서는 추가적으로 섹션 4에서 pretraining후 supervised learning으로 어플리케이션에 적용하는 예제를 보여준다.
  • 추가적으로 최종 Conclusion을 한번 읽어보자! 개인적으로는 data-to-text에 적용해보면 흥미로울 것 같다.

0 Abstract

  • 최근 text-based NLU 테스크들에 대한 pretrained LMs의 급증을 목격했다.
  • 이러한 모델들은 일반적으로 free-form NL text로 학습이되고, 그래서 이는 free-form NL questions과 structured tabular data 둘다에 대한 추론을 요구하는 structured data위의 semantic parsing과 같은 테스크들에 적합하지 않을 수 있다.
  • 이 논문에서, 우리는 TABERT을 제안하고, 이것은 NL sentences와 (semi-) structured  tablesd에 대한 표현을 같이 학습하는 pretrained LM이다.
  • 실험들에서, TABERT을 feature representation layers로 사용한 neural semantic parser은 challenging weakly supervised semantic parsing benchmark WIKITABLEQUESTIONS에서 SoTA을 달성하고, text-to-SQL dataset SPIDER에서 경쟁력있는 성능을 보여준다.

1 Introduction

  • 최근 몇년동안 free-form nautral language (NL) text에대한 understand와 answer question하는 능력에대한 급격한 발전을 목격했다.
    • 이것은 BERT와 같은 large-scale pretrained LMs 때문이다.
  • 이러한 모델들은 unsupervised 방법으로 학습된 representation 때문에 fine-tuning전에 text의 syntax와 semantics을 캡쳐할 수 있다.
  • 이것은 또한, pretrained LMs을 text span selection 문제들과 같은 모델링된 독해 문제로 쉽게 적용할 수 있고, answer span의 바운더리는 LM위에 simple classifier을 붙여서 예측이 가능하다.
  • 그러나, free-form NL text와 structured data 둘다에 대해 같이 추론해야하나는 QA 태스크들에 대한 모델을 pretrain과 fine-tune하는 방법은 명확하지 않다.
  • 데이터베이스에 (DBs) 접속하여 semantic parsing하는 한 가지 예제 테스크는 NL utterance을 (e.g., “Which country has the largest GDP?”) DB tables에 대한 structured query로 (e.g., SQL querying a database of economics) 변환하는 것이다.
  • 이러한 시나리오에 대한 키 챌린지는 DB tables의 structured schema을 이해하는 것이다. (예. the name, data type, and stored values of columns)
    • 그리고 더욱 중요하게, input text와 schema 사이의 alignment이고 (e.g., the token “GDP” refers to the Gross Domestic Product column), 이는 올바른 DB query을 추론하기에 필수적이다.
  • 그래서 이 작업에 맞는 Neural semantic parsers은 NL utterances와 (semi-)structure schema of DB tables로부터 조인트하게 representation을 배우려는 시도를 한다. (e.g., representations of its columns or cell values, as in Krishnamurthy et al. (2017); Bogin et al. (2019b); Wang et al. (2019a), inter alia). 
  • 그러나, 이러한 unique setting은 pretrained LMs을 적용하기 여러 챌린지가 존재한다.
  • 첫 째로, DB tables에 저장된 information은 강한 underlying structure로 되어 있고, 기존의 LMs(예. BERT)은 단지 free-form text을 위한 encoding으로 학습된다.
  • 둘 째로, DB table은 많은 수의 rows을 가지고 있고 간단히 resource-heavy LM을 사용해서 모든 것을 인코딩을 하는 것은 계산적으로 다루기 어렵다.
  • 마지막으로, 대부분의 text-based QA tasks와 (예. SQuAD) 달리 (SQuAD는 generic answer span selection problem으로 형식화될 수 있고 추가적인 classification layers을 가지는 pretrained model로 해결될 수 있음) semantic parsing은 높은 domain-specific이고 neural parser의 구조는 강하게 기본 DB의 구조와 결합된다. (e.g., systems for SQL-based and other types of DBs use different encoder models). 
  • 사실, 기존의 시스템들은 BERT을 활용해서 시도하고 있으나, 그들 자체의 domain-specific 각각에서, in-house 전략으로 DB안의 structured information을 인코딩하고 더욱 중요하게 structured data에 대한 pretraining representations없이 한다는 것이다.
  • 이러한 챌린지들은 NL utterances와 structured DB tables 둘다에 대한 representation을 학습하는 것으로 접근하는 일반적인 목적의 pretraining을 위한 개발을 요구한다.
  • 이 논문에서, 우리는 TABERT을 제안하고, 이는 NL text와 semi-structured tabular data의 joint 이해를 위한 pretraining 접근법이다.
  • TABERT은 BERT의 top에서 설계되고, utteracnes와 structured schema of DB tables의 (예 : 각 발화 토큰 및 테이블 열에 대한 벡터) contextual representations을 같이 학습한다.
  • 구체적으로, TABERT는 tables의 structure을 선형화해서 Transformer-based BERT 모델과 호환되게한다.
  • 많은 테이블들을 대처하기위해, 우리는 content snapshots을 제안한다.
    • input utternace와 가장 관련있는 table content의 하위집합을 인코딩하는 방법이다.
  • 이 전략은 더욱더, vertical attention 메커니즘과 결합되어 다른 rows에있는 cell representation 사이의 정보를 공유한다.
  • tabular data와 관련있는 NL text 사이의 연관성을 캡쳐하기위해, TABERT는 26 million (2600만) 테이블과 영어 패러그래프의 parallel corpus로 pretrain된다.
  • TABERT은 utterances와 tables의 representation을 계산하기위해 general-purpose encoder로 neural semantic parser에 연결할 수 있다.
  • 우리의 키 인사이트는 semantic parsers가 highly domain-specific임에도 불구하고, 대부분의 시스템들은 input utterances와 table schemas의 representations에 의존하여 DB 쿼리들의 subsequent 생성을 용이하게하고 이러한 representations은 parsing task의 도메인에 상관없이 TABERT에의해 제공된다.
  • 우리는 TABERT에 두 개의 다른 semantic parsing 패러다임을 적용한다.
    • (1) SPIDER text-to-SQL 데이터세트에서 classical supervised learning 세팅으로 TABERT는 NL utterances와 labeled DB 쿼리들의 parallel을 이용하여 task-specific parser로 함께 fine-tuned된다.
    • (2) 챌린지한 WIKITABLEQUESTIONS에 대한 weakly-supervised learning 학습으로 시스템은 그것의 실행 결과들로부터 latent DB 쿼리들을 추론해야만한다.
  • 우리는 TABERT가 두 개의 시나리오에서 모두 효과적임을 증명하여 NL utterances와 DB 테이블들의 contextual representation의 계산을 위해 parsers의 original encoder의 drop-in replacement을 보여준다.
    • drop-in replacement: 컴퓨터 공학 등에서 사용되는 용어로 어떤 부품이나 프로그램을 대체 했을 때 다른 설정 등을 바꿀 필요가 없고 성능 저하도 없으며 오히려 속도, 안정성, 용량 등의 성능이 올라가는 대체를 의미한다.
  • 구체적으로, TABERT로 증간된 시스템들은 BERT을 써서 그들에 대항하는 것보다 성능이 좋고 WIKITABLEQUESTIONS에서 SoTA을 달성하고 SPIDER에서 경쟁적인 성능을 보여준다.

2 Background

  • Semantic Parsing over Tables 
    • Semantic parsing은 NL utterance u을 formal meaning representation (MR) z로 바꾸는 테스크를 해결한다.
    • 구체적으로, 우리는 parsing utterances을 데이터베이스 테이블에 접속하는 것에 집중하고, 여기서 z는 relational DB 테이블 T=의 집합에서 실행가능한 structured query (예. SQL 쿼리) 이다.
    • relational table T는 데이터의 N rows 의 리스팅이고 각 row 는 M cells 로 구성되고 각 column은 이다.
    • 각 셀 은 토큰들의 리스트를 담고 있다.
    • DB에서 사용하는 기본 데이터 표현 스키마에 따라 테이블은 강력하게 형식화되고 정규화 된 내용으로 완전히 구조화 될 수 있습니다 (예 : distance라는 테이블 열의 단위는 킬로미터이며 모든 셀 값 (예 : 200), 동일한 단위를 가짐), 일반적으로 SQL 기반 DB (§ 4.1)의 경우와 같습니다.
    • 또는 정규화되지 않은 텍스트 셀 값 (예 : 200km)으로 semi-structured 될 수 있습니다.
    • 쿼리 언어는 SQL과 같은 범용 DB 액세스 언어에서 특정 작업에 맞는 도메인 별 언어에 이르기까지 다양한 형태를 취할 수 있습니다.
    • 발화와 관련 테이블이 주어지면 neural semantic parser는 발화 토큰의 벡터 표현과 테이블의 구조화 된 스키마에서 DB 쿼리를 생성합니다.
    • 이 논문에서는 스키마를 테이블의 열 집합으로, 그 표현을 열을 나타내는 벡터 목록으로 지칭합니다.
    • TABERT가 3.1 절에서 이러한 표현을 계산하는 방법을 소개합니다.
  • Masked Language Models
    • BERT 설명.. 패스

3 TABERT: Learning Joint Representations over Textual and Tabular Data

  • 우리는 우선 TABERT가 어떻게 NL utterances와 table schemas의 representations을 계산하는지 설명하고나서, pretraining 과정을 설명한다.

3.1 Computing Representations for NL Utterances and Table Schemas

  • 그림 1은 TABERT의 오버뷰를 설명한다.
  • 1) utterance u와 table T가 주어지면, TABERT은 먼저 T의 content snapshot을 생성한다.
  • 이 snapshot은 샘플된 rows로 구성되고 입력 발화와 최대한 관련있는 T의 정보를 요약한다.
    • 즉 snapshot은 그림 A에서 R2, R3, R5을 의미하는 것 같음.
  • 2) 모델은 snapshot에 있는 각 row는 utternace와 함께 선형화된 row로 concatenate되고 concatenated string을 Transformer의 (예. BERT) 입력으로 넣고, 이는 발화 토큰들과 cells들의 row-wise encoding 벡터를 출력한다.
  • 3) snapshot에 있는 모든 rows의 encodings들은 vertical self-attention layers의 일련으로 입력되고, cell representation은 (혹은 발화 토큰 representation) 같은 column의 (혹은 같은 NL token) vertically-aligned vectors을 attending하여 계산된다.
  • 4) 마침내, 각 발화 토큰과 column의 representations은 pooling layer으로부터 생성된다.
  • Content Snapshot
    • TABERT의 한 가지 주요 featrue은 table schema을 인코딩할 때, 단지 column names을 사용하는 대신 테이블 contents을 사용하는 것이다.
    • 이것은 단지 모호할 수 있는 column의 이름보다 column의 semantics에 대한 자세한 디테일을 제공하는 contents의 사실로부터 모티베이션이된다.
    • 예를들어, 그림 1의 column Venue에서, 이는 host cities을 참조하는 예제 질문에 대답하는데 사용되고, representation을 생성하는동안 샘플된 cell values을 인코딩하는 것은 입력 utterance의 "city" 용어를 column에 매칭시키는 것에 도움이 될 수 있다.
    • 그러나, DB 테이블은 잠재적으로 많은 수의 rows을 가지고 있을 수 있고 오직 그들중 몇몇만이 실제로 input utterance의 정답과 연관이 있을 수 있다.
    • resource-heavy Transformer을 이용하여 모든 contents을 인코딩하는 것은 계산적으로 다루기 어렵고 필수적이지도 않다.
    • 그래서, 우리는 대신에 입력 발화와 가장 관련있는 몇몇 rows로 구되어있는 content snapshot을 사용하여 cell 값들에서 content-sensitivie column representations을 을 계산하는 효율적인 접근법을 제안한다.
    • 우리는 간단한 전략으로 utternace와 row사이의 연관성을 기반으로 K rows의 content snapshots을 생성한다.
    • K>1에선, 우리는 입력 테이블에서 utterance와 가장 높게 곂치는 n-gram을 가지는 tok-K rows을 선택한다.
      • 그림 예제에서 따라서 1st가 겹치는 열들을 선택한 것 같다.
    • K=1인 경우, 가능한 utterance와 가장 정보가 겹치는 snapshot을 포함하기 위해, 우리는 발화에서 n-gram overlap이 가장 높게 일어나는 각 column에서 synthetic row을 생성한다.
    • 제한된 세팅에서 synthetic rows을 사용은 발화에 가장 적합한 셀 값이 여러 행에서 나올 수 있다는 사실에 기인합니다.
    • 예를 들어, “How many more participants were there in 2008 than in the London Olympics?” 발화를 고려하고 Year, Host City, Number of Participants 열을 가지는 관련있는 테이블을 연관지어 발화에 가장 관련있는 셀들은 2008 (from Year)과 London (from Host City) 이고 이들은 다른 rows이다.
      • 이는 한 개의 synthetic row에 포함될 수 있다.
    • 초기 실험들에서, 우리는 syntehteic rows은 안정적인 학습에 도움이 될 수 있다.
  • Row Linearization
    • TABERT는 Transformer 모델에 입력하는 content snapshot의 각 row의 선형화된 시퀀스를 생성한다.
    • 그림 1(B)는 R2의 선형화를 묘사하고, 이는 utterance, columns, 그들의 cell values의 concatenation으로 구성된다.
    • 구체적으로, 각 cell은 vertical bar로 구분된 실제 value와 함께 열의 name과 data type으로 표현된다.
    • As an example, the cell s<2,1> valued 2005 in R2 in Fig. 1 is encoded as
    • row의 선형화는 [SEP] 심볼로 분리되어서 cells의 문자열위에서 concatenating으로 구성된다.
    • 우리는 그리고나서, 입력 시퀀스의 발화 토큰들의 row 선형화를 Transformer에 prefix한다.
    • 기존의 연구들은 다른 선형화 전략으로 Transformers로 테이블들을 인코딩한다.
      • 반면에 우리의 row 접근법은 구체적으로 content snapshots을 인코딩하는데 디자인되었다.
    • 우리는 다른 선형화 방법들의 결과들을 section 5에서 보여준다.
    • 그림처럼 입력은 식(1)처럼 들어가고, 출력이 그럼 Year, real, 2005에 대한 3벡터가 있을텐데 이를 cell-wise pooling으로 하나로 합치는 것 같음.
  • Vertical Self-Attention Mechanism 
    • TABERT의 base Transformer은 각 row에서 발화와 cell의 vector enocdings을 출력한다.
    • 이러한 row-level vectors은 분리되서 계산되고 각각이 독립적이다.
    • 다른 rows의 cell representations의 정보에 접근하기 위해서, 우리는 verical self-attention을 제안하고, self-attention 메커니즘은 다른 rows에서 vertically aligned하게 작동한다.
    • 그림 1(c)에서, TABERT는 V stacked vertical-level self-attention layers을 가진다.
    • vertical attention을 위한 aligned 입력을 생성하기 위해, 우리는 먼저 position <i, j>에서 각 cell에대한 fixed-length initial vector을 계산한다
      • 이 벡터는 Eq1에서와 같이 variable-length 선형화에 해당하는 Transformer의 출력 벡터 시퀀스에 대한 mean-pooling으로 제공됩니다.
      • 즉 그림을 참고하여 유추하면, 그림 (B)에서 utt+row에 해당하는 정보가 Transformer 입력으로 들어간다.
      • Year 칼럼을 예로 들면 Year | real | 2005 식의 3개 토큰에 대한 출력이 나올 것이다. 
      • 이 출력을 대해 mean-pooling으로 구한다.
      • 즉 mean-pooling이 cell-wise pooling을 말하는 듯
    • 다음으로, NL 발화의 word vectors의 시퀀스는 (Transformer 모델로부터) vertical attention layer에 초기입력으로써 cell vectors와 concatenate된다.
      • 이 부분이 잘 이해가 안되는데 아마 같은 위치에 있는 것끼리 vertical attention layer을 한다는 것 같다.
      • 단, 여기서 입력은 row-wise 결과의 vector가 초기값이다.
      • 예로 cell 부분에서 [2005, 2005, 2007]이 입력이 되어서 진행?
      • utterance 부분에서도 마찬가지로 [In, In, In]이 입력이 되어서 진행?
    • 각 vertical attention layer은 Transformer로써 같은 파라미터들을 가지지만, vertically aligned elements에서 작동한다.
      • 즉, utterance와 cell vectors은 same question token과 column에 각각  대응된다.
    • 이것은 vertical self-attention 메커니즘이 모델이 content snapshot에있는 다른 rows에서 정보를 모으고, TABERT가 cell 값들에 대한 cross-row dependencies을 캡쳐하게끔 한다.
  • Utterance and Column Representations
    • representation 는 마지막 vertical layer의 vertically aligned cell vectors(s<i,j>: Ri in content snapshot)에 대해 mean-pooling을 통하여 각 column 에대해 계산된다.
    • 각 발화 토큰 xj에 대한 representation은 vertically aligned token vectors와 유사하게 진행이된다.
    • 이러한 representations은 downstream neural semantic parsers로 사용된다.
    • TABERT는 또한 prefixed [CLS] 심볼의 representation을 사용하여 optional fixed-length table represetation T을 출력하는데, 이는 parsers가 멀티 DB 테이블에서 작동하는데 유용하다.

3.2 Pretraining Procedure 

  • Training Data (번역)
    • NL 텍스트 및 구조화 된 테이블의 대규모 고품질 병렬 코퍼스가 없기 때문에 대신 웹에 일반적으로 존재하는 semi-structured된 테이블을 대체 데이터 소스로 사용합니다. 
    • 이 라인의 첫 번째 단계로 영어로 병렬 데이터를 수집하는 데 중점을 두는 반면 다국어 시나리오로 확장하는 것은 향후 작업을위한 흥미로운 방법이 될 것입니다.
    • 특히, English Wikipedia와 CommonCrawl의 대규모 테이블 컬렉션 인 WDC WebTable Corpus (Lehmberg et al., 2016)에서 테이블과 주변 NL 텍스트를 수집합니다. 
    • 원시 데이터는 매우 시끄럽고 우리는 공격적인 정리 휴리스틱을 적용하여 유효하지 않은 예 (예 : HTML 스 니펫 또는 외국어로 된 예, 헤더가없는 비 관계형 테이블)를 필터링합니다. 
    • 데이터 전처리에 대한 자세한 내용은 부록 § A.1을 참조하십시오. 
    • 전처리 된 말뭉치에는 2,660 만 개의 테이블 및 NL 문장의 병렬 예제가 포함되어 있습니다. 
    • BERT와 함께 제공되는 Wordpiece 토크 나이저를 사용하여 하위 토큰 화를 수행합니다.
  • Unsupervised Learning Objectives
    • NL 컨텍스트 및 구조화 된 테이블의 표현을 학습하기 위해 다른 목표를 적용합니다. 
    • 0) NL 컨텍스트의 경우 NL 컨텍스트에서 하위 토큰의 마스킹 속도가 15 % 인 표준 MLM (Masked Language Modeling) 목표 (Devlin et al., 2019)를 사용합니다.
    • 열 표현을 학습하기 위해 열 표현이 열의 일반 정보 (예 : 이름 및 데이터 유형)와 NL 컨텍스트와 관련된 대표 셀 값을 모두 포함해야한다는 직감에 의해 동기를 부여한 두 가지 목표를 설계합니다. 
    • 1) 첫째, MCP (Masked Column Prediction) 목표는 모델이 마스킹 된 열의 이름과 데이터 유형을 복구하도록 권장합니다. 
      • 특히, 입력 테이블에서 열의 20 %를 무작위로 선택하여 각 행 선형화에서 이름과 데이터 유형을 마스킹합니다 (예 : 그림 1에서 Year 열을 선택한 경우 Eq. (1)에서 Year 및 real 토큰). 마스크됩니다). 
      • 열 표현 cj가 주어지면 TABERT는 다중 레이블 분류 목표를 사용하여 cj에서 마스킹 된 (이름 및 유형) 토큰의 백을 예측하도록 훈련됩니다. 
      • 직관적으로 MCP는 모델이 컨텍스트에서 열 정보를 복구하도록 권장합니다.
    • 2) 다음으로 보조 CVR (Cell Value Recovery) objective를 사용하여 콘텐츠 스냅 샷의 대표 셀 값 정보가 additional layers of vertical self-attention에도 유지되도록합니다.
      • 구체적으로, MCP objective에서 각 masked column 에 대해, CVR은 cell vector 을 조건으로하는 content snapshot에서 각 cell 의 original tokens을 예측한다.
      • 예를 들어, Eq1의 cell 에서, 우리는 그것의 value인 2005을 으로부터 예측한다.
      • 하나의 셀에 여러 개의 토큰 값이 있을 수 있으므로 span-based prediction objective을 적용합니다 (Joshi et al., 2019).
      • 구체적으로, cell token  ∈ 을 예측할 때, 그것의 positional mebedding ek와 cell representation 은 two-layer network f(·)에 입력된다. (activation function: GeLU)
      • f(·)의 출력은 그리고나서 original value token 을 softmax layer로 예측한다.

4 Example Application: Semantic Parsing over Tables

  • TABERT는 1) two semantic parsing paradigms, structured DBs(§ 4.1)에 대한 2) classical supervised text-to-SQL 작업, semistructured Web tables (§ 4.2)에 대한 3) weakly supervised parsing 문제에 대한 표현 학습에 적용됩니다.

4.1 Supervised Semantic Parsing (번역)

  • Benchmark Dataset 
    • 지도 학습은 발화 및 쿼리의 병렬 데이터를 사용하여 파서를 학습하는 일반적인 시나리오입니다. 
    • 200 개의 DB에 걸쳐 10,181 개의 예제가 포함 된 text-to-SQL 데이터 세트 인 SPIDER (Yu et al., 2018c)를 사용합니다.
    • 각 예는 발화 (예 : "Aruba에서 사용되는 총 언어 수는 얼마입니까?"), 하나 이상의 테이블이있는 DB, 일반적으로 여러 테이블을 결합하여 답변을 얻는 주석이 달린 SQL 쿼리로 구성됩니다 (예 : , SELECT COUNT (*) from Country JOIN Lang ON Country.Code = Lang.CountryCode WHERE Name = 'Aruba').
  • Base Semantic Parser
    • 우리는 TABERT가 이미 강력한 파서를 개선하는 데 도움이 될 수 있음을 보여주고 자합니다. 
    • 불행히도 글을 쓰는 시점에 SPIDER의 최상위 시스템은 공개적으로 사용 가능하지 않았습니다.
    • 합리적인 테스트 베드를 구축하기 위해 우리는 오픈 소스 범용 시맨틱 파서 인 TranX (Yin and Neubig, 2018)를 기반으로 사내 시스템을 개발했습니다. TranX는 NL 발화를 사용자 정의 문법에 따라 중간 의미 표현으로 변환합니다.
    • 생성 된 중간 MR은 도메인 별 쿼리 언어 (예 : SQL)로 결정적으로 변환 될 수 있습니다.
    • TABERT를 발화 및 테이블 스키마의 인코더로 사용합니다. 
    • 특히, 주어진 발화 u와 테이블 세트 T = {Tt}가있는 DB에 대해 먼저 u를 TABERT에 대한 입력으로 T의 각 테이블 Tt와 쌍으로 연결하여 | T | 발화 및 열에 대한 테이블 별 표현 집합입니다.
    • 각 시간 단계에서 LSTM 디코더는 테이블 별 표현 목록에 대해 계층 적주의 (Libovicky 및 Helcl ´, 2017)를 수행하여 사전 정의 된 문법을 기반으로 MR을 구성합니다.
    • 작성 시점에 SPIDER에서 최상의 성능을 달성 한 IRNet 모델 (Guo et al., 2019)에 따라 SQL의 단순화 된 버전 인 SemQL을 기본 문법으로 사용합니다.
    • 우리 시스템에 대한 자세한 내용은 부록 § B.1을 참조하십시오.

4.2 Weakly Supervised Semantic Parsing 

  • Benchmark Dataset 
    • 약하게 감독되는 의미 론적 구문 분석은 실행 결과 (즉, 대답이 올바른지 여부)에서 올바른 쿼리를 추론하는 강화 학습 작업을 고려합니다. 
    • 지도 학습에 비해 약하게지도 된 구문 분석은 파서가 레이블이 지정된 쿼리에 액세스 할 수없고 실행 결과의 시끄러운 바이너리 보상 신호에 따라 가능한 쿼리의 기하 급수적으로 큰 검색 공간을 탐색해야하므로 훨씬 더 어렵습니다.
    • WIKITABLEQUESTIONS (Pasupat and Liang, 2015)는 Wikipedia의 22,033 개의 발화와 2,108 개의 반 구조화 된 웹 테이블을 포함하는 약하게 감독되는 의미 론적 구문 분석을위한 인기있는 데이터 세트입니다. 
    • 주어진 테이블의 일련의 항목에 대한 구성, 다중 홉 추론이 필요합니다 (예 : 그림 1의 예에 답하기 위해 구문 분석기는 행 세트 {R2, R3, R5}에 대해 추론하여 Venue 필드를 연도의 가장 큰 값).
  • Base Semantic Parser 
    • MAPO (Liang et al., 2018)는 약하게 감독되는 시맨틱 파싱을위한 강력한 시스템입니다.
    • 쿼리 탐색을 모델에서 이미 발견 한 보상이 높은 쿼리로 편향하여 REINFORCE 알고리즘의 샘플 효율성을 향상시킵니다.
    • MAPO는 단일 테이블에 대한 구성 질문에 대답하도록 맞춤화 된 도메인 별 쿼리 언어를 사용하며, 그 발화 및 열 표현은 TABERT 모델로 대체 한 LSTM 인코더에서 파생됩니다. MAPO 및 우리의 적응에 대한 자세한 내용은 부록 § B.2를 참조하십시오.

5 Experiments (번역)

  • In this section we evaluate TABERT on downstream tasks of semantic parsing to DB tables.
  • Pretraining Configuration 
    • 우리는 각각 BERTBase 및 BERTLarge의 케이스가없는 버전으로 초기화 된 기본 Transformer 모델을 사용하여 TABERTBase 및 TABERTLarge의 두 가지 변형 모델을 학습합니다.
    • 사전 학습 중에 각 테이블 및 코퍼스의 관련 NL 컨텍스트에 대해 일련의 (1) 문장의 context window을 최대 128 토큰들로 슬라이딩을하고 (2) window안의 NL 토큰들을 발화로써 사용하고, 이를 content snapshots인 테이블로부터 랜덤 샘플링된 rows와 쌍을 짓는다.
    • TABERT는 분산 교육을 사용하여 PyTorch에서 구현됩니다. 사전 훈련에 대한 자세한 내용은 부록 § A.2를 참조하십시오.
  • Comparing Models
    • 우리는 주로 콘텐츠 스냅 샷 K의 크기를 변경하여 두 가지 TABERT 변형에 대한 결과를 제시합니다. 
    • TABERT (K = 3)는 입력 테이블의 3 개 행을 콘텐츠 스냅 샷과 3 개의 수직 자기주의 레이어로 사용합니다. 
    • TABERT (K = 1)은 § 3.1에 설명 된대로 합성 적으로 생성 된 하나의 행을 콘텐츠 스냅 샷으로 사용합니다. 
    • 이 모델에는 다중 행 입력이 없기 때문에 추가 수직주의 계층 (및 셀 값 복구 학습 목표)을 사용하지 않습니다. 
    • 열 표현 cj는 열 이름에 해당하는 Transformer의 출력 인코딩에 대한 mean-pooling으로 정의됩니다 (예 : 그림 1의 Year 열에 대한 표현은 Eq. (1)의 Year 토큰의 벡터에서 파생 됨). 
    • 이 전략은 셀 표현 sj를 cj로 사용하는 것보다 더 나은 결과를 제공합니다. 
    • 또한 TABERT (K = 1)와 동일한 행 선형화 및 콘텐츠 스냅 샷 접근 방식을 사용하는 BERT와 비교하여 테이블 형식 말뭉치에 대한 사전 학습없이 TABERT (K = 1) 모델로 축소합니다. 
  • Evaluation Metrics 
    • As standard, we report execution accuracy on WIKITABLEQUESTIONS and exact-match accuracy of DB queries on SPIDER.

5.1 Main Results


6 Related Works 

  • Semantic Parsing over Tables
  • Knowledge-enhanced Pretraining
    • 최근의 사전 훈련 모델은 KB의 엔티티 및 관계의 벡터 표현을 LM의 단어 표현으로 융합하여 지식 기반 (KB) 또는 기타 구조화 된 의미 주석의 구조화 된 정보를 상황 별 단어 표현에 통합했습니다 (Peters et al., 2019; Zhang et al. al., 2019b, c) 또는 LM이 텍스트에서 KB 엔티티 및 관계를 복구하도록 장려합니다 (Sun et al., 2019; Liu et al., 2019a). TABERT는 구조화 된 데이터 (즉, 테이블)로 LM을 노출하는 동시에 텍스트 및 구조화 된 테이블 형식 데이터 모두에 대한 공동 표현을 학습하는 것을 목표로한다는 점에서이 라인과 광범위하게 관련됩니다.
    • 최근 pretraining models은 knowledge bases (KBs)로부터 sturcutre information을 통합하거나 
    • structured semantic annotations을 training contextual word represetations으로 통합하거나
    • LM이 text의 KB entities와 relations을 복구하도록 장려하거나 KB의 entites와 relations의 vector represetations을 LMs의 word representations으로 융합한다.
    • TABERT는 structured data (즉, 테이블)로 LM을 노출하는 동시에 텍스트 및 구조화 된 테이블 형식 데이터 모두에 대한 공동 표현을 학습하는 것을 목표로한다는 점에서 이 흐름과 광범위하게 관련됩니다.

7 Conclusion and Future Work

  • 우리는 TABERT을 소개하고, 이는 textual와 tabular data을 같이 이해하는 pretrained encoder이다.
  • 우리는 일반적인 목적인 feature representation layer로써 TABERT을 사용한 semantic parsers가 2개의 벤치마크에서 강력한 결과를 보여줌을 보여준다.
  • 이 연구는 여러 미래 연구에대해 열려있다.
  • 첫 째로, 우리는 TABERT을 table-to-text 생성과 같은 textual and tabular data을 같이 추론하는 다른 관련있는 테스크들에 대해 평가해볼 것이다.
  • 두 번째로, 5에서 디스커션했듯이, 우리는 Transformers로 다른 table linearization 전략을 탐구하여 참신한 unsupervised objectives뿐만 아니라 pretraining corpora의 퀄리티를 향상시킬 것이다.
  • 마지막으로, TABERT을 영어로 정의된 structured schemas와 외국어에 해당하는 발화들을 가지는 cross-lingual settings으로 확장시키고, 우리는 더욱 향상된 content snapshots을 생성하는 향상된 semantic similarity metrics에 적용할 것이다.

Reference

댓글