6 분 소요

image

“Annotating Columns with Pre-trained Language Models”(SIGMOD 2022) 논문을 공부하고 핵심 내용을 정리한 리뷰입니다.

관계형 데이터베이스나 웹 테이블의 시맨틱 분석에서 개별 컬럼을 독립적으로 분석하는 방식은 테이블 전체가 품고 있는 공통 맥락(context)을 놓치는 근본적인 한계가 존재한다. DODUO는 테이블 전체를 단일 시퀀스로 직렬화하여 사전 학습된 트랜스포머에 입력하고, 컬럼 타입 예측(Column Type Prediction)과 컬럼 관계 예측(Column Relation Prediction)을 멀티태스크 학습으로 함께 학습하는 프레임워크다.

논문 링크 : DODUO Paper

1. Introduction

테이블 메타데이터 주석 자동화는 컬럼 간 상호작용과 전체 문맥을 얼마나 정밀하게 파악하느냐에 성공 여부가 달려 있다.

컬럼 타입과 컬럼 간 관계 같은 테이블의 메타 정보는 효율적인 데이터 관리와 통합에 필수적이다. 최근에는 데이터의 의미적 가치를 보존하기 위해 시맨틱(semantic) 컬럼 타입과 관계를 식별하는 연구가 활발하다.

  • 시맨틱(semantic)의 의미: 단순 데이터형(int, varchar 등)을 넘어 HTML의 <header>나 XML 기반 시맨틱 마크업처럼 데이터가 실제 세계에서 지니는 의미적 맥락(예: 인구, 도시, 생년월일)을 표현함을 뜻한다. 1
  • 수동 주석의 한계: 인구(population), 도시(city), 출생일(birth_date)과 같은 정보는 테이블의 실제 의미를 이해하는 데 핵심적이지만, 대부분의 웹/엔터프라이즈 테이블에는 이 정보가 명시되어 있지 않으며 사람이 수작업으로 주석을 다는 것은 막대한 비용을 초래한다.
  • 자동 주석화의 필요성: 따라서 테이블의 전체 맥락을 바탕으로 시맨틱 메타 정보를 자동으로 추출하고 할당하는 모델 구축이 필수적이다.

image

위 그림은 컬럼 타입과 컬럼 관계가 명시되지 않은 테이블에서 문맥 정보가 왜 중요한지 직관적으로 보여준다.

상단 테이블의 컬럼 값들을 살펴보면 차례대로 영화 제목, 감독, 프로듀서, 제작 국가로 구성되어 있다. 특히 두 번째 컬럼에 등장하는 George Miller가 세 번째 컬럼에서도 반복 등장하는 점은 두 컬럼이 밀접하게 연관된 인물 도메인임을 시사한다. 모델이 전체 테이블의 문맥(context)을 고려하면 이 테이블의 주제가 ‘영화’임을 인식할 수 있으며, 두 번째와 세 번째 컬럼이 정치인이나 운동선수가 아닌 영화 감독과 프로듀서일 가능성을 정확하게 좁힐 수 있다.

또한 하단 테이블처럼 컬럼 타입과 컬럼 관계는 상호 보완적이다. 특정 컬럼이 person이고 인접 컬럼이 location이라는 타입 정보가 확보되면, 두 컬럼 사이의 관계가 place_of_birth일 확률이 매우 높아진다.

맥락 없는 개별 컬럼 분석은 모호성을 부르고, 타입과 관계 정보의 결합은 상호 추론의 정확도를 높인다.

image

컬럼 타입 예측과 컬럼 관계 예측의 시너지를 활용하기 위해 DODUO는 다음 네 가지 핵심 기제를 결합한다:

  1. 컬럼 관계 학습: 컬럼 간 의미적 상호작용을 포착한다.
  2. 테이블 문맥 통합: 테이블 전체를 아우르는 전역 컨텍스트를 인코딩한다.
  3. 컬럼 주석 처리: 컬럼 단위의 시맨틱 타입을 정밀하게 분류한다.
  4. 지식 공유: 두 태스크(task) 간의 지식을 멀티태스크 구조로 공유한다.

