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이 존재하지만 리더보드보면 성능이 별로임.
  • 이 알고리즘은 몇 개의 특징이 있다.
    1. Inter-attention과 self-attention을 이용하여 passage와 dialogue history를 효과적으로 이해한다.
    2. BERT contextual embedding을 이용하는데, 정통으로 이용하는 방법과 달리 여기서는 weighted sum of BERT layer outputs을 제시한다. (난 여기서 BERT 이용하는 것을 처음봐서 그런가보다 했음...)
    3. 이전 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

댓글