본문 바로가기
ETC

🎓 졸업과제 - TAble PArSing (TAPAS)

by HaningYa 2020. 7. 28.
728x90
 

google-research/tapas

End-to-end neural table-text understanding models. - google-research/tapas

github.com

 


 

위키피디아의 HTML 문서에서 <Table> 형식의 태그만 뽑아내 
해당 테이블에 대한 질의응답을 처리하는 것이 목표이다.

원래는 BERT 와 Memory Network 를 통해 QA 를 하려 헀으나 TAPAS 라는 모델이 나와서 이걸 쓰기로 했다.

 

TAPAS

Weakly Supervised Table Parsing via Pre-Training
테이블에 대해 logical form 없이 질의응답을 처리할 수 있는 모델

TAPAS 정답 타입

예시 테이블

 

  • Cell Selection: 정답이 Cell 안에 그대로 있는 부분
  • Scalar answer: 정답이 테이블 안에 없고 계산을 통해 정답을 도출
  • Ambigous Answer: 정답이 숫자이고 테이블 안에 있는 데이터인데 동일한 값이 있는 경우
    예시)3번의 경우 Dory Funk Jr. Gene Kiniski 2이지만 Dan SevernNo. of reigns 2가 있어 같은 2라도 하나는 맞고 하나는 틀린 경우

TAPAS 모델 처리 과정

  1. Table Question input 으로 받는다.
  2. Mode 선택한다. (Cell Selection or Compute)
  3. Cell Selection 일 경우 cell select 하는 component 만 있다.
  4. Compute 의 경우 어떤 걸 계산할지 하는 부분이 추가된다.

  • 자연어로 질문이 입력된다.
  • 모델은 Aggregation Prediction을 통해 compute 일지 cell selection 일지를 결정한다.
  • 모델은 Cell Selection 을 통해 테이블에서 cell 을 선택한다.

TAPAS - Input Token

input token

  1. 입력을 Token 으로 전부 split 한다.
  2. query 문자로 받아 tokenize 한다. 테이블 또한 Tokenize 한다.(첫번째 줄)
     - 테이블 데이터가 하나의 String 으로 표현된다. [SEP] ~ 끝까지
  3. Position Embedding: 단순히 0, 1, 2, 3.. 의 순서이다.
  4. Segment Embedding: 토큰이 어디 소속되있는지 표시한다.
    SEG0 일 경우 쿼리, SEG1 일 경우 테이블 데이터 이다.
  5. Column Embedding, Row Embedding: (새롭게 도입된것) 모델에게 테이블이 어떻게 생겼는지 보여준다.
  6. Rank Embedding: 모델에게 cell 마다 ranking 을 주어 빠른 시간안에 Top, Worst, Best, Highest 와 같은 질문을 처리하게 해준다.

BERT 와 비교

BERT Token

BERT와 TAPAS 의 차이점은 Input Token 이다.

TAPAS의 경우 특수하게 Table data 에 대해 QA 를 처리할 수 있는 모델이다 보니 Table 에 대한 token 이 추가되어있다.

  • Row Embedding
  • Column Embedding
  • Rank Embedding

 

 

 

 


 

728x90

댓글