본문 바로가기
대학원 이야기/논문 리뷰

[논문 리뷰] KorNLI and KorSTS: New Benchmark Datasets for Korean Natural Language Understanding

by misconstructed 2020. 8. 2.
728x90

카카오 브레인 팀에서 자연어 처리를 위한 데이터셋을 공개한다는 내용의 논문이다.

이제 자연어 처리 공부를 시작한 나에게는 모든게 생소하고 어렵게 느껴지지만, 대단하다는건 확실하다 :)

Abstract

  • NLU(Natural Language Understanding)에서 NLI(Naural Language Inference)와 STS(Semantic Textual Similarity)는 가장 큰 과제 중 하나이다.
  • 영어를 포함한 몇 가지 언어에 대해서는 기준이 되는 데이터셋이 존재하지만, 한국어 NLI, STS에 대한 데이터셋은 존재하지 않는다.
  • 그렇기에, KorNLI, KorSTS 라는 한국어 NLI, STS를 위한 데이터셋을 공개한다.
  • 영어 데이터 셋을 기계 번역해서 한국어로 구성된 학습 데이터를 생성했다.
  • 한국어 NLU 연구에 도움이 되고자 KorNLI와 KorSTS의 기준점을 제공한다.
  • 데이터셋을 GitHub repository에 공개한다.

1. Introduction

  • NLU(Natural Language Understanding)에서 NLI(Naural Language Inference)와 STS(Semantic Textual Similarity)는 가장 큰 과제 중 하나이다.
  • 한국어에 대한 NLI, STS 벤치마크 데이터셋은 존재하지 않는다.
  • 한국어 NLU 의 경우, question-answering, 감정분석(sentiment analysis) 정도에 대한 데이터셋만 존재한다.
  • 영어 문장을 기계 번역과, 번역가에 의한 번역을 통해서 한국어 데이터셋을 제작했다.
  • KorNLI, KorSTS의 기준점을 제공해서 한국어 NLU 연구가 가능하도록 한다.

2. Background

2.1 NLI and the {S, M, X} NLI Datasets

  • NLI 에서는 한 쌍의 문장을 제공한다. (premise와 hypothesis)
  • 두 문장의 관계를 3개로 분류하게 된다 : entailment(얽힘), contradiction(모순), neutral(중립)
  • 기존에 존재하는 다양한 NLI 데이터셋에 대해서도 소개한다.
  • SNLI(Stanfod NLI) : image caption을 기반으로 한 570K개의 영어 문장 쌍으로 구성
  • MNLI(Multi-Genre NLI) : 10개의 장르로 구분된 455K 개의 영어 문장 쌍으로 구성
  • XNLI(Cross-lingual NLI) : MNLI의 말뭉치를 15개의 다른 나라 언어로 확장해서 구성

2.2 STS and the STS-B Dataset

  • STS는 두 문장 사이의 유사성을 나타낸다.
  • 0(전혀 유사하지 않음) 에서 5(완벽히 일치함) 사이의 값으로 점수를 제공한다.
  • STS-B는 STS를 위해 SemEval에서 2012-2017년 사이에 수집한 데이터 중 8,628개의 문장 쌍을 뽑아낸 데이터셋이다.
  • 문장들은 image captions, news headlines, user forums 등에서 수집된 자료이다.

3. Data

3.1 Data construction

  • KorNLI는 SNLI, MNLI, XNLI에서 파생되었다.
  • KorSTS는 STS-B 데이터셋에서 파생되었다.

데이터셋 생성 과정

  • training set을 구성하는 SNLI, MNLI, STS-B는 기계번역을 통해 한국어로 번역된다.
  • development set, test set을 구성하는 XNLI, STS-B도 기계번역을 통해서 한국어로 번역된다.
  • development set, test set의 번역 결과는 (결과의 품질을 보장하기 위해서) 전문 번역가에 의해서 다시 한 번 검토된다.
  • 전문 번역가에 의한 작업은 데이터의 일관성을 보장한다.
  • 두 명의 번역가가 과정에 참여하는데, 전체 데이터를 반으로 나눠서 각자 절반의 데이터를 번역한다. 각자의 작업을 마쳤으면 서로의 결과를 상호 검토하게 된다.
  • 마지막으로는 Microsoft Word를 이용해서 splling, grammar 를 검토하게 된다.

