Zhang, Z., Han, X., Liu, Z., Jiang, X., Sun, M., & Liu, Q. (2019). ERNIE: Enhanced language representation with informative entities. arXiv preprint arXiv:1905.07129.
Abstract
(논문 저술 시점) 대규모 코퍼스로 학습된 pre-trained model (e.g., BERT) 은 텍스트의 의미 패턴을 잘 포착하며, 이를 fine-tuning 시켰을 때 다양한 NLP task에서 좋은 성능을 내고 있음
그러나 현존하는 pre-trained language model은 knowledge graph를 반영하고 있지 않음
Knowledge graphs를 언어모델 학습에 반영시켰을 때 더 나은 언어 모델이 구축된다 !
학습 시 대규모 코퍼스 + knowledge graphs를 활용한 발전된 언어모델 ERNIE 제안
언어의 의미 + 어휘 + 지식 정보 모두 활용 가능하다는 이점
( 실제로 지식 기반 task에서 발전된 성능을 보였고, 여타 다른 NLP task에 대해서도 BERT 모델의 SOTA에 근접한 성능을 보였다~ )
Introduction
Background
대규모 pre-trained language model의 단점
언어 이해에 있어 지식 정보를 통합하여 활용하지 않는다 !
e.g., Bob Dylan wrote Blowin’ in the Wind in 1962, and wrote Chronicles: Volume One in 2004
문제점
Entity typing task 차원
cf. entity typing task : 특정 개체에 독자적인 특성을 부여하는 task. e.g., 밥 딜런 : 작곡가/작가
Blowin’ in the Wind 가 노래 제목이고, Chronicles: Volume One 가 책 제목이라는 것을 알지 못하면, Bob Dylan이 작곡가이자 작가로서 활동했다는 것을 알 수 없음
Relation classification task 차원
cf. relation classification task : 문맥에 따라 entity 쌍의 관계 label을 분류하는 task
Bob Dylan이 작곡가이자 작가로서 활동했다는 것을 알 수 없기 때문에 작곡가 - 작가라는 단어들 간의 세밀한 relation classification 또한 어려움
기존 대규모 pre-trained model 하에서는 병렬적으로 연결된 두 문장의 의미적 관계 고려 X
“[UNK] wrote [UNK] in [UNK]” 의 형태로 단순 변환된 후, [UNK]에 들어갈 단어를 예측하도록 학습되기 때문
→ 보다 풍부한 지식 정보를 고려한다면 더 나은 언어 이해 + 지식 기반 task의 성능 향상이 야기될 것
Challenges / ERNIE’s Approaches
외부 지식 정보(knowledge graphs)를 언어 모델에 통합시킬 때의 main challenges - approaches
Structured Knowledge Encoding
주어진 텍스트에 대해, knowledge graph의 중요한 지식 정보를 어떻게 추출하고 인코딩할 것인가
→ ERNIE, knowledge graph의 주요 지식 정보 추출 및 인코딩을 위해 다음과 같은 절차를 거침
text의 entity mention과 knowledge graph에 있는 entity를 일치시킴
e.g.,
text = “Da Vinci painted Mona Lisa. Mona Lisa is in Louvre, which is a museum located in Paris. Paris is well-known for its landmark Tour Eiffel.”
text의 entity mentions : Da Vinci, Mona Lisa, Louvre, Paris, Tour Eiffel
knowledge graph의 entity mentions : Da Vinci, Mona Lisa, Louvre, Paris, Tour Eiffel, James, Lily, La Joconde a Washington
TransE, knowledge graph의 벡터 임베딩 분야 포문을 연 논문. 기본적으로 knowledge graph는 entity(대상)들과 그 사이의 relation(관계)로 구성되는데, 해당 분야의 데이터 표현 방식은 다음과 같음. (h,l,t) -> head, label, tail head와 tail은 두 entity이며, label은 두 entity 간의 관계를 의미. head, label, tail의 예시를 하나만 들자면 다음과 같음 e.g., Da Vinci(HEAD) painted(LABEL) Mona Lisa(TAIL). → TransE에서는 HEAD과 TAIL 사이의 관계를 벡터 임베딩으로 표현하고자 하였음
논문에서는 이를 translation이라고 명명했는데, 이에 따라 논문에서는 head와 tail 간의 relationship vector를 translation vector라고 칭함. → Translation을 통해 어떠한 개체를 다른 개체로 매핑한다고 생각하면 될 듯.
entity에 대한 embedding을 ERNIE의 input으로 넣음
Heterogeneous Information Fusion
언어 모델의 pre-training 과정, knowledge representation과 다른데 이를 어떻게 다룰 것인가
cf. knowledge representation → 두 개의 독립적 벡터 공간 수반
→ ERNIE’s approach
Benchmarking BERT’s pre-train objective
: masked language model(MLM)과 next sentence prediction(NSP)
New pre-train objective
: input text의 entity를 랜덤하게 마스킹하고, 모델로 하여금 knowledge graph에서 이에 상응하는 entity를 선택하게끔 함
→ token 단위 뿐 아니라 entity 단위에서의 학습도 총체적으로 진행. input으로 들어가는 텍스트와 knowledge graph 임베딩 값을 보다 잘 융합시키기 위함.
i 번째 aggregator의 경우,
이전 aggregator의 output embedding, input token embedding { w1(i−1),...,wn(i−1) } 과 entity embedding { e1(i−1),...,em(i−1) } 이 두 개의 각기 다른 multi-head self-attention의 input으로 들어감
Relation Classification
: 문맥에 따라 entity 쌍의 관계 label을 분류하는 task
input token sequence에 대해 두가지 mark token 추가
[HD](head entity), [TL](tail entity)
Entity Typing
: 특정 개체에 독자적인 특성을 부여하는 task
relation classification의 단순화된 버전
input token sequence에 mention mark token 추가
[ENT] : 타겟이 되는 entity만 표시
Experiments
Pre-training Dataset
from scratch 부터 ERNIE 학습시키는건 무리
→ BERT의 파라미터 차용해서 T-Encoder의 Transformer block initialize
Dataset, English Wikipedia( text ) & Wikidata ( knowledge graph )
English Wikipedia
: 4500M개의 subwords와 140M개의 entities로 구성. (단, 3개 미만의 entity로 구성된 문장 제외)
Wikidata
: Wikidata의 일부 sampling → TransE를 거쳐 entity embedding 化
Entity Typing
ERNIE, entity typing의 다른 baseline model + BERT 보다 좋은 성능 !
Relation Classification
ERNIE, relation classification의 다른 baseline model + BERT 보다 좋은 성능 !
GLUE ; General Language Understanding Evaluation
ERNIE,
대규모 데이터셋을 수반하는 task에 대해서는 BERT_base와 상응하는 성능을 냄
소규모 데이터셋을 수반하는 task에 대해서는 BERT_base보다 살짝 좋거나 살짝 좋지 않은 수준
→ 전반적으로 BERT_base와 유사. GLUE task들은 비교적 외부 지식 정보를 요하지 않음을 확인할 수 있음
ERNIE, text의 의미적, 어휘적 feature과 knowledge graph의 지식 정보를 융합하여 training data로 썼는데, 그러한 이질적인 information fusion 과정을 거쳤음에도 언어적인 맥락 정보 이해에는 지장이 없었다-.
Conclusion
언어 모델에 knowledge graph의 지식 정보를 융합한 ERNIE를 제안한다 !
knowledgeable aggregator과 새로운 pre-training task dEA의 도입 !
지식 기반 task의 경우 + 소규모 데이터셋으로 fine-tune 하는 경우 BERT보다 좋은 성능 !
💡 대규모 코퍼스 + knowledge graphs로 학습시킨 BERT 기반 언어모델 ERNIE를 제안한다 !
T-Encoder / K-Encoder이라는 새로운 모델 구조 + 새로운 pre-training 방식 + 지식 기반 task에 대한 새로운 fine-tuning 방식 제안
entity typing / relation classification 등 지식 기반 task에서 발전된 성능을 보였고, 여타 다른 NLP task에 대해서도 BERT 모델의 SOTA에 근접한 성능을 보였음 ( 특히 소규모 데이터셋으로 fine-tune 해야하는 경우 BERT보다 좋은 성능 )