사용자의 질문을 답할 수 있는 Question Answering 모델을 밑바닥부터 개발을 하는 것이 이번 프로젝트의 목적임
1. Introduction to MRC
MRC (Machine Reading Comprehension) 기계 독해 : 주어진 지문을 이해하고, 주어진 질의의 답변을 추론하는 문제
MRC의 종류
- Extractive Answer Datasets : 주어진 지문 내에 답이 항상 존재하는 유형 ( Cloze tests : 빠진 단어 맞추기 / Span extraction : 실제 질문, 답 형태)
- Descriptive/ Narrative Answer Datasets : 주어진 지문 내에 답이 없는 경우 ! → 답변을 생성해야 함
- Multiple-choice Datasets : 객관식처럼 여러개 중 하나를 고르는 dataset
MRC를 응용해서 지문이 주어지지 않은 상태에서 질문이 들어와도 관계가 있는 지문을 웹 상에서 찾아서 답변을 줄 수 있는 QA 시스템을 만들 수 있음 !
Challenges in MRC
- 단어들의 구성이 유사하지는 않지만 동일한 의미의 문장을 이해 (직접적으로 같은 단어가 주어지지 않지만 찾는 task or 대명사 같은 지칭하는 것을 찾아내는 task)
- Unanswerable Questions : 지문 내에 답변이 존재하지 않는 경우 ! 를 잘 골라야함
- Multi-hop reasoning : 여러 군데 퍼져있는 정보들을 취합해서 답변을 해야하는 경우도 있음 ! doc1~3을 모두 활용해야 답변이 가능한 경우
MRC의 평가 방법
지문내에 답이 존재한다면 기존에는 단순하게 Accuracy, F1 score를 사용 → acc보다 f1을 사용하면 overlap을 계산하게 되어 조금 더 유연하게 score를 측정할 수 있음