boostcampaitech2 / mrc-level2-nlp-04

mrc-level2-nlp-04 created by GitHub Classroom
4 stars 5 forks source link

elastic_search_apply_SHR #30

Closed raki-1203 closed 2 years ago

raki-1203 commented 2 years ago
  1. arguments.py

dense_retrieval.py

self.p_embedding = self.get_dense_embedding()  # get_sparse_embedding()로 생성합니다
self.indexer = None  # build_faiss()로 생성합니다.

이 부분을 추가해줬습니다. faiss 이용하려면 self.indexer 를 쓰는 것 같아서 추가해둡니다. 물론 없어도 실행하는데는 지장 없을 것 같긴해요

elastic_search.py

elastic_search 를 위한 함수들을 클래스로 묶어놨습니다. 이게 살짝 문제점이 있는게 처음 index_name 에 corpus 를 저장해둘 때 저장하고나면 에러가 뜨더라구요 저장은 잘되는데 다시 실행해야 하는 문제점이 있긴 한데 뭐 한번만 저장하면 그 index_name 불러오는건 문제없더라구요 그래서 그냥 올립니다.

prepare_dataset.py

이거는 데이터를 미리 저장해놓는 파일입니다. '\n', '\n', '#' 문자 제거하고 영어, 숫자, 한국어, 일본어, 한자, answer 에 포함된 특수문자를 제외한 모든 문자 제거해줍니다. 여기서 중요한 부분은 make_custom_dataset 함수이고 여기에서 데이터들을 미리 만들어놓는 작업을 해줘요

retrieval_test.py

elastic_search 를 사용해서 top-k 에 대한 accuracy 를 확인할 수 있도록 코드 추가했습니다.

utils_qa.py

utils_retrieval.py

:)

다들 이해가 잘되시길 바래요!