이 글에서는 2020 ACL에 게재된 "SciREX: A Challenge Dataset for Document-Level Information Extraction" (Sarthak jain et al) 논문을 리뷰한다.
이 논문에서는 SciREX라는 과학 논문 데이터셋을 제공하고, 이를 바탕으로 entity recognition(NER), relation extraction(RE)을 수행하는 모델을 제시한다.
위의 그림을 보면 NER과 RE의 목적을 정확하게 이해할 수 있다.
각 색깔은 문서 내에서 추출하고자 하는 entity(노란색: Task, 파란색: Dataset 등)에 해당하며 화살표는 entity간의 relation을 나타낸다.
※ Named Entity Recognition (NER): 문서 내에서 특정 정보(entity; 해당 논문에서는 과학 논문 내의 method, dataset 등을 일컬음)을 추출해내는 작업
※ Relation extraction: 각 entity간의 관계성을 mapping해주는 작업
Abstract
Ploblems
- 단락 수준이 아닌 문서 수준의 Information Extraction(IE)는 데이터셋을 만들기 어려움
- 문서 전체를 이해하여 entity와 문서의 관계를 labeling해야 하고 이는 문장을 넘어 section에 걸쳐 확장되기 때문
Solutions
- 이 논문에서는 SciREX라는 문서수준 IE 데이터셋을 소개함
- 과학 논문에서의 주요 entity 식별 및 문서 수준의 N-ary관계 식별 등 다양한 IE 작업이 포함됨
- 자동+인간 주석을 통합하여 데이터 labeling
- 또한 이전의 IE 모델을 문서 수준으로 확장하여 강력한 baseline neural network model을 개발
Introduction
- 비정형 데이터에서 특정 entity와 relation에 관한 information을 추출하는 것은 중요한 문제이지만 기존의 연구들은 문장 내 관계에 초점을 맞추고 있음
- 긴 문서를 대상으로 한 IE 데이터셋과 모델 연구는 많지 않았음
- document 수준에서 IE를 위한 데이터셋을 만드는 것은 상당한 labeling 작업이 필요함
- 이 논문에서는 scientific article에서 IE를 위한 새로운 데이터셋 SciREX를 소개함.
- SciREX는 scientific article의 주요 결과 (Dataset, Metric, Task, Method)를 tuple로 식별하는 작업에 중점을 둠
- 개별 entity 식별, 문서 수준의 relation, 문서 내 importance 예측이라는 3가지 주요 downstream task에 사용될 수 있음
Contributions
- 긴 문서의 IE 작업을 평가하는 SciREX 데이터셋 소개
- 문서 전체 IE를 시도하는 첫 neural net-based model 개발
Document-Level IE
이 section에서는 IE의 정의 및 용어 설명, SCIREX의 데이터셋 구축에 대해 설명한다.
Task Definition
- entity recognition
- 이 논문에서의 entity는 scientific paper의 주요 내용인 Method, Task, Metric, Dataset이다. entity recognition은 주어진 문서에서 entity에 해당하는 mention을 recognition하는 것이다.
- salient entity identification
- 모든 entity가 동일하게 중요한 것은 아니다. 예를 들어 related work section에서 언급된 작업은 논문 주요 작업보다 덜 중요할 수 있다.
- salient entity identification은 이 논문에서 result relation tuple에 속하는 entity를 나타낸다.
- coreference
- 하나의 문서에서 동일한 entity에 대해 언급된 클러스터를 식별하는 것.
- 예를 들어, Expectation maximization과 EM은 coreference이다.
- 하나의 문서에서 동일한 entity에 대해 언급된 클러스터를 식별하는 것.
- relation extraction
- 이 작업은 과학 논문에서 entity간의 N-ary관계를 추출하는 것이다. Dataset, method, metric, task의 entity 집합 사이의 binary, 3-ary, 4-ary의 relation을 발견하는 데 관심이 있다.
- 예를 들면, binary relation의 경우 A dataset을 사용한 A모델이 있으면 두 entity는 서로 relation이 있는 것이다.
- N-ary까지 가는 이유는 하나의 dataset에 여러 task를 가질 수 있고, 각 task는 고유한 metric이 존재하므로 metric은 dataset이나 task만으로 결정할 수 없다.
- 이 작업은 과학 논문에서 entity간의 N-ary관계를 추출하는 것이다. Dataset, method, metric, task의 entity 집합 사이의 binary, 3-ary, 4-ary의 relation을 발견하는 데 관심이 있다.
Dataset Construction
- PDF 전처리
- 원본 텍스트와 섹션 정보를 추출하기 위해 latex 소스가 있는 논문에는 LaTeXML을 사용하고, PDF 형식으로 제공된 논문에는 Grobid를 사용한다.
- LaTeXML은 그림, 표, 방정식 없이 깨끗한 문서 텍스트를 추출할 수 있게 해준다.
- Automatic Labeling
- 문서의 길이가 약 5000토큰으로 많기 때문에, 데이터를 자동으로 labeling하고, 전문가 labeler가 실수만 수정하도록 한다.
- Human Annotation
- 이렇게 자동으로 labeling된 (노이즈가 포함된) 데이터가 주어지면 labeler는 고품질의 label을 생성한다. 비중요 entity를 삭제하거나 수정하고, 중요한 entity를 추가한다.
Dataset and Annotation Statistics
위에서 언급한 labeling process를 사용하여, 438개의 문서에 대해 완전하게 labeling된 데이터셋을 구축함. 위의 그림은 데이터셋의 통계를 나타낸다.
- Inter-annotator agreement
- 네 명의 전문가에게 5개의 문서를 labeling하도록 하여 주석자간 일치도를 계산하였다. 그 결과 95%의 average cohen-k scores를 달성하였다.
- Annotation Speed
- automation의 경우 entity당 labeling 시간은 1.34초, 사용하지 않았을 때는 2.48초로 약 1.85배 빠른 속도를 보였다.
- 또한 salient mention의 재현율이 24% 향상되었다.
Model
위의 그림은 문서 수준의 IE 작업을 통합적으로 수행하는 논문에서 제시한 neural net model이다.
mention의 entity를 classify하는 단계 + 각 mention간의 relation을 구하는 단계로 이루어져 있다.
문서로부터 mention의 entity 구하기
- Document Representation
- 입력 문서 D는 섹션 리스트 [s1, … , s|S|]로 표현된다. 각 섹션의 token에 대해 SciBERT를 사용하여 토큰에 대한 임베딩을 얻는다.
- 그리고 문서 수준의 종속성을 고려하기 위해 섹션 수준 토큰 임베딩을 연결하고 구 위에 BiLSTM을 추가함
- 따라서 문서 내 각 토큰 wi에 대해 이 단계는 임베딩 ei를 출력함
- Mention Identification and Classification
- token임베딩을 기반으로 sequence tagger를 적용하여 mention이 어느 entity에 속하는지 식별하고 유형을 분류한다.
- CRF tagger를 BiLSTM 임베딩 위에 훈련시켜 mj와 그에 해당하는 entity 유형을 예측함
Mention embedding으로부터 각 entity 개체의 relation 구하기
- Mention Representation
- mention mj의 단어 wj1, … , wjN에 대해, importance 및 relation단계에서 사용될 mention embedding mej를 학습한다.
- mention embedding은 mention 내 모든 임베딩의 attention weighted average 이다. 가중치는 attention layer를 통해 계산된 scalar값이다.
- 이러한 embedding에 문서 내 span의 상대적 위치, mention이 포함된 문장에 experiment나 dataset과 같은 마커 단어가 포함되었는지 나타내는 indicator, mention type과 같은 추가적인 feature들을 concatenation함
- Salient Mention Classification
- 각 mention이 salient인지 분류한다. 이는 mention의 embedding mej를 feed forward layer에 통과시켜 분류한다. 이 mention saliency 점수는 단지 salient entity cluster identification의 입력으로 사용된다.
- Pairwise Coreference Resolution
- 모든 mention을 받아 그 쌍이 corefer하는지를 결정한다. 이는 end-to-end모델과 별도로 동작한다.
- 두 개의 span 쌍 mi, mj의 surface form을 concat 후 SciBERT를 이용해 embedding하고 linear classification layer를 임베딩 위에 사용하여 pairwise coreference score를 계산한다.
- 원래는 모델에 통합하여 end-to-end로 하고싶었으나 이것보다 surface form을 사용하는 모델이 더 나은 성능을 보였음
- Mention Clustering
- 위의 pairwise coreference resolution의 결과를 바탕으로 각 mention이 같은 entity의 개체를 나타내는 애들끼리 cluster로 그룹화된다.
- Salient Entity Cluster Identification
- 이 단계에서는 이전 단계의 clusters를 활용하여 최종 relation task에 대해 salient한 clusters만을 유지한다.
- Relation Extraction
- 이 단계에서는 mention cluster가 주어졌을 때, 이들 cluster가 서로 relation을 형성하는 지 결정하는 것이다.
- cluster R=(C1, C2, C3, C4)에서 각 Ci는 문서 내 동일한 개체를 나타내는 mention들의 집합이다(즉 우리는 C1, C2, C3, C4의 4-ary relation을 구하고싶다). 우리는 이 relation을 하나의 벡터로 인코딩하기 위해 두 단계 절차를 따름
- section embedding 구성
- 각 cluster Ci에 대해 s 섹션 내에 있는 Ci의 mention의 span embedding을 max-pooling하여 해당 cluster의 section embedding (E_i^s)을 구성. 그 다음, 튜플 R의 섹션 s embedding을 계산, 이렇게 모든 섹션 s의 embedding을 구하면 그것들의 평균을 통해 최종 relation embedding 생성, 이를 새로운 FFN에 넣어 확률값을 구한다.
- 이를 집계하여 document level embedding 생성
- section embedding 구성
Training Procedure
- mention identification, span saliency classification, 및 relation extraction은 BERT + BiLSTM에서 기초 문서 및 span 표현을 공유하며 공동으로 훈련
- 그러나 위의 각 subpart는 ground truth 입력으로 훈련
- 멘션 식별을 위한 negative log-likelihood
- 중요도 분류를 위한 binary cross-entropy
- 관계 추출을 위한 binary cross-entropy 를 공동으로 최적화
Experiments
위 표는 3가지 downstream task에서 proposed model이 baseline보다 더 좋은 성능을 나타냄을 보여준다. 이 논문에서 제시한 SciREX에서 평가되었다.
위 표는 각 component들을 end-to-end로 하였을때 성능이 낮아지는 점을 시사하고 있다. 이 성능 저하의 주요 원인을 salient cluster 식별에서 오류가 누적되는 것으로 판단하였고 이를 mention saliency score를 이용하여 cluster filtering하는 방법 대신 gold cluster와 적어도 하나 이상 겹치는 cluster만 유지하는 방식을 사용하였다. 이 결과 4-ary relations에서 10배넘는 성능 향상을 이루어냈다.