210909 EXPLORATION 17. KorQuAD

문소정·2021년 9월 14일
0

AIFFEL

목록 보기
45/66

1. KorQuAD Task

  • SQuAD : 미국 스탠퍼드 대학에서 구축한 대용량 데이터셋
    • 언어 모델의 성능을 측정하는 가장 표준적인 벤치마크
  • KorQuAD(The Korean Question Answering Dataset, 한국어 질의응답 데이터셋)
    • 한국어 MRC를 위해 LG CNS에서 구축한 대규모 질의응답 데이터 셋
  • 모델 평가 척도
    • EM(Exact Match) : 모델이 정답을 정확히 맞춘 비율
    • F1 score : 모델이 낸 답안과 정답이 음절 단위로 겹치는 부분을 고려한 부분점수
    • 1-example-latency : 질문당 응답속도
  • KorQuAD1.0과 2.0의 주요한 차이점
KorQuAD1.0KorQuAD2.0
문서의 길이한두 문단 정도위키백과 한 페이지 분량
문서의 구조-표와 리스트가 포함
- html 태그를 이해할 수 있어야 함
답변의
길이 및 구조
단어나 구 단위표와 리스트를 포함한 긴 영역의 답변 가능

  • Subword Segmentation(단어 분리)
    • 하나의 단어는 의미있는 여러 단어들의 조합으로 구성된 경우가 많기 때문에, 단어를 여러 단어로 분리
    • ex) '읽었다' ⇨ '읽'+'었다'
    • koNLP와 달리 언어마다 다른 문법 규칙을 활용하지 않고 적절한 subword 분절 규칙 학습 또는 통계적인 방법을 사용
  • 워드 클라우드(Word Cloud) : 자료의 빈도수를 시각화해서 나타내는 방법
    • 장점 : 문서의 핵심 단어 파악, 데이터의 특징 도출에 활용
    • 특징 : 빈도수가 높은 단어일수록 글씨 크기가 큼

2. BERT의 모델 구조

  • Transformer Encoder 구조만을 활용
  • 기본저인 구조는 동일, layer의 갯수 12개 이상으로 증가, 전체 파라미터이 크기가 커짐

Transformer 모델은 Self-Attention 으로 이루어진 Encoder-Decoder 구조로, 번역기 모델 형태를 구현에 적합함

  • Mask LM : 단어 간의 연결
    • 입력데이터 : 나는 <mask> 먹었다
    • BERT 모델 : <mask>에 해당하는 단어를 맞추는 언어 모델 ex) <mask> = 밥을
  • Next Sentence Prediction(NSP) : 문장 간의 연결
    • 입력데이터 : 나는 밥을 먹었다. <SEP> 그래서 지금 배가 부르다.
    • BERT 모델 : <SEP> 을 경계로 이어지는 문장을 맞추는 언어 모델

  • Token Embedding
    • Word Piece model이라는 subword tokenizer를 사용하여 텍스트를 tokenizer 함
    • 문자 분절 방법
      • 문자(char) 단위로 임베딩(기본)
      • 자주 등장하는 긴 길이의 subword도 하나의 단위로 만듦
      • 자주 등장하지 않는 단어는 다시 subword 단위로 쪼갬 ⇨ OOV(Out-of-vocabulary) 방지
    • 최종적으로 Word Piece모델의 각 임베딩이 입력됩니다.
  • Segment Embedding : 각 단어가 어느 문장에 포함되는지 그 역할을 규정
    • Transformer에 없던 구조
    • Question 문장에 속하는지, Context 문장에 속하는지 구분이 필요한 경우 사용
  • Position Embedding : 기존의 Transformer에서 사용되던 position embedding과 동일
  1. lstm 모델 vs bert 모델
  2. bert 모델 vs bert 사전학습 모델

0개의 댓글