본문 바로가기

boostcamp AI tech/boostcamp AI

Intro to MRC(Machine Reading Comprehension)

728x90

기계독해는 모델이 주어진 지문을 이해하고 사용자로부터 주어지는 질문에 대해 답을 찾는 것을 말한다. 모델의 언어이해능력을 평가할 수 있는 시험인 셈이다. 이는 인공지능 비서, 검색엔진에서 많이 활용되고 있다.

위 그림에서는 하나 생각된 가정이 있다. 질문과 관련된 지문이 이미 주어진 상황이라는 점이다. 모델이 수십 수백만개의 문서를 전부 다 읽기엔 무리가 있기 때문에 질의응답 시스템을 만들기 위해 두 단계로 시스템을 나누어 설계해보겠다.

(1) 검색을 통해 관련된 문서들을 선별(Retrieve)

(2) 기계독해 모델이 해당 문서들을 읽고 답변(Read)

  • Open domain QA
    : 특정 주제나 도메인에 국한되지 않고, 다양한 일반 지식을 바탕으로 사용자의 질문에 답변을 제공하는 시스템
  • Passage Retrieval
    : 사용자의 질문에 가장 관련성이 높은 텍스트 단락(패시지)을 큰 데이터셋에서 찾아내는 과정
  • Sparse Embedding
    : 텍스트 데이터를 고차원 벡터 공간에 희소한 표현으로 매핑하는 방법으로, Bag-of-Words나 TF-IDF 같은 기술을 포함
  • Dense Embedding
    : 단어나 문장들을 저차원의 밀집 벡터로 변환하여, 의미적 유사성이 반영된 벡터 공간에 임베딩하는 방법

1. 학습 데이터셋

SQuAD, KorQuAD, NewsQA, Natural Questions, etc 등의 Extractive Answer Datasets가 있다. question에 대한 answer가 항상 context안에 segment(span)로 존재한다는 것이 보장되어 있다. 

하지만 모든 질문의 정답이 본문에 포함되어 있지 않을 수 있다. 이를 Descriptive/Narrative Answer Datasets라고 하며 MS MARCO, Narrative QA등의 데이터셋이 있다. 정답이 지문 내에서 추출한 segement가 아니라 생성된 문장 형식의 답변이 된다.

answer candidate 중 하나를 고르는 형태의 데이터셋도 있다. Multiple-choice Datasets라고하며 MCTest, RACE, ARC 등이 있다. 

 

2. Challenges

사람한테도 그렇지만 기계에게도 독해를 위해 중요한 포인트가 있다. 

P1과 P2는 동일한 의미를 지니지만 완전히 다른 단어와 표현을 사용한다. 기계가 이를 이해하는 것이 중요하다.

지칭하는 it같은 단어가 누굴 가리키는지 이해할 수 있어야 할 것이다.

만약 질문에 대한 답이 없는 경우는 어떡할까? 위 예시에서는 잘못된 답변을 도출했지만 잘 모르겠다는 답변이 더 적절할 것이다.

(unanswerable questions)

질문에 대한 답변이 한 지문에서 찾을 수 없는 경우도 있다. 여러 document를 보고 답을 도출할수 있어야 한다. (Multi-hop reasoning)

 

3. Evaluation Metrics

앞서 살펴본 extractive answer나 multiple-choice answer의 경우는 Exact Match(EM or accuracy)로 판별할 수 있다. 

혹은 정답/답변 간의 overlap token을 세서 F1 score로 모델의 성능을 평가할 수 있다. 

EM의 경우 정확하게 ground truth Answer와 Prediction이 일치해야만 점수를 얻을 수 있다.

위의 예시에서는 ground truth들이 전부 동일하지만 다를 경우에는 각 답변들 중 제일 높은 accuracy, f1 score를 내보낸다.

 

descriptive answer에 대해서는 다음 두가지를 사용할 수 있다.

ROUGE-L score : 정답과 답변간의 LCS(Longest common subsequence)를 구한다.

BLEU(Bilingual Evaluation Understudy): 겹치는 n-gram의 비율을 구한다.

 

 

 

 

 

728x90
반응형

'boostcamp AI tech > boostcamp AI' 카테고리의 다른 글

Generation-based MRC  (1) 2024.02.07
Extraction-based MRC  (0) 2024.02.06
Boostcamp AI - week14, 15, 16  (0) 2024.02.05
Multi-Modal AI Dataset  (0) 2024.01.24
Recent Works in Data Centric AI  (0) 2024.01.24