[NLI 대회] 사용 모델 & 접근 방향에 대한 고민

gromit·2022년 2월 14일
0

1. 현재 한국어 언어모델 SOTA 모델 조사 & 트렌드 파악

  1. KcBERT (20년?, SKT브레인 공개)
  • 구어체/신조어 반영
  • KcBERT는 2019.01-2020.06의 텍스트로, 정제 후 약 9천만개 문장으로 학습을 진행

  1. KcELECTRA (21년 4월, Beomi 개인?)
  • (https://github.com/Beomi/KcELECTRA)
  • 구어체/신조어 반영
  • 뉴스 기사 본문 뿐만 아니라, 한국어 댓글/대댓글까지 학습 데이터로 활용
  • 데이터 사이즈는 텍스트만 추출시 약 17.3GB이며, 1억8천만개 이상의 문장 (문장 수 2배..!)

  1. KoGPT-2 (21년 4월, SKT브레인 공개)
  • (https://github.com/SKT-AI/KoGPT2)
  • 부족한 한국어 성능을 극복하기 위해 40GB 이상의 텍스트로 학습된 한국어 디코더(decoder) 언어모델
  • tokenizers 패키지의 Character BPE tokenizer로 학습됨
  • ~ 등의 미사용 토큰을 정의
  • 한국어 위키 백과 이외, 뉴스, 모두의 말뭉치 v1.0, 청와대 국민청원 등의 다양한 데이터가 모델 학습에 사용됨


  1. KoBART (21년 12월..!!!, SKT브레인 공개) 👑👑👑
  • (https://github.com/SKT-AI/KoBART)
  • 입력 텍스트 일부에 노이즈를 추가하여 이를 다시 원문으로 복구하는 autoencoder의 형태로 학습이 됩니다.
  • 논문에서 사용된 Text Infilling 노이즈 함수를 사용하여 40GB 이상의 한국어 텍스트에 대해서 학습한 한국어 encoder-decoder 언어 모델



2. 주어진 과제(자연어 추론, NLI)에 대한 이해

카카오브레인 기술블로그 글

읽고 느낀/배운 인사이트

  • 참인 가설을 찾는(= 분류해내는) 자연어 추론 과제에서는 1) "어순"이 중요
    • ➡️ 따라서, "문맥"을 이해하는 모델이 중요
    • ➡️ 좀더 통계 기반의 기법(ex. 카운트 기반/통계 기반 기법과 같은.. CBOW계열과 같은 기법..)은 문장에서 "패턴"을 학습하는 경향이 있으므로 도움이 안 될 것 같다.(ex. 배열된 단어의 유사성 or 등장횟수(Co-occurrence 등?)이 아닐까)
    • 또는, 좀더 패턴을 잘 추출해내는 특징이 있는 CNN계열 도는 CNN과 조합된 모델도 도움이 안 될 것 같다.
    • 따라서, 가장 최신의 SOTA 한국어 언어모델을 쓰자..! ✨

  • 2) "목적어""주어"가 바뀌는 경우, 모델이 맞는 참/거짓을 잘 만들어내지 못함
    • ➡️ 따라서, "새로운 도전"을 시도해보는 것은 어떨까 ❓
      (ex. 품사 태깅 기술 기반으로 주어/목적어/서술어 등을 태깅한 결과를 함께 활용..?) ✨


전제(premise)와 가설(hypothesis)로 구성된 한 쌍의 문장이 있을 때 전제가 참이면 가설도 참인지를 추론하는 자연어 추론 과제에서도 비슷한 현상이 발견됩니다. 두 문장에 등장하는 일부 어휘가 겹친다는 이유만([그림 8-1]으로 어순을 바꿔도 참이라고 예측해버리는 거죠. 이렇게 되면 BERT(base)에서의 추론 정확도는 84%에서 20%까지 떨어집니다. 기존 문장에서 목적어를 주어로 바꾸어 사실 관계를 바꾼 상황([그림 8-2], [그림 8-3])에서는 (출력값이 참인 경우는 제외하고는) 정확도가 80%에서 10% 이하로 떨어지는 사례도 종종 있었습니다. 이는 문장을 구성하는 단어 수와는 관계없이 문장 간 관계를 겨우 3개의 범주로만 분류하는 과제 특성에 기인한 것으로 보입니다.


품사태깅(POS, Part-of-speech Tagging)이란?

한국어에서 품사 태깅 "구조"는 어떻게 되는가?

  • [Week 44 - 하나의 문장을 언어학적으로 해부해볼까: DP, POS, NER (2021/02/14)] https://jiho-ml.com/weekly-nlp-44/

    • 🤔 의존 구조 분석 VS. POS Tagging


    • 🤔 하지만, 더 생각해봐야할 점 ? (⚠️)

      의존 구존 분석POS Tagging은 문장의 구조와 단어 간의 관계를 파악하는데 중점을 두고 있습니다. 언어학자들이 만든 이론에 따라 NLP 모델을 이용해 문장 분석을 하는 것이죠. 재밌는 사실은 RNN, BERT, GPT 등의 언어 모델에서는 이러한 지식을 직접적으로 가르켜주지 않아도 어느정도 네트워크 안에 파악이 되어있다는 것입니다.

      2020년 발표된 이 논문에서는 여러 언어 데이터가 함께 학습된 다국어 mBERT 모델을 분석한 결과, 문장의 의존 구조를 어느 정도 파악하고 있는 것으로 나타났습니다. 더 재밌는 점은 만국 언어 공통의 구조 역시 존재하고, 비슷한 언어 계열일 경우 이 구조가 공유될 수 있다는 점입니다.

      예를 들어, 영어 데이터만으로 BERT를 학습해도 프랑스 문장 구조에 대한 이해가 있다는 것이죠. 다국어(multilingual) 모델은 또 하나의 재밌는 주제인데, 다음에 한번 다루어보도록 하겠습니다.


profile
AI, Big Data, Industrial Engineering

0개의 댓글