TableFormer: Table Structure Understanding with Transformers.

TableFormer는 Transformer를 활용한 테이블 구조 이해 모델로, 이미지에서 HTML 태그와 셀 bounding box를 동시에 예측합니다. 다양한 테이블 스타일과 복잡성을 다루는 SynthTabNet 데이터셋도 함께 제안합니다.
Inc Lomin's avatar
Apr 20, 2022
TableFormer: Table Structure Understanding with Transformers.

Intro

  • 표는 문서에서 글로는 표현하기 어려운, 때때로 중요한 복잡한 정보를 표현하곤 합니다. 하지만 이 컴팩트한 정보의 표현은 기계가 이해하기 어렵습니다.
  • 이 논문에서는 기존 연구의 약점을 보완하여 다음 두 가지 목표를 성취하고자 합니다.
    • 알고리즘은 language agnostic 해야 합니다.
    • PDF 문서로부터 최대한의 데이터를 학습에 사용해야 합니다.
  • 이를 위해 본 연구에서는 1) 테이블 셀과 구조를 예측하는 TableFormer 모델과 2) 합성으로 만들어진 SynthTabNet을 제안합니다.
 
notion image
notion image
 

Previous Works

  • Image-to-Text networks: 이러한 유형의 모델은 이미지를 인코딩하여 토큰 시퀀스를 예측(디코딩)합니다. 토큰 시퀀스는 표현 방법에 따라 HTML 또는 LaTeX 코드가 될 수 있습니다. 여기에도 두 가지 방법이 있는데, 하나는 디코더가 즉시 HTML/LaTeX 코드를 예측하는 “image-encoder → text decoder (IETD)” 방식이고 나머지 하나는 첫 번째 디코더가 표의 구조 태그만을 예측한 뒤 두 번째 디코더가 이미지 인코딩 및 첫 번째 디코더가 예측한 태그를 사용하여 컨텐츠를 예측하는 “image-encoder → dual decoder (IEDD)” 방식입니다. 두 방식 모두 일반적으로 커스텀 OCR 모델을 필요로 하는 문제가 있습니다.
  • Graph Neural Networks: GNN 방식은 완전히 다른 접근법을 사용합니다. 처음에 GNN은 각 text-cell을 노드로 하는 initial graph를 구성합니다. 각각의 노드는 이미지 인코딩, 박스 좌표, 텍스트 인코딩을 가지게 되며 인접한 노드와 링크됩니다. GCN의 목적은 input graph를 table structure를 표현하는 새로운 그래프로 만들기 위해 링크를 재설정하는 것입니다.
  • Hybrid Deep Learning-Rule-Based approach: 현재 SOTA 방식으로, 테이블 셀을 먼저 object detection 알고리즘으로 검출한 뒤 테이블 구조를 추출하기 위해 규칙 셋을 사용합니다. 물론 이러한 방식은 새로운 테이블 구조에 대해 새로운 규칙이 필요한 단점이 있습니다.
 

Method

  1. Datasets
    1. 기존 데이터셋 중 PubTabNet, FinTabNet, TableBank를 사용했습니다. 이 데이터셋들은 모두 형식이 조금씩 달랐기 때문에, 가장 규모가 큰 PubTabNet을 기준으로 통일하여 homogenized 데이터셋을 만드는 과정이 필요했습니다.
      1. notion image
        본 논문의 알고리즘은 셀의 bounding box가 필요한데, 어떤 데이터셋은 bounding box가 아예 없거나 empty cell에서 없었기 때문에 없는 것을 만드는 pre-processing을 수행했습니다.
        notion image
        위 분포에서 보는 것과 같이, PubTabNet과 FinTabNet은 크기가 작은 테이블에 매우 편향되어있고 테이블의 스타일의 다양성도 부족했습니다.
         
    2. 이에 따라 본 논문에서는 다음 네 가지를 컨트롤 할 수 있는 합성 데이터셋인 SynthTabNet을 제안합니다.
      1. 데이터셋의 크기
      2. 테이블 구조
      3. 테이블 스타일
      4. 컨텐츠의 종류
      5. 각각 150k 개의 샘플을 포함하는 총 4개의 합성 데이터셋을 준비했습니다. 합성에 사용하는 텍스트로 PubTabNet, FinTabNet 데이터셋에 자주 등장하는 텍스트와 생성된 텍스트를 모두 사용했습니다. 1~2 번째 데이터셋은 기존 데이터셋의 생김새를 모사하면서 더 복잡한 테이블을 표현했습니다. 3번째 데이터셋은 고대비 컬러를 사용하였고 마지막 데이터셋은 sparse content를 가지도록 했습니다.
         
  1. The TableFormer Model
    1. TableFormer는 이미지로부터 1) 테이블의 구조를 표현하는 토큰 시퀀스 2) 토큰 subset에 해당하는 bounding box를 예측합니다.
      notion image
      • 첫 번째 모듈 - CNN Backbone Network
        • ResNet-18 CNN, w/o linear & pooling
        • 32x32 사이즈로 인코딩된 이미지가 Structure Decoder, Cell Bbox Decoder로 들어감
      • 두 번째 모듈 - Structure Decoder
        • Transformer 구조 차용 - 2 encoder layers, 4 decoder layers (실험으로 찾은 듯)
          • 레이어가 다른 Task의 모델에 비해 적을 수 있는 것은 테이블 이미지의 단순성 때문.
        • 학습 동안 decoder는 encoder의 feature에 더하여 토큰화 된 HTML 태그 GT를 입력으로 받음.
      • 세 번째 모듈 - Cell BBox Decoder
        • End-to-end로 각 테이블 셀에 대한 HTML 태그와 bounding box를 동시에 예측
          • DETR과 유사. ‘<td>’, ‘<’ 의 hidden state가 object query 역할.
        • CNN backbone과 Transformer Decoder의 feature가 모두 Attention Network (아래 그림 참조)에 들어감
        • 출력은 각 테이블 셀의 bounding box의 normalized 좌표
        • Empty cell인지 아닌지 분류
      notion image
      • Loss Function
        • Multi-task learning
          1. Structure Decoder
            1. Structure token 분류 - CE loss
          1. Cell BBox Decoder
            1. l1 loss + iou loss
       

Experiment

  • Metrics: TEDS
    • notion image
 
notion image
notion image
Share article