3.2 KorNLI

KorNLI 데이터셋의 일부

  • 위의 표에서 P는 premise, H는 Hypothesis를 의미한다.
  • 두 문장의 관계는 Ent.(entailment), Contr.(Contradiction), Neutr.(Neutral)을 의미한다.

KorNLI 데이터셋의 통계

  • 950,354개의 데이터는 기계 번역을 통해서 자동으로 생성되었다.
  • 7,500(2,490 + 5,010)개의 데이터는 사람에 의해 최종적으로 생성되었다.

3.3 KorSTS

KorSTS 데이터셋의 통계

  • KorSTS 데이터셋은 5,749개의 기계번역으로 생성된 데이터와, 2,879개의 사람에 의해 생성된 데이터셋으로 구성된다.
  • 평균적으로 각 문장을 7.5개의 단어로 구성된다.

KorSTS 데이터셋의 일부

  • KorSTS에서는 두 문장이 입력으로 제공되고, 두 문장이 얼마나 유사한지 점수(label)을 제공한다.
  • 유사하지 않으면 0점, 매우 유사하면 5점으로 점수가 제공된다.

4. Baselines

  • 해당 데이터셋을 통해, 한국어 NLI, STS 에 대한 기준점을 제공한다.
  • 두 개의 문장이 입력으로 제공되기 때문에, 두 문장을 처리하는 방식이 달라질 수 있다.
  • 두 문장을 함께 인코딩하는 방법(cross-encoding)과 두 문장을 별개로 인코딩하는 방법(bi-encoding)으로 구분할 수 있다.

4.1 Cross-Encoding Approaches

  • 보통 큰 사전 학습된 lanuage model을 사용해서 각 task에 맞게 미세 조정(fine tune)하는 것이 일반적이다.
  • cross-encoding에서는 두 문장을 하나의 입력으로 처리한다.
  • cross-encoding 방식은 state-of-art 성능을 낼 수 있다.
  • 우리는 두 개의 사전 학습된 모델을 고려한다 : Korean RoBERTa, XML-R
  • 두 모델 모두 base와 large 버전을 모두 고려한다.
  • XML-R과 RoBERTa는 서로 동일한 구조로 구성되어있지만, XML-R이 더 많은 데이터를 기반으로 학습되었다.

cross-encoding 방식에서의 성능

  • RoBERTa는 XML-R에 비해서 모델의 크기가 작지만, 더 좋은 성능을 낸다는 것을 확인할 수 있었다.
  • base 모델 보다는 large 모델의 성능이 더 좋다는 것을 확인할 수 있었다.
  • Korean RoBERTa large 모델의 성능이 가장 좋았다.

4.2 Bi-Encoding Approaches

  • bi-encoding은 큰 데이터셋에 대해서 pairwise similarity를 계산하는데 비용이 적게 든다.
  • 사전 학습된 모델을 사용하지 않는 경우를 먼저 고려한다 : Korean fastText, M-USE(multilingual universal sentence encoder)
  • 각 문장의 임베딩은, 해당 문장의 단어 임베딩의 평균값을 사용한다.
  • 입력으로 제공된 두 문장의 코사인 유사도를 통해서 결과를 예측한다.
  • 사전 학습된 모델을 사용하는 경우도 고려한다 : KoreanRoBERTa(SRoBERTa), XML-R(SXML-R)
  • SentenceBERT의 MEAN pooling 방식을 사용한다 : 각 단어의 가능한 모든 벡터들의 평균을 문장 벡터로 사용한다.

bi-encoding 방식에서의 성능

  • KorNLI를 이용해서 학습한 경우, 성능이 더 좋아진다는 것을 확인할 수 있었다.
  • 그러므로, KorNLI는 bi-encoding 방식에서 효과적인 중간 학습 데이터로 사용할 수 있다.

5. Conclusion

  • KorNLI와 KorSTS 데이터셋을 공개했다.
  • 한국어 NLI, STS의 기준점을 제공했다. (cross-encoding과 bi-encoding 방식 모두)
  • 한국어 NLU 의 발전에 사용되었으면 좋겠다.

 

 

 

728x90

댓글