NL-022, SDNet: Contextualized Attention-based Deep Network for Conversational Question Answering (2018-Arxiv)
0. Abstract
- Conversation question answering을 CQA라 여기서 부름.
- CQA는 통역/동시성 해결/문맥 이해가 필요함.
- 여기서 제안한 모델은 inter-attention 과 self-attention을 이용하였다.
- BERT를 이용하였다.
1. Introduction
- CQA 데이터 세트 설명 CoQA, QuAC, QBLink가 있다.
- CoQA: https://stanfordnlp.github.io/coqa/
- QuAC: https://quac.ai/ (No paragraph인 듯, MRC가 아닌 질문 답변이 대화식으로 있음)
- QBLink: https://sites.google.com/view/qanta/projects/qblink (MRC인데 noanswerable도 있는듯. MS Marco 처럼)
- 이 논문이 나오기전에, BiDAF++, FlowQA, DrQA+PGNet이 존재하지만 리더보드보면 성능이 별로임.
- 이 알고리즘은 몇 개의 특징이 있다.
- Inter-attention과 self-attention을 이용하여 passage와 dialogue history를 효과적으로 이해한다.
- BERT contextual embedding을 이용하는데, 정통으로 이용하는 방법과 달리 여기서는 weighted sum of BERT layer outputs을 제시한다. (난 여기서 BERT 이용하는 것을 처음봐서 그런가보다 했음...)
- 이전 QA
2. Approach
- 방법은 생각보다 상당히 간단한데 이 방법은 DrQA+PGNet에서 했던 방법이라고 한다.
- 현재 5번째 질문이라고 하면 내가 알고 있는 것은 (Q1,A1,Q2,A2,Q3,A3,Q4,A4,Q5)가 될 것이다.
- 이 중 latest N 개의 과거 정보 (Q,A)을 이용하여 새로운 Question을 재형성한다.
- 예를 들면 N=3이면, (Q2,A2,Q3,A3,Q4,A4,Q5)가 new Question이 되는 것이다.
- 모델은 첨부한 파일 참고
3. Experiments
- 데이터셋은 평균 15 turn 정도를 가지고 있다.
- 각 도메인당 100 passages가 development 세트로 100 passages가 test 세트로 사용되었다.
- 여기서 BERT-base는 리더보드에 test dataset으로 실험된 결과이다. Dev로 한 것을 왜 표시안했지?
- 8 epochs만에 SOTA 달성
- Dev set에서는 사실 BERT-base와 SDNet과 큰 차이가 없어 보임.
- 하지만 리더보드에서는(test 데이터에서) 큰 차이가 있음.
- 일반적인 방법인 Using last layer of BERT 방법보다 살짝 성능이 증가하는 것을 보아 앞으로 이러한 방법이 많이 쓰일까나??
- N이 2일때 가장 효과적...사실 근데 이거는 데이터에 따라 다를테고..아마 앞으로의 연구에서는 N을 고정시키지 않고 하는 방법이 나올거 같음.
4. Conclusion
- NLP, BERT의 최신 연구들을 혁신적인 방법으로 사용하였다.(weighted sum을 말하는듯)
- SDNet은 CoQA에서 SOTA 달성하였다.
- 앞으로 open-domain multi-turn QA with large corpus or knowledge base에 적용해볼 것이다.
Reference
댓글
댓글 쓰기