주어진 지문을 이해하고, 주어진 질의의 답변을 추론하는 태스크
프로젝트 전체 기간(2주): 6월 7일 (수) 10:00 ~ 6월 22일 (목) 19:00
훈제연어들
문지혜 | 박경택 | 박지은 | 송인서 | 윤지환 |
---|---|---|---|---|
level2_nlp_mrc-nlp-12/
├── assets/
│
├── code/
│ │
│ ├── eda/
│ │ ├── eda.ipynb
│ │ └── post_eda.ipynb
│ │
│ ├── install/
│ │ ├── elastic_install.sh
│ │ └── install_requirements.sh
│ │
│ ├── retriever/ # Retiever 실험 코드 모음
│ │ ├── dpr/
│ │ │ ├── data_loaders.py # Dense retriever 학습을 위한 dataloader
│ │ │ ├── model.py # Dense retriever 학습을 위한 encoder
│ │ │ └── trainer.py # Dense retriever trainer
│ │ │
│ │ ├── elastic_setting.json # retrieval_elastic.py를 위한 설정 파일
│ │ ├── retrieval_bm25.py # BM25 실험
│ │ ├── retrieval_dense.py # DPR 실험
│ │ ├── retrieval_elastic.py # elastic search 적용 코드
│ │ ├── retrieval_faiss.py # FAISS 적용 코드
│ │ └── retrieval_tfidf.py # TFIDF 실험 코드
│ │
│ ├── trainer/
│ │ └── trainer_qa.py
│ │
│ ├── utils/
│ │ ├── evalutaion.py
│ │ └── utils_qa.py
│ │
│ ├── arguments.py # 모델 설정, 학습 설정, 데이터 설정 등
│ ├── inference.py # ODQA 모델 평가 또는 제출 파일 (predictions.json) 생성
│ ├── inference.sh # inference.py를 실행하기 위한 스크립트
│ ├── load_data.py # 데이터셋을 정의하고 DatasetDict를 반환하는 스크립트
│ ├── run.sh # train.py를 실행하기 위한 스크립트
│ ├── run_mrc.py
│ ├── train.py # MRC, Retrieval 모델 학습 및 평가
│ └── README.md # ODQA 모델 평가 또는 제출 파일 (predictions.json) 생성
│
├── data/
│ ├── retrieved_context_dataset/ # retrieval에 사용되는 corpus
│ │ ├── train_3.csv
│ │ └── valid_3.csv
│ │
│ ├── test_dataset/ # MRC 모델 평가 시 사용되는 데이터
│ │ ├── validation/
│ │ └── dataset_dict.json
│ │
│ └── train_dataset/ # MRC 모델 학습 시 사용되는 데이터
│ ├── trian/
│ ├── validation/
│ └── dataset_dict.json
│
└── README.md
$ ./code/run.sh
$ ./code/inference.sh
code/
디렉토리에서,
python retriever/retrieval_dense.py
- Exact Match(EM)
- 모델의 예측과 실제 답이 정확하게 일치하는 경우 1, 아니면 0
- 띄어쓰기나 특수문자를 제외하여 비교
- 여러 개의 실제 답 중 하나라도 일치하는 경우 정답
- F1 Score
- 리더보드에 반영되지 않는 참고용 점수
- 예측한 답과 ground-truth 사이의 token overlap을 f1으로 계산
리더보드 | 순위 | EM | F1 |
---|---|---|---|
Public | 8 | 68.33 | 78.57 |
Private | 10 (2🔻) | 65.0 | 77.03 |