Task Oriented Dialogue Task는 시스템(서비스)이 서비스에 목적을 가진 사용자로부터 대화를 통해 서비스에 필요한 정보를 수집하는 Task 입니다(예: 레스토랑 예약, 항공 예약, 설문조사 등). ToD는 시스템 관점에서 사용자의 의도와 슬롯(개체명)등을 통해 대화의 상태(State)를 파악하고 응답(Action)을 하는 방식으로 동작합니다. 이 Task의 궁극적인 Goal은 대화가 끝난 시점에 시스템이 필요한 슬롯들을 모두 확보하였는지를 보는 것입니다. 그러기 위해서 각 턴 별로 사용자의 의도가 무엇인지, 슬롯을 얼마나 잘 파악하는지, 대화 상태를 추적을 잘하는지, 응답을 얼마나 잘 하는지 등에 대해 평가를 합니다.
논문 내용
Task Oriented Dialogue Task의 경우 다른 Dialogue Task와 비교하였을 때 데이터 양 측면에서 상대적으로 많지 않습니다.
여럿 Chit-chat Dataset을 기반한(Reddit, Twitter 등) Task Oriented Pre-trained 모델을 활용하였지만 목적이 명확하고 대화의 각 턴의 순서가 의미가 있는 Task에는 다른 모델들에 비해 개선된 의미를 찾기 어려운 케이스로 보입니다.
ToD-BERT는 Task Oriented Dialogue Task Dataset을 활용한 Task Oriented Pre-trained 모델입니다. 해당 테스크의 언어를 이해하기 위한 MLM 학습과 각 대화 턴의 순서를 인지할 수 있는 RSL(Response Selection Loss)를 활용하여 ToD task에 의미 있는 정보들을 BERT 모델에 pretraining을 하는 것입니다.
ToD-BERT의 목표는 단순히 BERT의 성능을 높히기 위한 것 뿐만 아니라 ToD-BERT를 활용하여 목적하고자 하는 적은 케이스의 ToD 데이터를 가지고도 타당할 만한 성능을 보일 수 있는지도 살펴보고 있습니다.
이 논문은 ToD Task를 어떻게 하면 효율적으로 활용할 수 있는지 Task-oriented Pretraining 관점에서 살펴보고 있다고 생각합니다. 개인적으로 각 Task에서 SOTA를 기록했다는 내용보다 Few-shot Learning에 의미가 있다는 점에서 활용가치가 더 있어 보입니다.
Abstract (요약) 🕵🏻♂️
The use of pre-trained language models has emerged as a promising direction for improving dialogue systems. However, the underlying difference of linguistic patterns between conversational data and general text makes the existing pre-trained language models not as effective as they have been shown to be. Recently, there are some pre-training approaches
based on open-domain dialogues, leveraging large-scale social media data such as Twitter or Reddit. Pre-training for task-oriented dialogues, on the other hand, is rarely discussed because of the long-standing and crucial data scarcity problem.In this work, we combine nine English-based, human-human, multi-turn and publicly available task-oriented dialogue datasets to conduct language model and response selection pre-training. The experimental results show that our pre-trained taskoriented dialogue BERT (ToD-BERT) surpasses BERT (Devlin et al., 2018) and other strong baselines in four downstream taskoriented dialogue applications, including intention detection, dialogue state tracking, dialogue act prediction, and response selection. Moreover, in the simulated limited data experiments, we show that ToD-BERT has stronger few-shot capacity that can mitigate the data scarcity problem in task-oriented dialogues.
이 논문을 읽어서 무엇을 배울 수 있는지 알려주세요! 🤔
Prerequisite Study: Task Oriented Dialogue System
시스템 진행 순서
유저의 의도와 슬롯(엔티티)를 파악 (NLU)
이전 대화 히스토리를 토대로 대화의 상태를 정의 (DST)
대화 상태를 토대로 액션을 결정 (DP)
액션 정보와 시스템이 제공할 지식을 가지고 응답 결정 또는 생성 (NLG)
Introduction
ToD Dataset의 경우 데이터양이 작고 레이블 정보가 생각보다 산개된 형태로 구성
ToD 특성 상 유저와 시스템이 명확한 목적을 가지고 있기 때문에 대화의 각 요소들을 ToD 시스템이 이해하는 것이 중요
이 논문은 ToD 데이터의 말뭉치를 활용한 pre-trained 모델을 가지고 해당 도메인의 downstream task의 성능을 높히고자 함
Pre-training 모델을 활용하여 적은 데이터 셋으로도 괜찮은 성능을 보이는 것으로 ToD-BERT 모델이 reliable 할 수 있다는 것을 보이고자 함
BERT 모델을 활용하여 ToD-BERT를 만들고자 제안
BERT와는 다르게 pretrain 시 유저와 시스템을 가르키는 USR와 SYS 토큰을 같이 적용하여 학습
Dialogue Pre-trained Language Modles
주로 Reddit이나 Twitter를 활용한 오픈 대화 도메인의 데이터셋으로 학습한 Transformer(including BERT) 계열 모델들이 많음.
GPT-2의 경우 ToD 데이터를 적용한 사례가 있지만 응답 생성에 초점이 맞춰져 있음.
모델 사례
오픈 도메인 배경 모델 사례
ConvRT
PLATO
ToD 배경 모델 사례
GPT-2
DialoGPT
Method
데이터
총 9개의 데이터셋으로 60개의 도메인과 100K 대화와(평균 약 10턴) 1.4M 발화를 활용하여 Pretrained 모델을 학습
주로 레스토랑 예약, 스케줄 예약, 홈 네트워크 점검, 정보 검색 등과 같은 다양한 도메인의 대화 유형들을 가지고 있음
대부분 유저와 시스템(종종 사람이 이 역할을 하기도 함) 간의 대화를 하는 형태로 구성이 되어 있음
ToD-BERT 모델
Uncased BERT를 활용하여 Task Oriented Pretraining을 함
BERT와 동일하게 Masked Language Modeling(MLM)을 학습 하고 Next Sentence Prediction(NSP)를 대신하여 Response Selection Loss(RSL)을 적용
RSL의 목적은 적절한 응답이 되었는지를 보는 스코어 이다. (ConvRT에서 활용한 방식으로 "Response Selection is a task of selecting the
most appropriate response given the dialog history."라 이야기 하고 있다.) 한 배치 안에 Dialogue 중에 Negative Sampling을 하는 방식으로 구성함
RSL의 경우 대화의 순서를 학습하고자 하는 목적이 있기 때문에 NSP 또는 Inter-Sentence Cohesion과 같은 성격을 그대로 유지한다고 봄
Downstream Tasks
Downstream Task를 학습하는 것은 우선 Multi-task Learning으로 진행하지 않아서 각 Task별로 따로 모델 학습과 테스트를 진행함.
실험 코드를 확인하면 테스크에 대한 입력 토큰은 utterance 정보와 usr, sys, cls, sep 토큰 등으로 구성되어 있음. 별 다른 입력값에 대한 기교를 주지 않았음.
Intent classification: 이전 시스템 발화와 현재 유저 발화 정보를 통해 유저의 의도를 분류하는 Task
Dialogue state tracking(DST): 이전 대화 히스토리 정보와 현재 유저 발화 정보를 통해 유저의 1개 이상의 슬롯과 도메인 페어를 예측하는 Task (Single Turn의 발화만의 슬롯과 도메인을 예측하면 NER Task가 될 수 있음)
Dialogue act prediction(DM): DST와 마찬가지로 입력정보는 동일하고 Action에 대한 Multi-class 분류를 하는 Task
Response selection(NLG로도 볼 수 있음): 응답 텍스트를 정하는 Task (앞서 RSL과 동일)
Results
ToD-BER-mlm: MLM 학습만 한 모델
ToD-BER-jnt: MLM과 RSL 학습을 같이한 모델
이하 생략.
Visualization
My thoughts
BERT를 활용하여 Task Oriented Pretraining을 하고 BERT와의 차별성을 성능과 정보표현 측면에서 보인다는 점에서는 좋은 시도라 생각
Few-shot learning에서 (특히 Response Selection의 경우) 그냥 괜찮은 활용이 될 수 있다 정도로 봄
하지만 다른 벤치마크 모델들과 성능을 비교해 보았을 때 뚜렷하게 아주 효과가 있다는 느낌은 받지 못함
Summerize: "Don't Stop Pretraining"논문과 비슷한 맥락으로 Task Oriented Pretrained Model => Downstream task 방향으로 접근해서 모델링을 하는 것이 task 성능에 전반적으로 긍정적인 영향을 주는 또 하나의 사례로 생각
어떤 내용의 논문인가요? 👋
ToD 사전 지식
Task Oriented Dialogue Task는 시스템(서비스)이 서비스에 목적을 가진 사용자로부터 대화를 통해 서비스에 필요한 정보를 수집하는 Task 입니다(예: 레스토랑 예약, 항공 예약, 설문조사 등). ToD는 시스템 관점에서 사용자의 의도와 슬롯(개체명)등을 통해 대화의 상태(State)를 파악하고 응답(Action)을 하는 방식으로 동작합니다. 이 Task의 궁극적인 Goal은 대화가 끝난 시점에 시스템이 필요한 슬롯들을 모두 확보하였는지를 보는 것입니다. 그러기 위해서 각 턴 별로 사용자의 의도가 무엇인지, 슬롯을 얼마나 잘 파악하는지, 대화 상태를 추적을 잘하는지, 응답을 얼마나 잘 하는지 등에 대해 평가를 합니다.
논문 내용
Task Oriented Dialogue Task의 경우 다른 Dialogue Task와 비교하였을 때 데이터 양 측면에서 상대적으로 많지 않습니다.
여럿 Chit-chat Dataset을 기반한(Reddit, Twitter 등) Task Oriented Pre-trained 모델을 활용하였지만 목적이 명확하고 대화의 각 턴의 순서가 의미가 있는 Task에는 다른 모델들에 비해 개선된 의미를 찾기 어려운 케이스로 보입니다.
ToD-BERT는 Task Oriented Dialogue Task Dataset을 활용한 Task Oriented Pre-trained 모델입니다. 해당 테스크의 언어를 이해하기 위한 MLM 학습과 각 대화 턴의 순서를 인지할 수 있는 RSL(Response Selection Loss)를 활용하여 ToD task에 의미 있는 정보들을 BERT 모델에 pretraining을 하는 것입니다.
ToD-BERT의 목표는 단순히 BERT의 성능을 높히기 위한 것 뿐만 아니라 ToD-BERT를 활용하여 목적하고자 하는 적은 케이스의 ToD 데이터를 가지고도 타당할 만한 성능을 보일 수 있는지도 살펴보고 있습니다.
이 논문은 ToD Task를 어떻게 하면 효율적으로 활용할 수 있는지 Task-oriented Pretraining 관점에서 살펴보고 있다고 생각합니다.
개인적으로 각 Task에서 SOTA를 기록했다는 내용보다 Few-shot Learning에 의미가 있다는 점에서 활용가치가 더 있어 보입니다.Abstract (요약) 🕵🏻♂️
The use of pre-trained language models has emerged as a promising direction for improving dialogue systems. However, the underlying difference of linguistic patterns between conversational data and general text makes the existing pre-trained language models not as effective as they have been shown to be. Recently, there are some pre-training approaches based on open-domain dialogues, leveraging large-scale social media data such as Twitter or Reddit. Pre-training for task-oriented dialogues, on the other hand, is rarely discussed because of the long-standing and crucial data scarcity problem. In this work, we combine nine English-based, human-human, multi-turn and publicly available task-oriented dialogue datasets to conduct language model and response selection pre-training. The experimental results show that our pre-trained taskoriented dialogue BERT (ToD-BERT) surpasses BERT (Devlin et al., 2018) and other strong baselines in four downstream taskoriented dialogue applications, including intention detection, dialogue state tracking, dialogue act prediction, and response selection. Moreover, in the simulated limited data experiments, we show that ToD-BERT has stronger few-shot capacity that can mitigate the data scarcity problem in task-oriented dialogues.
이 논문을 읽어서 무엇을 배울 수 있는지 알려주세요! 🤔
Prerequisite Study: Task Oriented Dialogue System
시스템 진행 순서
Introduction
Dialogue Pre-trained Language Modles
모델 사례
Method
데이터
ToD-BERT 모델
Downstream Tasks
Downstream Task를 학습하는 것은 우선 Multi-task Learning으로 진행하지 않아서 각 Task별로 따로 모델 학습과 테스트를 진행함. 실험 코드를 확인하면 테스크에 대한 입력 토큰은 utterance 정보와 usr, sys, cls, sep 토큰 등으로 구성되어 있음. 별 다른 입력값에 대한 기교를 주지 않았음.
Results
이하 생략.
Visualization
My thoughts
Summerize: "Don't Stop Pretraining"논문과 비슷한 맥락으로 Task Oriented Pretrained Model => Downstream task 방향으로 접근해서 모델링을 하는 것이 task 성능에 전반적으로 긍정적인 영향을 주는 또 하나의 사례로 생각
같이 읽어보면 좋을 만한 글이나 이슈가 있을까요?
레퍼런스의 URL을 알려주세요! 🔗
더운 여름 휴가 기간에 나와 스터디 하시느라 고생하셨습니다^^