위 그림은 DODUO의 전체 모델 아키텍처를 보여준다. DODUO는 테이블 내 여러 컬럼을 직렬화(serialization)하여 단일 입력으로 주입한 뒤, 컬럼 타입과 컬럼 관계를 동시에 예측한다. 각 컬럼의 시작 부분에 [CLS] 토큰을 삽입하고 해당 임베딩을 컬럼 전용 표현(representation)으로 활용한다. 컬럼 타입 예측에는 각 컬럼의 [CLS] 벡터를 사용하고, 컬럼 관계 예측에는 컬럼 쌍의 [CLS] 벡터들을 결합하여 최종 분류 레이어로 전달한다.

이제 이러한 설계를 뒷받침하는 수학적 문제 정의와 배경 기술을 살펴본다.

2. Background

DODUO는 정형 테이블의 비정형 토큰 시퀀스 변환과 트랜스포머 기반 멀티태스크 학습을 토대로 구축되었다.

2.1 Problem Formulation

image

테이블 $T$는 $n$개의 컬럼 속성 $T=(c_1,…,c_n)$으로 구성되며, 각 컬럼 $c_i$에는 일련의 데이터 값 $v\in val(T.c_i)$가 저장된다. 각 셀 값 $v$를 문자열로 간주하고 입력 토큰 시퀀스 $v=[w_1,…,w_k]$로 분할한다. 본 논문이 해결하고자 하는 두 가지 핵심 태스크는 다음과 같이 정형화된다.

  • Problem 1 (컬럼 타입 예측, Column Type Prediction): 테이블 $T$와 그 내부의 특정 컬럼 $c_i$가 주어졌을 때, 사전 정의된 타입 어휘 사전 $C_{type}$을 바탕으로 컬럼 타입 예측 모델 $M$은 $c_i$의 시맨틱을 가장 잘 설명하는 타입 레이블 $M(T,c_i)\in C_{type}$을 예측한다.
  • Problem 2 (컬럼 관계 예측, Column Relation Prediction): 테이블 $T$와 컬럼 쌍 $(c_i,c_j)$가 주어졌을 때, 관계 어휘 사전 $C_{rel}$을 바탕으로 컬럼 관계 예측 모델 $M$은 $c_i$와 $c_j$ 사이의 의미적 관계를 가장 잘 나타내는 관계 레이블 $M(T,c_i,c_j)\in C_{rel}$을 예측한다.

2.2 Pre-trained Language Models

사전 학습 언어 모델은 대규모 텍스트 코퍼스에서 학습한 풍부한 시맨틱 임베딩을 통해 단어의 다의성과 동의어 문제를 자연스럽게 해결한다.

BERT와 같은 대표적인 언어 모델(LM)은 위키피디아 등 대규모 텍스트 말뭉치에서 사전 훈련(pre-trained)된다. 다중 레이어 트랜스포머(transformer) 블록을 통해 정보량이 풍부한 중요 토큰에 더 높은 어텐션 가중치를 부여하고 불용어에는 낮은 가중치를 할당한다. 사전 학습 과정에서 모델은 마스크드 언어 모델링(MLM) 및 다음 문장 예측(NSP) 같은 자기지도(self-supervised) 태스크를 수행한다.

이를 통해 토큰 간 의미적 상관관계를 학습하여 유사한 문맥의 토큰들을 인접한 벡터 공간에 투영할 수 있으며, 정형 데이터 처리에 다음과 같은 강점을 제공한다:

  • 다의성(Polysemy) 식별: 주변 문맥에 따라 동일한 단어가 서로 다른 의미를 가질 때 이를 구별한다.
  • 동의어(Synonym) 강건성: 표현 형태는 다르지만 동일한 대상을 지칭하는 어휘들을 유사한 표현 공간으로 통합한다.

2.3 Multi-task learning

image 이미지 출처2

멀티태스크 러닝(multi-task learning)은 단일 모델을 활용해 서로 연관된 여러 태스크를 동시에 최적화하는 학습 패러다임이다. 2

