Skip to content

bcaitech1/p3-mrc-tajo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

부스트캠프 AI Tech - p3-mrc-tajo

Public Leaderboard

스크린샷 2021-05-20 21 25 26

Private Leaderboard

스크린샷 2021-05-20 23 29 22

팀원

김남혁_T1014 서일_T1093 엄희준_T1122 우종빈_T1129 이보현_T1148 장보윤_T1178
55614265 46472729 50470448 44800643 50580028 45453533

Wiki

Daily Report를 작성하고 있습니다.

P3-Machine-Reading-Comprehension

전체 개요 설명

"한국에서 가장 오래된 나무는 무엇일까?" 이런 궁금한 질문이 있을 때 검색엔진에 가서 물어보신 적이 있을텐데요, 요즘엔 특히나 놀랍도록 정확한 답변을 주기도 합니다. 어떻게 가능한 걸까요? 질의 응답(Question Answering)은 다양한 종류의 질문에 대해 대답하는 인공지능을 만드는 연구 분야입니다. 그 중에서도 Open-Domain Question Answering 은 주어지는 지문이 따로 존재하지 않고 사전에 구축되어있는 knowledge resource 에서 질문에 대답할 수 있는 문서를 찾는 과정이 추가가 되어야하기에 더 어려운 문제입니다.

fc81eeb5-3cc0-44b6-a5dc-aaf38e4166a5

본 대회에서 우리가 만들 모델은 두 stage로 구성되어 있습니다. 첫 번째 단계는 질문에 관련된 문서를 찾아주는 "retriever"단계이고요, 다음으로는 관련된 문서를 읽고 간결한 답변을 내보내 주는 "reader" 단계입니다. 이 두 단계를 각각 만든 뒤 둘을 이으면, 어려운 질문을 던져도 척척 답변을 해주는 질의응답 시스템을 여러분 손으로 직접 만들게 됩니다. 더 정확한 답변을 내주는 모델을 만드는 팀이 우승을 하게 됩니다.

cf0936da-a81a-4ea0-897d-4441d12c402a

평가 방법

평가방법은 두가지입니다.

  1. Exact Match (EM): 모델의 예측과, 실제 답이 정확하게 일치할 때만 점수가 주어집니다. 즉 각 질문마다 0점 아니면 1점입니다. 다만 띄어쓰기나 "."과 같은 문자가 포함돼 있다고 오답으로 처리되면 억울하겠죠? 이런 것은 지우고 일치하는지 확인합니다. 또한 답이 하나가 아닐 수 있는데, 이런 경우는 하나라도 일치하면 정답으로 간주합니다.

1

  1. F1 Score: EM과 다르게 부분 점수를 제공합니다. 예를 들어, 정답은 "Barack Obama"지만 예측이 "Obama"일 때, EM의 경우 0점을 받겠지만 F1 Score는 겹치는 단어도 있는 것을 고려해 부분 점수를 줍니다.

2

EM 기준으로 랭킹을 산정하고, F1은 참고용으로만 활용합니다.

학습 데이터 개요

다음은 제공하는 데이터셋의 구성을 보여줍니다.

8acf9df5-ea23-4ad2-a24c-c9a847d24e59

MRC 데이터의 경우, Hugging Face에서 제공하는 datasets library로 접근이 가능합니다. 해당 폴더의 directory를 dataset_name 으로 저장한 후, 아래와 같이 불러오기가 가능합니다.

# train_dataset을 불러오고 싶은 경우
from datasets import load_from_disk
dataset = load_from_disk("./data/train_dataset/")
print(dataset)

Retrieval 과정에서 사용하는 문서 집합(corpus)은 ./data/wikipedia_documents.json 으로 저장되어있습니다. 약 5만 7천개의 unique 한 문서로 이루어져 있습니다. 평가 데이터는 학습데이터와 대부분 동일하나, 리더보드용인 test_dataset 의 데이터에는 id 와 question 만 주어집니다. 즉 Open Domain QA 전용이며, 답을 내기 위해서 ./data/wikipedia_documents.json 을 활용합니다. 데이터셋은 편의성을 위해 Huggingface 에서 제공하는 datasets를 이용하여 pyarrow 형식의 데이터로 저장되어있습니다. 다음은 데이터셋의 구성입니다.

./data/         # 전체 데이터
    ./train_dataset/           # 학습에 사용할 데이터셋. train 과 validation 으로 구성
    ./test_dataset/            # 제출에 사용될 데이터셋. validation 으로 구성
    ./dummy_dataset/           # 모델이 작동하는지 테스트 할때 사용하는 dummy 데이터셋. train 과 validation 으로 구성
    ./wikipedia_documents.json # 위키피디아 문서 집합. retrieval을 위해 쓰이는 corpus.
  • id: 질문의 고유 id
  • question: 질문
  • answers: 답변에 대한 정보. 하나의 질문에 하나의 답변만 존재함
  • answer_start : 답변의 시작 위치
  • text: 답변의 텍스트
  • context: 답변이 포함된 문서
  • title: 문서의 제목
  • document_id: 문서의 고유 id

평가 데이터 개요

평가 데이터는 학습데이터와 대부분 동일하나, 리더보드용인 testdataset 의 데이터에는 id 와 question 만 주어집니다. 즉 Open Domain QA 전용이며, 답을 내기 위해서 ./data/wikipediadocuments.json 을 활용합니다. 대회가 종료된 후에는 한 번도 보지 못했던 테스트 데이터를 기반으로 최종 등수가 결정됩니다.

About

p3-mrc-tajo created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published