(2강) Extraction-based MRC

  • 추출 기반으로 기계독해를 푸는 방법에 대해 학습

  • 추출 기반으로 기계독해 문제에 접근한다는 것의 의미

  • 추출 기반 기계독해를 어떻게 풀수 있는지

Futher Reading

1. Extraction-based MRC

1.1 Extraction-based MRC 문제 정의

질문(Question)의 답변(answer)이 항상 주어진 지문 내에 span 으로 존재하는 케이스

1.2. Overview

2. Pre-processing

2.1. Tokenization

텍스트를 작은 단위 (Token)으로 나누는 것

  • 띄어쓰기 기준, 형태소, subword 등 여러 단위의 토큰 기준이 사용됨

  • 최근엔 Out-Of-Vocabulary(OOV) 문제를 해결해주고 정보학적으로 이점을 가진 Byte Pair Encoding 을 주로 사용함

  • 본강에선 BPE방법론중 하나인 WordPiece Tokenizer를 사용

    • 미국 군대 내 두번째로 높은 직위는 무엇인가

    • ‘미국’, ‘군대’, ‘내’, ‘두번째’, ‘##로’, 높은, ‘직’, ‘##위는’, ’무엇인가’, ‘?’

2.2. Special Token

  • [CLS]: 문장의 함축적 의미를 담거나 시작을 의미하는 Token

  • [SEP]: Question과 Context를 구분하는 Token

  • [PAD]: 문장의 길이를 맞추기 위해 사용하는 의미가 없는 Token

  • [UNK]: Unknown Token

2.3. Attention mask

  • 입력 시퀸스 중에서 attention을 연산할 때 무시할 토큰을 표시

  • 0은 무시, 1은 연산에 포함

  • 보통 [PAD]와 같은 의미가 없는 특수 토큰을 무시하기 위해 사

2.4. Token Type IDs

입력이 2개이상의 시퀸스 일 때 (예: 질문 & 지문), 각각에게 ID를 부여하여 모델이 구분해서 해석하도록 유도

2.5. 모델 출력값

  • Extraction 모델은 문서내 존재하는 연속된 단어 token이 정답이므로 token(span)의 시작과 끝 위치를 예측하도록 학습한다. 즉, Token Classification문제로 치환한다.

3. Fine-tuning

3.1. Fine-tuning BERT

4. Post-processing

4.1. 불가능한 답 제거하기

  • End position이 start position 보다 앞에 있는 경우

  • 예측한 위치가 context를 벗어난 경우 (e.g. question 위치 쪽에 답이 나온 경우)

  • 미리 설정한 max_answer_length 보다 길이가 더 긴 경우

4.2. 최적의 답안 찾기

  • Start/End position prediction 에서 score(logits)가 가장 높은 N개를 각각 찾는다.

  • 불가능한 start/end 조합을 제거한다

  • 가능한 조합들을 score의 합이 큰 순서대로 정렬한다.

  • score가 가장 큰 조합을 최종 예측으로 선정한다.

  • Top-k가 필요한 경우 차례대로 내보낸다.

Last updated