공통 백본 모델을 공유함으로써 태스크 간에 학습된 지식을 상호 교환할 수 있어 각 태스크의 표현 품질이 함께 향상된다. 특히 일부 태스크의 레이블링 데이터가 부족한 환경에서 다른 태스크의 감독 신호가 학습을 안정화하고 일반화 성능을 높이는 데 도움이 된다. DODUO는 트랜스포머 파라미터를 완전히 공유하는 하드 파라미터 공유(hard parameter sharing) 방식을 채택하여 연산 효율과 메모리 효율을 동시에 달성한다.

이러한 이론적 기초를 바탕으로 DODUO가 테이블 직렬화와 컨텍스트 표현을 어떻게 구현했는지 살펴본다.

3. Model

DODUO는 개별 컬럼을 독립 처리하던 기존 한계를 극복하고 테이블 전체를 단일 트랜스포머 공간에 올려 상호 어텐션을 수행한다.

3.1 Single-column Model

기존의 단일 컬럼 기반 베이스라인은 테이블의 전역 구조를 반영하지 못하는 구조적 한계를 안고 있다.

언어 모델(LM)은 1차원 토큰 시퀀스를 입력으로 취하므로 테이블 데이터를 선형 토큰 시퀀스로 변환하는 직렬화 과정이 선행되어야 한다. 컬럼 $C$가 컬럼 값 시퀀스 $v_1,…,v_m$을 포함할 때, 단일 컬럼 모델의 직렬화 형식은 다음과 같다:

\[serialize_{single}(C) ::== [CLS]\ v_1...v_m\ [SEP]\]

이 변환을 거치면 컬럼 타입 예측은 표준 시퀀스 분류(sequence classification) 태스크로 환원되므로 사전 학습된 BERT를 미세조정(fine-tune)하기 용이하다.

컬럼 관계 예측 역시 두 컬럼을 토큰 시퀀스로 직렬화하여 분류 문제로 변환할 수 있다. 사전 학습 LM이 두 컬럼의 경계를 구분할 수 있도록 컬럼 값 사이에 [SEP] 토큰을 삽입한다. 두 컬럼 $C=v_1,…,v_m$과 $C’=v_1’,…,v_m’$이 주어졌을 때의 직렬화는 다음과 같다:

