Notice
Recent Posts
Recent Comments
Link
관리 메뉴

one by one ◼◻◼◻

[NLP논문리뷰]Zero-shot Generalization in Dialog State Tracking through GenerativeQuestion Answering 본문

논문리뷰

[NLP논문리뷰]Zero-shot Generalization in Dialog State Tracking through GenerativeQuestion Answering

JihyunLee 2022. 1. 9. 12:34

논문 제목 : Zero-shot Generalization in Dialog State Tracking through Generative Question Answering

저자 : Shuyang Li,,  Jin Cao, Mukund Sridhar, Henghui Zhu, Shang-Wen Li, Wael Hamza,  Julian McAuley

 

제가 연구하고 있는 분야인 TOD(Task Oriented Dialogue), 그 중에서도 DST(Dialogue State Tracking)에 관련된 논문입니다. 

DST는 대화안에 있는 중요한 내용을 찾아서 기록하는 모델을 말하는데, 이 논문은 Question Answering을 통해서 Zero-shot DST를 구현하였습니다. 그럼 리뷰 시작하도록 하겠습니다.

 

Abstract

DST가 실 생활에 적용되기 위해서는 학습 시 보지 않았던 새로운 domain에 대해서도 적응이 가능해야 합니다. 예를 들어, 호텔 예약과 관련된 대화 시스템의 경우, 모델을 학습할 때에는 호텔 가격에 대해 유저가 원하는 정보를 찾아내는 것을 학습하지 않았 더라도, 추후에 그 기능이 필요하면 새로 전체 모델을 학습하지 않아도 유저가 호텔 가격에 대해 말할 때 유저가 호텔 가격에 대해 말한 것을알고, 그 가격대를 기록할 수 있어야 합니다. 이것을 Zero-shot DST라고 합니다. 그러나 현재 존재하는 방법들은 Zero-shot에 대한 성능이 좋지 못했습니다. 연구원들은 QA시스템을 이용하여 학습시 보지 않았던 도메인과 slot value에 대해서도 추론이 가능한 system을 만들었고, Zero-shot 부분에서 SOTA를 달성하였습니다.

 

1. Introduction

Dialogue Agent는 우리의 일상에서 점점 더 많이 사용되고 있습니다. DST는 유저의 발화중 의미있는 정보를 추출해서, 대화를 통해 목적(ex, 식당 예약, 호텔 예약 알아보기 등)을 달성할 수 있도록 합니다. 

전통적으로 DST는 미리 정해진 ontology(의미있는 정보와, 그 값을 미리 정의, 호텔-지역 : 서울 중앙, 남쪽, 북쪽 서쪽,동쪽 ..이런식으로)를 이용하였지만, 실 생활에 적용되기 위해서는 한번도 보지 않은 값(ex, 서울 강북)에 대해서도 적용해야 하고, 새로운 slot(호텔-가격)에 대해서도 적용이 가능해야 합니다. 

최근 QA를 통해 DST가 이러한 능력을 가지도록 하는 시도들이 있었고 이 논문도 이와 비슷하게 QA로 DST를 진행하였고, 기존에 QA-dst가 가진 몇몇 문제점들을 개선하여 더 좋은 성능을 이끌어낸 논문입니다.

논문이 기여한 점을 정리하자면, 1. ontology-free한 모델을 만들어  냈고, 2. 전체 데이터로 학습했을 때 sota성능을 달성하였고, 3. zero-shot learning에서도 sota를 달성한 것 입니다.

 

2. Approach 

이 논문은 Gao et al. (2019) 에서 DST를 reading comprehension problem(QA) 문제로 다뤘던 것처럼 dialog context에 질문을 하여, 값을 찾아내는 방식으로 DST를 진행하고 있습니다. 논문의 model은 language model이 일반적으로 언어에 대한 이해를 가지고 있다는 것을 바탕으로 하고 있기 때문에 zero-shot inference이 가능합니다. 또한 이 방법론은 영어 뿐만 아니라, 다양한 언어에도 적용이 가능 합니다.

 

Generalizing to New Domains and Slots

앞서 말했듯, 실생활에 적용하려면 DST는 새로운 도메인에도 잘 적용될 수 있어야 합니다. 그러나 ontology(미리정의된 domain과 value)을 사용한 모델은 이것이 불가능하고, Span based방식(대화에서 값의 시작점과 끝점을 찾는 방식)은 대화 내에서 value가 정확하게 명시되어 있어야 한다는 단점이 있습니다. 해당 논문은 ontology를 사용하지 않고, 그리고 generatvie한 방식을 사용하여 zero-shot dst가 가능하도록 만들었습니다.

 

3. Model Architecture

연구자들은 논문에서 사용할 모델로 encoder-decoder를 가진 모델과, decoder만 가지는 모델을 실험해 보았고, decoder만 가지는 모델이 성능이 조금 더 좋았기 때문에 decoder만 가지는 GPT-2을 기본 baseline으로 하였습니다.

 

4.Data

MultiWOZ 데이터를 사용하였고, zero-shots 실험에는 DSTC8 data로 augment를 진행했습니다.

 

5. Experiments

Joint Goal Accuracy로 DST의 성능을 평가했습니다. Joint Goal Accuracy는 한 턴의 대화에서 모든 slot-value쌍이 정답이 되었을 때, 맞는 것으로 평가합니다. 이 논문은 Supervised DST(전체 데이터 사용)과, Zero-shot 모두 측정하였고, Zero-shot에 좀더 초점을 맞추어 분석하였습니다.

 

5.1 Supervised DST

먼저 다른 모델과 평가하기 위해 전체 데이터로 학습하는 Supervised DST로 실험을 해 보았습니다.

Table 1을 보면 LM은 전체 sequence에 loss를 적용한것, CLM은 slot value tokens에만 cross entropy를 적용한 것, noPT는 pretraining을 하지 않은것, 그리고 Q는 slot query에도 cross entropy loss를 적용한 것을 의미합니다.

 

실험을 거쳐 가장 성능이 좋은 모델과 비교한 표 입니다. SOTA모델들과 비슷한 성능이 나오는 것을 알 수 있습니다.

 

5.2 Zero-Shot DST

Zero-shot DST가 가능한 다른 모델과의 비교입니다.  훨씬 좋은 성능이 나오는 것을 알 수 있습니다(하지만 DSTC8로 pre-training을 했기 때문에.. 정말로 zero shot이라고 말할 수 있는건지 약간 의문이 듭니다..!)

 

Error Modalities

에러를 분서한 표 입니다. 정답에는 해당 항목이 있지만 prediction에서는 해당하는 doamin을 언급한 적 없다고 하는 경우가 가장 많이 틀린 case였습니다.

 

 

끄읕~~.

 

 

 

Comments