Contents
배경 지식태스크벤치마크 데이터셋Key Information Extraction 파이프라인기존 방식 BROSBROS의 챌린지기여관련 연구Pre-Trained Language Models For 2D Text BlocksParsers For Documents Key Information ExtractionBERT Relying On Spatiality(BROS)Encoding Spatial Information into BERT수식Area-Masked Language ModelKey Information Extraction Tasks실험 세팅실험 결과With The Order Information Of Text BlocksWithout The Order Information Of Text BlocksLearning From Few Training Examples결론배경 지식
저자
- NAVER CLOVA, KAIST, LBox Corp., Upstage AI Research
날짜
- arXiv: 2021/09/10
태스크
Key Information Extraction 태스크에는 여러 서브 태스크가 있습니다.
- Entity Extraction(EE)
- 그림 (a)에서 보이는 것처럼 텍스트 블록의 클래스를 식별하는 것
- Entity Linking(EL)
- 그림 (b)에서 보이는 것처럼 핵심 엔터티를 계층적 혹은 의미적 관계를 통해 연결하는 것
현재 Document Understanding 팀은 이와 같은 맥락의 Token Classification 태스크를 진행 중입니다.
벤치마크 데이터셋
FUNSD
대표 태스크
- 텍스트 감지
- 바운딩 박스 위치 및 텍스트 레이블
- 공간 레이아웃 분석
- 텍스트 블록 간 관계성
- 형식 이해
- 문서 유형 분석
Document Understanding 태스크의 대표적인 벤치마크 데이터셋
199개의 스캔된 문서 이미지로 구성
표본 수가 매우 적음
SROIE
대표 태스크
- 텍스트 감지
- KIE
1000개의 스캔된 영수증 이미지로 구성
CORD
대표 태스크
- 텍스트 감지
- KIE
네이버 클로바가 도입한 데이터셋
1000개의 스캔된 영수증 이미지로 구성
SciTSR
대표 태스크
- 테이블 구조 인식
복잡한 테이블 구조에 대한 데이터셋
15,000개의 PDF 형식의 테이블 & 15,000개의 LaTex 소스 파일
Key Information Extraction 파이프라인
Key Information Extraction(KIE)은 문서 이미지를 이해하는 태스크로, 위 그림과 같이 문서 KIE 작업이 진행됩니다.
1) 문서 이미지가 주어지면, OCR이 이미지 속 텍스트를 감지하여 텍스트 블록을 생성합니다.
2) Serializer가 2차원 이미지 공간안에서 분포된 텍스트 블록의 읽는 순서를 식별합니다. 식별된 읽는 순서를 1차원 텍스트 공간의 텍스트 시퀀스로 변환하여 NLP 기술을 적용합니다. 가장 일반적인 Serializer는 Top-To-Bottom 그리고 Left-To-Right 방식으로 텍스트 블록을 배열합니다.
3) 텍스트 블록들의 리스트에 기반해 Parsing Model로 Key Information을 추출합니다.
기존 방식
산업 문서들은 Scene Text 이미지보다 상대적으로 깨끗한 문자들로 구성되어있어 기성 OCR이 종종 사용됩니다. 하지만 텍스트 블록의 제대로된 읽는 순서를 결정하는 것이 Non-Trivial함에도 Serializer는 기성품이 없습니다.
즉, OCR → Parsing Model(DU 팀)로 진행됩니다. 따라서 미완성의 읽는 순서를 가진 복잡한 레이아웃 문서를 Robustly 다루기 위해 Parsing Module을 조심히 디자인해야합니다.
2차원 공간의 텍스트를 1차원 공간의 텍스트 시퀀스로 변환하면 KIE 태스크에서 중요한 레이아웃 정보(위치 정보 및 텍스트 블록간 관계)는 손실됩니다.
레이아웃 정보를 잃는 것을 방지하기 위해 마이크로소프트의 LayoutLM이라는 언어모델은 BERT의 1차원 포지션 인코딩을 2차원으로 확장시켰고, 대규모의 산업 문서 말뭉치로 학습시켜 텍스트 블록간 공간 의존성을 이해하려했습니다.
그 결과 LayoutLM의 Fine-Tuning은 KIE 태스크에서 뛰어난 성능을 보여 베이스라인으로 자리잡았습니다. 하지만 시각적 특성을 활용한 확장은 추가적인 연산 비용이 들고, 텍스트와 공간 정보의 효과적인 결합을 더 많이 필요로 합니다.
BROS
본 논문은 BROS라는 새로운 사전 학습된 언어모델을 제안하며, 텍스트와 텍스트의 공간 정보를 시각정보에 의존하지 않으면서 결합하는 방법에 초점을 맞췄습니다.
기존 논문들은 텍스트 블록의 절대적 포지션을 사용하지만, 본 논문은 텍스트 블록간 (1) 상대적 포지션을 활용하여 효과적인 공간 인코딩 방법을 소개합니다. 또한 (2) Area-Masked 언어 모델이라는 새로운 Self-Supervision 방법을 도입하는데, 이는 문서의 한 지역 안에 있는 텍스트를 숨기고, 마스크 처리된 텍스트를 지도(Supervise)하는 방식입니다.
(1) 상대적 포지션 활용과 (2) Area-Masked 방법이 추가적인 시각 특성을 사용하는 기존 연구들보다 더 좋은 성능을 내게 합니다.
BROS의 챌린지
BROS는 KIE 태스크에서 또 다른 2가지 어려운 문제를 처리합니다: (1) 텍스트 블록의 순서에 대한 의존성을 최소화하는 것, 그리고 (2) 적은 다운스트림 태스트의 훈련 표본으로 학습시키는 것.
첫번째 챌린지는 Serialization의 Robustness를 가리킵니다. 현실에서, 문서 이미지는 회전되었거나, 왜곡되어있어 Irregular하기 때문에 Serializer가 텍스트 블록의 올바른 순서를 식별하지 못할 수 있습니다. Serialization이 실패하면 시퀀스 태깅 방법의 성능은 극적으로 떨어집니다.
이런 어려움을 우회하기 위해, BROS는 NAVER CLOVA의 SPADE 모델의 디코더를 적용합니다. 순서 정보가 없는 핵심 텍스트 블록을 추출하는 SPADE 디코더를 사전학습된 모델에 적용하고 모델들을 평가합니다. 그 결과 BROS는 LayoutLM, LayoutLMv2보다 더 나은 Robustness를 보입니다.
두번째 챌린지는 Target Key Contents를 이해하는데 필요한 레이블 된 표본 수와 관련있습니다. 단일 KIE 표본은 수 백개의 텍스트 블록으로 구성되어, 어노테이션이 굉장히 비쌉니다. Target 문서가 수 백개의 레이아웃과 다양한 문맥을 가지고 있음에도, 대부분의 퍼블릭 벤치마크는 1000개 이하의 표본으로 구성되어있습니다.
위 테이블은 학습 표본 5장과 10장으로 태스크를 진행한 결과입니다. 이처럼 본 연구는 학습 표본의 수에 대한 KIE 성능을 분석하고, 사전 학습된 모델들과 비교합니다. 그 결과, FUNSD KIE 태스크에서 더 나은 성능을 보이며, FUNSD의 20~30%만 사용해서 FUNSD를 100% 사용한 LayoutLM보다 더 뛰어난 성능을 보입니다.
기여
본 연구의 기여를 요약하면 다음과 같습니다.
- 텍스트 블록의 상대적인 포지션을 설명함으로써 효과적인 공간 레이아웃 인코딩 방법을 제안합니다.
- 텍스트 블록의 2차원 특성을 반영하는 새로운 Area-Masking Self-Supervision을 제안합니다.
- 시각적 특성에 의존하지 않고 SOTA를 달성합니다.
- 텍스트 블록의 순서를 잃은 Permuted KIE 데이터셋에 대한 기존 사전 모델들을 비교합니다.
- 데이터가 적은 환경에서, 다양한 사전학습 모델들의 Fine-Tuning 효율성을 비교합니다.
관련 연구
Pre-Trained Language Models For 2D Text Blocks
관습적인 NLP 태스크에서 BERT와 같은 사전학습 모델과 달리, LayoutLM은 텍스트와 레이아웃 정보간 상호작용을 공동으로 모델링한 연구입니다. LayoutLM은 축별 임베딩 테이블을 통해 텍스트 블록의 절대 위치를 인코딩합니다. 그리고 토큰 레벨의 마스크 처리된 언어모델을 학습하며, 이 언어모델은 토큰을 랜덤하게 숨기고, 원본을 예측합니다.
LayoutLM 이후 원본 이미지의 시각 Feature Map과 같은 시각 특성들을 병합하려는 시도가 있었습니다. 성능적 이점은 있었지만 추가적인 연산 비용이 들게 되었고, 여전히 효과적인 텍스트와 레이아웃의 결합이 필요했습니다.
시각 특성과 합동하는 것 외에 StructuralLM은 정렬된 텍스트 블록 그룹인 Cell 정보를 활용합니다. 그리고 성공적인 성능 개선을 이루었습니다. 하지만, KIE 태스크와 OCR 엔진에 따라서 텍스트 블록의 로컬 순서는 사용할 수 없을 수 있습니다. 따라서 본 논문은 OCR 엔진에 의해 확인된 텍스트 블록의 세분성에 초점을 두고, 효과적인 공간 인코딩 방법과 Area-Based 사전학습 전략으로 특스트와 레이아웃을 결합하는 것을 개선합니다.
Parsers For Documents Key Information Extraction
텍스트 시퀀스에서 엔터티 추출을 위한 대표적인 파서인 BIO Tagger는 시작(B) 지점과 내부(I) 지점으로 범위를 식별하여 주요 정보를 추출합니다. BIO Tagger는 관습적 방법으로 사용되었지만 KIE에 적용하기에는 2가지 제한이 있습니다.
(1) 각 분류된 토큰 클래스를 후처리 할 때, Key Information을 추출하는 것은 올바른 텍스트 블록 순서가 필요합니다. 예를 들어 "Recognition, Optical, Character"는 올바른 정답을 만들 수 없습니다.
(2) BIO Tagger는 토큰 레벨 분류를 하기 때문에 토큰간 관계를 필요로하는 문제를 풀 수 없습니다.
이 두 문제를 풀기 위해, SPADE 디코더라는 그래프 기반 Parser를 사용합니다. SPADE는 토큰의 유향 그래프(Relation-Serialization & Relation-Group)를 생성하여 KIE 태스크에서 Key Entity와 Entity 간 관계를 표현합니다. 예를 들어 SPADE는 'Optical'을 시작 단어로 결정할 수 있고, 'Recognition'을 다음 단어로 결정할 수 있습니다.
토큰 간의 관계를 직접 식별함으로써 SPADE는 텍스트 블록의 순서에 관계없이 KIE 작업의 모든 주요 정보에 대한 설명을 가능하게 합니다.
본 논문에서는 KIE 벤치마크의 엔터티 링크 작업(EL Task)과 텍스트 블록의 완전 순서 정보가 손실된 모든 작업에 SPADE 디코더를 적용합니다.
BERT Relying On Spatiality(BROS)
BROS의 핵심 구조는 LayoutLM을 따르지만, 2가지 중요한 진보가 있습니다.
(1) 텍스트 블록 간 공간 관계를 설명하는 공간 인코딩 메트릭을 사용한 것.
(2) 2차원 공간의 텍스트 블록을 위해 디자인 된 2차원 사전 학습 목표를 사용한 것.
Encoding Spatial Information into BERT
텍스트 블록의 공간 정보를 인코딩 하는 방법이 텍스트 블록 스스로가 공간 관계를 인지하는 방법을 결정합니다.
LayoutLM은 단순히 각 텍스트 블록의 x축과 y축의 절대값 좌표를 인코딩하지만 이러한 특정 위치 인코딩은 텍스트 블록의 사소한 좌표 변화에 Robust하지 않습니다.
BROS는 텍스트 블록 간 상대 좌표를 채용하여 명시적으로 공간적 관계를 인코딩합니다.
위의 그림에서 보이다시피, 상대적 위치는 텍스트 블록의 절대 좌표에 관계없이, 텍스트 블록간 공간적 관계의 공동 양식(Co-Modality of Spatial Relations)을 제공합니다. 이 특성이 모델이 비슷한 Key-Value 구조를 가진 엔터티를 잘 인식하도록 돕습니다.
수식
라는 표기로 2차원 공간의 한 좌표를 나타내며, 텍스트 블록의 바운딩 박스는 4가지 정점 로 구성되며 각각은 Top-Left, Top-Right, Bottom-Right, Bottom-Left를 가리킵니다.
BROS는 먼저 모든 텍스트 블록의 2차원 좌표를 이미지의 크기로 정규화합니다. 그 후, 다른 텍스트 블록의 바운딩 박스의 같은 정점들로부터 정점들의 상대적인 위치를 계산합니다. 그리고 사인 함수를 다음과 같이 적용합니다.
여기서 는 사인 함수, 는 사인 임베딩의 차원, ';'은 Concatenation을 가리킵니다.
계산을 통해, 바운딩 박스에 기반한 바운딩 박스의 상대 좌표는 4개의 벡터 로 표기됩니다.
선형 변환을 적용하여 4개의 상대 좌표를 결합하면 다음과 같습니다.
여기서 는 선형 변환 행렬이며, H는 BERT의 Hidden 크기, A는 Self-Attetion의 갯수입니다.
상대 좌표 벡터 를 식별하는 작업에서 조심스럽게 2가지 요소를 적용합니다: 사인 함수 , 어텐션 모듈의 다수 헤드에 공유된 임베딩들.
먼저, 실수 공간을 유한 수의 그리드로 나누는 그리드 임베딩을 사용하는 것보다 사인 함수가 더 자연스럽게 Continuous Distances를 인코딩 할 수 있습니다.
트랜스포머의 멀티 헤드 어텐션 모듈은 같은 상대 좌표 임베딩을 공유하여 다수의 헤드에 의해 식별된 다수의 Semantic Features에 텍스트 블록간 공통적인 공간적 관계를 부과합니다.
BROS는 공간적 관계를 텍스트 블록의 문맥화를 통해 직접 인코딩합니다. 구체적으로, Sematic과 Spatial Features를 결합하는 어텐션 로짓은 다음과 같이 계산합니다.
여기서 와 는 i번째와 j번째 토큰에 대한 문맥 특성이며, 는 h번째 헤드의 선형 변환행렬입니다.
전자는 트랜스포머의 오리지널 어텐션 메커니즘과 동일하며, 후자는 Source 문맥과 정보가 주어졌을 때 Target 텍스트 블록의 상대적 공간 정보를 고려하는 Dai에 의해 영감받았습니다.
위 그림의 LayoutLM과 같이, 특정 축에 대한 텍스트 블록의 좌표 차이를 어텐션 편향으로 활용하는 Xu의 공간 인식 어텐션과 비교하여, 2가지 큰 차이가 있습니다.
(1) 본 논문의 방식은 토큰의 Semantic 정보를 가지고 있는 상대적 임베딩을 묶어 텍스트와 그 공간 관계 간 결합을 더 잘하게 합니다(Latter Term).
(2) 2개의 텍스트 블록 사이에서 상대적 공간 정보를 계산할 때, 모든 4개의 정점을 고려합니다. 이렇게 함으로써, 본 논문의 인코딩은 상대적 거리뿐만 아니라 문서의 Key와 Value를 구분하는데 중요한 상대적 모양, 크기와도 잘 협동합니다.
Area-Masked Language Model
레이블 되지 않은 문서의 다양한 레이아웃을 사전학습하는 것은 KIE 태스크의 핵심입니다. BROS는 2가지 사전학습 목표를 활용합니다: BERT에서 사용된 Token-Masked LM(TMLM)과 새로운 Area-Masked LM(AMLM)입니다.
TMLM은 랜덤하게 토큰을 마스크처리하고, 토큰의 공간 정보는 유지합니다. 그리고 모델이 공간 정보에 대한 힌트와 마스크 처리되지 않은 다른 토큰을 통해 마스크 처리된 토큰을 예측합니다. 이 과정은 BERT의 MLM과 LayoutLM의 Masked Visual-Language Model과 동일합니다.
위 그림은 TMLM이 어떻게 토큰을 마스크 처리하는지를 보여줍니다. 텍스트 블록 안의 토큰이 부분적으로 마스크 처리될 수 있으므로, 해당 부분의 예측은 같은 블록의 다른 토큰 혹은 마스크 처리된 토큰과 가까운 텍스트 블록을 참조하여 수행될 수 있습니다.
SpanBERT로부터 영감받은 Area-Masked LM은 문서의 2차원 영역에 기반한 연속적 텍스트 블록을 캡쳐합니다.
AMLM은 랜덤하게 선택된 영역에 할당된 텍스트 블록 전부를 마스크 처리합니다. 이것은 2차원 공간의 텍스트 블록에 대한 범위 마스킹으로 풀이될 수 있습니다.
AMLM은 4가지 단계로 구성됩니다. (1) 텍스트 블록을 랜덤하게 선택, (2) 텍스트 블록의 영역을 확장함으로써 영역 식별, (3) 해당 영역에 할당된 텍스트 블록 결정, (4) 해당 텍스트 블록의 모든 토큰을 마스크 처리하고 예측함.
두번째 단계에서, 확장 정도는 지수분포로부터 샘플링된 값에 의해 식별됩니다. 지수 분포를 사용하는 것에 대한 이론적 해석은 SpanBERT에서 사용된 Discrete Domain에 대한 기하 분포를 Continuous Domain에 대한 기하 분포로 바꾸는 것입니다. 지수분포의 하이퍼파라미터 로 설정하고 이 때 p=0.2입니다. 또한 지수분포를 1로 잘라서 무한값을 다루는 것을 막습니다.
마지막으로, BROS는 2개의 Masked LM인, TMLM과 AMLM을 결합하여 개별적, 그리고 통합된 토큰 특성을 학습하도록 모델을 자극합니다.
먼저 ALML을 위해 15%의 토큰을 마스크 처리하고, 그 후 TMLM을 위해 왼쪽 텍스트 블록의 15% 토큰을 마스킹합니다. BERT와 비슷하게, 마스킹 된 토큰의 80%는 [MASK] 토큰으로 대체되고, 10%는 랜덤토큰으로, 나머지 10%는 그대로 내버려 둡니다.
Key Information Extraction Tasks
본 논문은 KIE 태스크의 2가지 카테고리, Entity Extraction(EE)과 Entity Linking(EL)을 해결합니다.
EE 태스크는 원하는 Target Texts를 표현하는 텍스트 블록의 시퀀스를 식별합니다: 형식있는 문서에서 헤더, 질문, 정답 엔터티 식별하기.
EL 태스크는 핵심 엔터티를 계측적 혹은 의미적 관계를 통해 연결합니다.
KIE의 벤치마크 데이터셋으로 EE와 EL에 대한 테스트베드를 제공하는 FUNSD, SROIE, CORD, SciTSR을 사용합니다. 현실 문제는 순서정보를 포함하지 않지만 이 데이터셋들은 텍스트 블록의 순서 정보를 포함하기 때문에 현실 문제의 하위셋이라고 볼 수 있습니다.
텍스트 블록의 완벽한 순서 정보를 포함하지 않는 현실 문제를 반영하기 위해, 랜덤하게 텍스트 블록 순서를 순회함(Permute)으로써 KIE 벤치마크의 순서 정보를 제거합니다. 이렇게 Permuted된 데이터셋을 p-FUNSD, p-SROIE, p-CORD, p-SciTSR로 표기합니다.
실험 세팅
BROS의 핵심 트랜스포머 구조는 BERT와 동일합니다.
가중치 초기화는 BERT로 진행했으며, IIT-CDIP 데이터셋에 대해 5 에폭으로 Pre-Train(Fine-Tuning)했습니다.
실험 결과
With The Order Information Of Text Blocks
텍스트와 레이아웃만을 사용하여 모델을 평가했을 때, FUNSD 벤치마크에서 BROS는 기존 모델 중 Best 모델의 성능에 대해 BASE 기준 F1 2.51(80.54→83.05) 증가, LARGE 기준 F1 5.57(78/95→84.52) 증가하였습니다.
BROS는 추가적인 이미지 혹은 셀(계층) 정보를 가진 멀티 모달 모델과 비교해 비슷하거나 더 나은 성능을 보여주었고, 파라미터 수 또한 동급 대비 가작 적은 수를 가졌습니다
심지어 3배의 파라미터 수를 가진 이 보다 성능이 낮은 것을 알 수 있습니다.
다른 모든 벤치마크에서도 BROS가 모두 우월함을 알 수 있습니다.
Without The Order Information Of Text Blocks
읽는 순서 정보를 없앤 벤치마크에서도 우월한 성능을 보임을 알 수 있습니다. BERT는 텍스트 블록의 공간정보를 전혀 사용하지 않기에 성능이 굉장히 안 좋은 것을 알 수 있습니다.
읽는 순서의 영향을 시스템적으로 판단하기 위해 Permuted 데이터셋, xy-FUNSD, yx-FUNSD, 원본 데이터셋으로 실험을 진행했습니다. xy 데이터셋은 Top-Left 좌표를 x축 먼저 오름차순 정렬 후 y축 오름차순 정렬을 한 데이터셋이며, yx 데이터셋은 Top-Left 좌표를 y축 먼저 오름차순 정렬 후 x축 오름차순 정렬한 데이터 셋입니다.
위 테이블 결과를 보면 BROS는 다른 모델에 비해 읽는 순서에 Robust하면서 좋은 성능을 내는 것을 알 수 있습니다.
LayoutLM과 LayoutLMv2는 2차원 공간의 텍스트에 대한 Serialization에 영향을 많이 받는 것을 알 수 있습니다.
Learning From Few Training Examples
Fine-Tuning 데이터를 모으는 것은 Resource가 많이 필요하므로 적은 수의 학습 표본으로 좋은 성능을 내는 것이 중요합니다. 위 그림은 전체 데이터셋의 일부 혹은 전부를 사용하여 실험한 결과입니다. 모든 모델이 데이터가 많을수록 좋은 성능을 경향을 보였고, 여기서 BROS는 EE와 EL 태스크 모두에서 가장 좋은 성능을 내었습니다.
위 실험은 더 극단적인 실험으로, 학습 데이터를 5개와 10개만으로 구성하여 진행한 결과입니다. 100 에폭, Batch Size 4로 진행한 결과, 모든 케이스에서 BROS가 최고의 성능을 내었습니다. 결과를 해석해보면, BROS가 굉장히 적은 학습 표본을 가진 상태에서도 Generalization Ability가 높다고 생각할 수 있습니다.
결론
BROS는 문서에서 효과적인 KIE 태스크를 수행할 수 있는 Pre-Trained 언어 모델입니다.
텍스트의 상대 위치를 가지고 텍스트를 2차원 공간에 인코딩함과 Area-Masking 전략으로 모델을 Pre-Training함으로써 BROS는 추가적인 시각 Feature없이 우월한 성능을 냅니다.
현재 DU팀의 문서 분류 태스크와 토큰 분류 태스크에 BROS를 적용해보면 더 적은 학습 데이터로 더 Robust한 성능을 내는데 도움이 될 수 있을 것이라 생각이 듭니다.
Share article