\[serialize_{single}(C,C') ::== [CLS]\ v_1...v_m\ [SEP]\ v_1'...v_m'\ [SEP]\]

그러나 이러한 싱글 컬럼 방식은 동일 테이블 내의 다른 컬럼들을 완전히 배제한 채 독립적으로 예측을 수행하므로, 테이블 수준의 전역 컨텍스트를 전혀 반영하지 못한다.

3.2 Table Serialization

DODUO는 테이블의 모든 컬럼을 하나로 엮는 멀티 컬럼 직렬화 기법을 도입하여 테이블 전역 맥락을 모델에 직접 공급한다.

DODUO는 단일 컬럼 모델과 달리 전체 테이블을 단일 입력으로 취하는 멀티 컬럼(table-wise) 아키텍처다. 테이블의 데이터 셀들을 다음과 같은 규칙으로 직렬화한다:

  • 각 테이블은 $n$개의 컬럼 $T=(c_i){i=1}^n$을 가지며, 각 컬럼은 $m$개의 컬럼 값 $c_i=(v_j^i){j=1}^m$을 갖는다.
  • 전체 테이블 직렬화 형식:
\[serialize(T) ::== [CLS]\ v_1^1...[CLS]\ v_1^n...v_m^n\ [SEP]\]

앞서 섹션 1에서 다룬 영화 예시 테이블에 적용하면 다음과 같은 시퀀스가 생성된다:

[CLS]Happy Feet,...[CLS] George Miller,... [CLS]USA,..., France[SEP]

입력 전체에 단 하나의 [CLS]만 존재하는 싱글 컬럼 모델과 달리, DODUO의 직렬화 방식은 테이블 내 컬럼 개수만큼의 [CLS] 토큰을 각 컬럼의 선두에 삽입한다. 트랜스포머 인코더를 통과한 후 각 [CLS] 토큰에 대응하는 출력 벡터로부터 해당 컬럼의 레이블을 병렬로 예측한다.

DODUO의 전체 학습 파이프라인은 데이터셋의 모든 테이블을 직렬화하고 토큰화하는 전처리로부터 시작된다 (알고리즘 1의 3~4 라인).

image

3.3 Contextualized Column Representations

트랜스포머의 셀프 어텐션 메커니즘을 통해 테이블 내 서로 다른 컬럼에 속한 토큰들이 상호작용하며 문맥화된 컬럼 임베딩을 생성한다.

image

위 그림은 DODUO의 트랜스포머 블록이 동일 테이블 내 모든 컬럼 값의 맥락 정보를 집계(aggregate)하는 과정을 보여준다.

첫 번째 트랜스포머 레이어는 두 번째 컬럼의 [CLS] 토큰을 기준으로 다른 토큰 임베딩과의 유사도를 계산하여 어텐션(attention) 벡터를 도출한다. 따라서 동일한 값의 셀이라 하더라도 어떤 테이블, 어떤 컬럼 조합과 함께 배치되었느냐에 따라 생성되는 어텐션 벡터와 문맥화 임베딩이 완전히 달라진다.

토큰들이 초기 토큰 임베딩으로 인코딩된 후, 각 트랜스포머 레이어는 이를 쿼리($Q$), 키($K$), 밸류($V$) 벡터로 변환한다. 개별 토큰의 문맥화 임베딩은 $Q$와 $K$ 간 내적 유사도로 계산된 가중치에 따라 모든 $V$ 벡터들의 가중합으로 계산된다.

또한 다중 어텐션 헤드(Multi-head Attention) 구조를 통해 서로 다른 헤드가 데이터의 다양한 의미적 특성을 상호 보완적으로 포착한다. 각 트랜스포머 블록의 출력은 잔차 연결과 계층 정규화를 거쳐 입력과 동일한 차원으로 유지되므로 다음 트랜스포머 블록으로 연속 전달된다.

  • Column representations (컬럼 표현)
    • DODUO는 테이블 전체를 입력으로 받아 전역 문맥을 완전히 반영한 컬럼 표현(representation)을 도출한다. 3
    • 컬럼 타입 예측을 위해 각 컬럼의 [CLS] 출력 위치에 차원 크기 $\mid C_{type}\mid$의 출력 레이어 및 완전연결(dense) 레이어를 결합한다.
  • Column-pair representations (컬럼 쌍 표현)
    • 컬럼 관계 예측을 위해 두 컬럼의 문맥화된 표현 벡터를 하나로 연결(concatenation)하여 컬럼 쌍 표현을 구성한다.
    • 별도의 완전연결 레이어가 두 컬럼 표현 간의 조합적 상호작용 정보를 학습한다.
    • 구체적인 수식 정의는 다음과 같다. 테이블 $T$가 주어졌을 때 언어 모델은 $p$개 토큰의 직렬화 시퀀스 $serialize(T)={t_1,…,t_p}$를 입력받아, 각 토큰 $i$에 대한 $d$차원 문맥화 임베딩 시퀀스 $LM(T)$를 출력한다.
    • $g_{type}$이 $d \times \mid C_{type}\mid$ 차원의 컬럼 타입 예측 밀도 레이어일 때, $j$번째 컬럼의 예측 타입 분포는 다음과 같이 계산된다:
\[softmax(g_{type}(LM(T)_{i_j}))\]
  • 유사하게 $2d \times \mid C_{rel}\mid$ 차원의 밀도 레이어 $g_{rel}$이 주어졌을 때, $j$번째 컬럼과 $k$번째 컬럼 사이의 예측 관계 분포는 두 임베딩의 연결 벡터로부터 계산된다:
\[softmax(g_{rel}(LM(T)_{i_j}\oplus LM(T)_{i_k}))\]
  • 여기서 $\oplus$ 기호는 두 벡터의 연결(concatenation) 연산을 나타낸다.
  • 모델은 예측 확률 분포와 실제 정답(ground truth) 레이블 간의 크로스 엔트로피 손실(Cross-entropy Loss)을 계산하여 역전파를 통해 파라미터를 갱신한다 (알고리즘 1의 9~10 라인).

3.4 Learning from Multiple Tasks

두 개의 서로 다른 목적 함수를 번갈아 최적화하며 두 태스크의 표현을 함께 학습한다.

학습 단계에서 DODUO는 컬럼 타입 예측 데이터셋과 컬럼 관계 예측 데이터셋이라는 상이한 지도 신호를 활용해 사전 학습된 언어 모델을 미세조정한다. 알고리즘 1에 기술된 것처럼 매 에폭(epoch)마다 최적화 태스크를 전환(alternating)하며 파라미터를 갱신한다. 이를 통해 한 태스크에 과적합되지 않으면서 두 태스크의 상호 보완적 지식을 단일 트랜스포머 가중치에 내재화한다.

컬럼 분리와 결합의 경계를 넘나들며, 트랜스포머는 테이블 전체를 하나의 유기적 텍스트로 이해한다.

4. 핵심 요약 및 시사점

  • 멀티 컬럼 전체 직렬화: 단일 컬럼별 독립 예측의 한계를 넘어 테이블 전체를 $serialize(T)$ 형태로 입력하여 전역 테이블 맥락(table-wise context)을 반영했다.
  • 다중 [CLS] 토큰 기반 동시 인코딩: 컬럼마다 독립된 [CLS] 토큰을 배치함으로써 단 한 번의 순전파로 테이블 내 모든 컬럼의 문맥화 임베딩을 효율적으로 추출했다.
  • 타입과 관계의 멀티태스크 시너지: 컬럼 타입 예측과 컬럼 관계 예측을 하드 파라미터 공유 기반 멀티태스크 학습으로 엮었다. 멀티태스크 학습을 제거한 Dosolo와 비교했을 때 WikiTable 데이터셋에서 컬럼 타입 micro F1이 92.50 → 91.37, 컬럼 관계가 91.90 → 91.24로 낮아져, 두 태스크의 동시 학습이 성능에 기여했음을 논문은 보고한다.4
  • 엔드투엔드 사전 학습 LM 전이: 테이블 구조 전용의 별도 모듈 없이 BERT-base 미세조정만으로 WikiTable·VizNet 두 벤치마크에서 이전 SOTA(TURL, Sato)를 상회했다. 논문이 보고한 값은 WikiTable 컬럼 타입 micro F1 88.86(TURL) → 92.45, 컬럼 관계 micro F1 90.94(TURL) → 91.72, VizNet 컬럼 타입 macro F1 75.6(Sato) → 84.6이며, 개선 폭은 최대 4.0%(WikiTable 컬럼 타입)·11.9%(VizNet 컬럼 타입 macro F1, 상대)로 요약된다.4

5. 한계와 트레이드오프

논문이 함께 보고한 제약은 다음과 같다.

  • 입력 길이 한계: BERT는 최대 512 토큰까지만 입력받으므로 넓은 테이블은 컬럼당 토큰 수를 잘라 넣어야 한다. 컬럼당 8 토큰이면 최대 56개, 16 토큰이면 30개, 32 토큰이면 15개 컬럼까지만 한 번에 처리할 수 있다(Table 8). 16개 컬럼으로는 웹 테이블 밖의 넓은 테이블을 담기 어려워, 논문은 컬럼을 관련성 높은 클러스터로 나눠 각각에 Doduo를 적용하는 방식을 대안으로 제시한다.
  • 숫자 컬럼에서의 약점: 셀 값을 전부 문자열로 취급하므로 숫자형 컬럼에서 성능이 떨어지는 유형이 있다. VizNet에서 ranking 33.21%, capacity 62.55% F1을 기록했다(Table 5).
  • 레이블 어휘·데이터 의존성: 타입/관계 어휘 $C_{type}$·$C_{rel}$은 응용에 따라 정해지며, 실험에 사용한 WikiTable·VizNet의 학습 레이블은 헤더·엔티티 링크를 타입 이름으로 매핑하는 휴리스틱으로 만들어져 노이즈가 섞일 수 있다.
  • 사전 학습 지식 의존: 셀 값만 입력으로 사용하므로 성능의 일부는 위키피디아 등 텍스트 코퍼스에서 사전 학습된 일반 지식에 의존한다.

References

댓글남기기