Skip to content
Goo Gunmo edited this page Jun 3, 2021 · 22 revisions

✍️ Welcome to the VumBleBot's wiki!

Contributors

유령 스크린샷 2021-05-20 오후 6.04.55 스크린샷 2021-05-20 오후 6.05.30 스크린샷 2021-05-20 오후 6.05.40 스크린샷 2021-05-20 오후 6.05.06
김종헌 구건모 김성익 이수연 신지영

VumBleBot 소개

git범블봇

Open-Domain Question Answering(ODQA)는 다양한 주제에 대한 문서 집합으로부터 자연어 질의에 대한 답변을 찾아오는 task입니다. 이때 사용자 질의에 답변하기 위해 주어지는 지문이 따로 존재하지 않습니다. 따라서 사전에 구축되어있는 Knowledge Resource(본 글에서는 한국어 Wikipedia)에서 질문에 대답할 수 있는 문서를 찾는 과정이 필요합니다.

VumBleBot은 ODQA 문제를 해결하기 위해 설계되었습니다. 질문에 관련된 문서를 찾아주는 Retriever, 관련된 문서를 읽고 간결한 답변을 내보내주는 Reader가 구현되어 있습니다. 이 두 단계를 거쳐 만들어진 VumBleBot은 어떤 어려운 질문을 던져도 척척 답변을 해주는 질의응답 시스템입니다.

동작 원리

설계도

Project Readme

본 Repository를 활용하기 위한 가이드(Simple Use) 및 파일트리(File Structure)에 관한 설명에 담겨있습니다.

60612개의 한국어 wikipedia 데이터를 EDA한 노트북 파일들입니다. pic

1. 위키피디아 메타 정보 분석

제공된 지문 분석 및 토큰화된 결과 요약, Retriever가 Reader에게 전달해야 할 topk 개수 선정에 관한 자료들이 담겨있습니다.

2. 위키피디아 내부 중복 데이터 확인

Fuzzywuzzy ratio를 활용하여 문서 내 중복을 판별하였습니다.

3. 데이터 시각화

Boxplot 및 Histplot을 활용한 MRC / Korquad 데이터의 문서 길이 비교, 토큰 벡터를 TNSE로 시각화한 결과들입니다.

4. 예측값 후처리

예측된 결과값들의 관형사/부사/감탄사 등의 불용어 제거를 진행했습니다.

5. 문서와 사용자 질의에 등장한 단어들의 상관관계 분석

기계독해 과정에서 VumBlebot이 대답하기 어려워할만한 지문들을 분석하였습니다.

6-1. 예측값 프로파일링1

Retriever가 전달한 topk만큼의 근거 지문 내에서 VumBlebot이 똑똑하게 정답을 예측하는지를 분류하였습니다.

6-2. 예측값 프로파일링2

예측값과 정답이 다른 사례들을 뽑아 유사관계/포함관계/언어맥락 등을 살펴보며 프로파일링을 진행했습니다.

7. 예측과 정답 간의 상관관계 분석

Best prediction으로 분류된 예측과 정답간의 상관관계를 분석했습니다.

논문 정리

Open Domain Question Answering 문제를 해결하는데 도움이 될만한 논문들을 정리했습니다.

1-1. DrQA(2017)_1

1-2. DrQA(2017)_2

2. Cluster-Former(2020)

3. Survey on ODQA(2007)

Backbone 모델로 사용할 PLM의 아키텍처를 구현한 코드 조각들입니다.

1. Transformer

2. Albert & Roberta

3. Bert & Elmo

Zenhub에서 제공하는 칸반보드 형식의 UI를 통해 issue 관리, 일정 관리, 코드 리뷰, 버그 리포트 등을 진행하였습니다.

zenhub를 통한 이슈관리

VumBleBot을 탄생시키기까지 총 4주의 기간이 소요되었습니다. Milestone은 매 주간 Contributor들의 이정표가 되어주었습니다.

마일스톤

스크린샷 2021-05-23 오전 11 21 18

Technical review

VumBleBot을 만든 5명의 팀원이 함께 작성한 랩업 리포트입니다.

모델, 실험 관리 및 검증 전략, 앙상블, 코드 추상화 등 저희가 다룬 기술의 흐름과 고민의 흔적들이 담겨있습니다.