UBAR paper review
이전 리뷰 -> TOD, DST 설명
이전 리뷰 -> simpleTOD paper review 이전 리뷰 -> Soloist paper review
introduction
이전의 연구들인 SimpleTOD, Soloist 같은 GPT-2 based TOD system은 몇 가지 문제점이 있고 dialog session level 대신 dialog turn level에서 train, evaluation이 진행된다.
-
이러한 방법의 dialog history는 user utterance, system respone 로만 구성되며 이전 턴의 belief state 및 system act 와 같은 정보는 제외된다. 제외된 정보는 현재 턴 생성에 유용한 정보가 될 수 있다.
-
dialog history에 있는 user utterance의 system respone 는 label 이라 할 수 있는데 이 label 사용하여 dialog session과 다른 turn과 독립적으로 dialog generation을 진행한다. (같은 대화 안에 있는 문장들은 서로 의존적일텐데 독립적으로 생성한다.)
-
실제 대화에서 정답 시스템 응답에 액세스할 수 있다는 가정은 효과적이지 않다.
이 문제점을 해결하고 dialog session level 에서 Task-oriented dialog를 모델링 하는 Task-oriented dialog system 인 UBAR를 제안
UBAR는 user utterance, belief state, database result, system act, system response으로 구성된 전체 dialog session sequence(input)를 Transformer 기반의 Auto-regressive language model인 GPT2에 fine-tuning 해서 답변(output)을 얻는다.
Model Architecture
Modeling on a Dialog Session Level
기존의 SimpleTOD, Soloist는 dialog 안에서 전체 dialog history를 input (U,S,U,S,U,S,…,U) 으로 GPT-2에 넣어 belief state, system act , system respone를 생성하였다.
하지만 UBAR는 dialog history를 Session level로 input(U)을 GPT-2에 넣어 Belief state, system act , system respone를 생성한다.
UBAR도 대화가 t로 진행됨에 따라 dialog session level의 User utterance로 belief state를 생성하고 이 belief state 값을 DB에 query를 보내 query에 맞는 DB값을 찾고
User utterance, belief state, DB result를 조건으로 System Act를 얻는다.
그리고 User utterance, belief state, DB result, System Act으로 delexicalized Response를 얻는다.
그러면 각각의 session level의 sequence로 공식화 할 수 있다.
기존의 방법 - ${U_0, R_0, U_1, R_2,…, U_{t-1}, R_{t-1},U_t }$
UBAR 제안 방법 - ${U_0, B_0, D_0, A_0, R_0,…,U_t, B_t, D_t, A_t, R_t}$
UBAR는 context에서 Belief state, DB result, system Act를 통합한다.
Domain-Adaptive Pre-processing
Respone를 delexicalizing 하고 Belief state, DB result, system Act의 정보를 span으로 변환하여 dialog data를 전처리를 한다.
모든 sequence는 구성요소(U, B, D, A, R)사이에 시작(sos_?)과 끝(eos_?)을 나타내는 special token으로 둘러싸여 있다.
Delexicalization
모델이 독립적인 매개변수를 학습할 수 있도록 Delexicalized response를 generation 해야한다.
Delexicalization는 특정한 slot값을 해당되는 카테고리에 넣어두어 respose generation할 때 카테고리가 출력되게 하는 방법이다.
ex) I like Ryon -> I like
이 값은 나중에 DB의 검색 결과로 채워진다.
Belief State and System Act Spans
Belief State는 Domain-Slot, value pair로 이루어져 있다. UBAR에서는 domain과 slot의 name을 분리해서 Slot이 일치한다면 다른 Domain에서도 사용해도 된다. Domain을 분리하면 다른 Domain에서도 학습할 수 있고 Domain, Act, Slot-values는 Special Token으로 괄호를 사용해서 학습 시킬 수 있다.
ex= {[domain] [inform] slot … [request] slot …}
Architecture and Training Objective
모델은 GPT-2를 사용한다. Loss는 GPT-2의 Auto-regressive Loss를 사용한다. (다음 단어의 예측 확률을 최대화 한다.)
\[L = \sum_ilogP(w_i \mid w_{< i)}\]Experiment
Data
데이터셋은 MultiWOZ 2.1, MultiWOZ 2.0에 대해서 진행한다.
이들은 10000개 이상의 multi-domain 발화로 구성 되어 있으며 35개의 domain-slot쌍과 5개의 도메인(기차, 레스토랑, 호텔, 택시, 명소)로 구성되어 있다. 공개적으로 사용 가능한 가장 큰 3개의 multi-domain TOD dataset이다.
Evaluation
본 논문에서는 automatic evaluation metrics를 따른다.
- Inform - 시스템이 올바른 entity를 제공했는지 여부를 측정
- Success - 요청된 모든 정보에 응답을 했는지 여부를 측정
- BLEU score - 생성된 응답이 얼마나 잘 생성됬는지 여부를 측정
- Combined score - (Inform+Success)x0.5+BLEU
- joint goal accuracy (JGA) - DST 성능평가
Result
MultiWOZ2.0 End-to-End Modeling 성능 측정
다른 End-to-End Model인 SimpleTOD, SOLOIST보다 좋은 성능을 보인다.
MultiWOZ2.0 End-to-End Modeling 성능 측정
DST 성능측정
DST 성능도 현재 기준 5위 논문이다.
Analysis and Discussion
세가지의 실험을 더했다.
- 어떤 종류의 dialog cotext를 사용했는지
- Trun-level VS Session-level
- unseen domain을 얼마나 잘 detection 하는지
어떤 종류의 dialog cotext를 사용했는지
All - all previous turn
Prev- just the last turn
GT - Ground-Truth, Gen - Generation
이전 턴만 사용해도 SimpleTOD, SOLOIST를 이겼다. session-level로도 충분한 성능이 나온다. 짧은 context에서도 동작을 잘한다 -> 효율적이다. TOD에 적합하다.
Trun-level VS Session-level
Beilef State, ststem Act 같은 정보들은 Dialog history 보다 더 중요하다는 실험 결과
실제로 U&R보다 B&A의 점수가 높다.
unseen domain을 얼마나 잘 detection 하는지
Zero-shot Basemodel도 일반적으로 성능이 나온다. restaurant가 낮은 이유는 Train은 다른 domain하고 겹치는 일이 많은데 Restaurant는 Food slot은 다른 Domain과 겹치기 힘들기 때문
Conclusion
현재 기준 End-to-End GPT-2 based Task-oriented dialog system Sota model 현재 기준 DST 5위 모델
이전의 연구들인 SimpleTOD, Soloist 같은 GPT-2 based Task-oriented dialog system은 몇 가지 문제점이 있고 dialog session-level 대신 dialog turn-level에서 train, evaluation이 진행된다.
본 논문은 위의 문제점을 해결하고 dialog session level 에서 Task-oriented dialog를 모델링 하는 Task-oriented dialog system 인 UBAR를 제안
UBAR는 user utterance, belief state, database result, system act, system response으로 구성된 전체 dialog session sequence(input)를 Transformer 기반의 Auto-regressive language model인 GPT2에 fine-tuning 해서 답변(output)을 얻는다.
Task-oriented dialog system의 연구를 진행할 때 Turn-level이 아닌 Session-level로 Dialog history 사이사이에 숨어있는 Belief State, System act 정보들이 중요하다.
이 정보를 빼고 진행한 SimpleTOD, SOLOIST는 성능이 UBAR보다 좋지 않았다.
Leave a comment