회의록을 활용한 Closed-Domain Question Answering(CDQA)
안녕하세요! 저희는 AI의 A부터 I까지 모든 것을 경험할 준비가 된 열정 가득한 사람들이 모인 MNM팀 입니다!
"뭐든 내게 물어봐!"
김태일_T3063 | 문찬국_T3076 | 이재학_T3161 | 하성진_T3230 | 한나연_T3250 |
---|---|---|---|---|
Member | Contribution |
---|---|
김태일 | 데이터 전처리, 학습 모델 Baseline 제작, Web 서비스 구축 |
문찬국 | 데이터 가이드라인, Reader 모델, 발표 자료 제작 및 발표, 협업 관리 |
이재학 | EDA, 데이터 전처리, 데이터 Augmentation, Reader 모델 |
하성진 | Reader 모델, Retriever 모델, Telegram 서비스 구축 |
한나연 | 데이터 가이드라인, Retriever 모델, Web 서비스 구축 |
프로젝트 주제 : 회의록을 활용한 Closed-Domain Question Answering(CDQA)
프로젝트 주제 선정 기준 :
- 내가 겪은 어려움/불편함을 해결할 수 있는가?
- 부스트 캠프에서 배운 내용을 활용해 AI 프로젝트의 전 과정을 모두 경험할 수 있는가?
- 주어진 기간(3주) 내에 완성할 수 있는가?
문제 정의: 클로바 노트 등을 활용해 회의록을 쉽게 기록할 수 있게 됐지만, 정보 검색이 어렵다는 문제 발견
개발 목표 : 사용자의 회의록 코퍼스에서 궁금한 질문을 주고 받을 수 있는 회의록 QA 모델 제작
Dataset : 데이콘 회의 녹취록 요약 경진대회의 의회 데이터를 이용하여 직접 구축
Annotation Tool : Haystack을 이용하여 데이터 태깅
Guideline : FAQ 작성 및 질문 유형화
🤗RoBERTa-Large Finetuning Twice(MRC) : Nonegom/roberta_finetune_twice
🤗Finetuning with Our Dataset : wogkr810/mnm
GPU : Tesla V100 32GB
- Elasticsearch 설치를 먼저 진행해 주세요!
# 파이썬 버전 확인 (3.8.5 확인)
python3 --version
# venv 설치
sudo apt-get install python3-venv
# 가상환경 생성하기
python3 -m venv [venv_name]
# 가상환경 활성화(생성한 가상환경 폴더가 있는 경로에서 활성화 해야 함)
source [venv_name]/bin/activate
# 라이브러리 설치
pip install -r requirements.txt
# 가상환경 종료
deactivate
streamlit run main_streamlit.py
# 텔레그램 공식 챗봇 생성 절차를 진행하여 토큰을 부여 받아, 관련 정보를 코드에 추가 후 실행
python main_telegram.py
- feat : 새로운 기능 추가
- debug : 버그 수정
- docs : 문서 수정
- style : 코드 formatting, 세미콜론(;) 누락, 코드 변경이 없는 경우
- refactor : 코드 리팩토링
- test : 테스트 코드, 리팩토링 테스트 코드 추가
- chore : 빌드 업무 수정, 패키지 매니저 수정
- exp : 실험 진행
- merge : 코드 합칠 경우
- anno : 주석 작업
- etc : 기타
final-project-level3-nlp-09
├── assets
├── data
├── data_augmentation
│ ├── eda.py
│ ├── aeda.py
│ ├── pororomt.py
│ ├── augmentation.ipynb
├── data_utils
│ ├── EDA.ipynb
│ ├── data_split.ipynb
│ ├── data_upload.ipynb
│ ├── haystack_preprocess.ipynb
│ ├── make_demo_txt.py
├── model
│ ├── README.md
│ ├── arguments.py
│ ├── elastic_setting.py
│ ├── inference.py
│ ├── retrieval.py
│ ├── submission.py
│ ├── topk_timer.py
│ ├── train.py
│ ├── trainer_qa.py
│ ├── utils_qa.py
│ ├── setting.json
│ ├── sweep.yaml
├── main_streamlit.py
├── main_telegram.py
├── README.md
└── requirements.txt
- Fine-tuning Strategies for Domain Specific Question Answering under Low Annotation Budget Constraints
- EDA : Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks
- AEDA : An Easier Data Augmentation Technique for Text Classification