Can You Put it All Together:
Evaluating Conversational Agents’ Ability to Blend Skills
https://arxiv.org/pdf/2004.08449.pdf
Being engaging, knowledgeable, and empathetic are all desirable general qualities in a conversational agent.
Open-domain 챗봇은 단순히 하나의 특성만 띄어서는 안되고 Engaging과 Knowledgeable, Empathetic 측면에서 골고루 좋은 성능을 보여야한다. 본 연구에서는 단순히 모델을 통합시키는 것 부터 Multi-task까지 다양한 시도를 하였고, 세가지 특성을 모두 훈련 시킬 수 있는 Blended Skill Talk라는 새로운 데이터셋을 제안한다.
연구의 목적은 간단하다. 챗봇이 다방면에서 좋은 스킬을 갖게하는 것이다. 데이터셋을 수집하기위해 2600명정도의 인원으로부터 생성하도록하였고, 평균적으로 5.4개의 대화를 만들었으며 최대 15개 대화를 만들었다. 한 대화(Dialogue)에는 평균적으로 11.2개의 Utterance(5.6쌍)이 존재한다.
가장 흥미로운 점은, 모델을 활용하면서 데이터 셋을 구축했다는 점이다. 데이터를 생성하는 사람들은 답변시에 매번 모델이 생성한 3가지의 대답을 받는다. 이 3가지 대답은 위에서 언급한 3가지 스킬을 따로 훈련시킨 모델이 낸 답변이다. 답변하는 사람은 이 세가지중 하나를 선택해서 사용할 수도있고, 수정할 수도 있으며, 무시하고 답변을 할 수도 있다. 개별모형이 훈련한 데이터셋은 아래와 같다.
- ConvAI2
Personality(인간성), Engagingness(참여도)에대한 데이터셋이다. 서로 모르는 두 명에게 각자 페르소나를 주고, 그 역할에 맞춰 서로를 알아가는 대화로 구축이 되어있으며 14만개의 uttrance를 포함하고 있다.
- Empathetic Dialogues (ED)
Empathetic(감정, 공감)에대한 데이터셋이다. 대화중에 공감하는 내용이 담겨있다.
- Wizard of Wikipedia (WoW)
Wikipeia를 기반으로 깊이있는 대화, 전문적인 대화로 이루어진 데이터 셋이다. 모든 것을 아는 Wikipedia의 마법사와 호기심이 많은 견습생의 대화로 이루어져있으며, Wizard를 Bot으로 대체하는 것이 목적이다.
각 데이터셋으로 따로 훈련된 모델을 사용한다면, 언제 어떤 모델을 사용할지 선택할 수 있어야한다는 것이다. 예를 들어 어떤 대화를 할 때, 지식기반 모델로 답변할지, 공감모델로 답변할지 선택할 수 있어야한다는 것이다.
모델이 개별적으로 학습하거나 Multi task Learning으로 학습이 가능하지만, 각 데이터셋으로 획득할 수 있는 스킬을 하나만 늘리는 것보다 어떻게 적절하게 골고루 활용할 수 있느냐에 초점을 맞춰 구축한 데이터셋이다.
위 예시에서는 WoW주제가 주어지고 대화가 진행되는데, Guided Speeker는 Acutal utterances부분에서 모델이 추천한 대답인 "Indded,Some games games purposely desingned to be a work of a persons creative expression, many though have been challenged as works of art by some critics"를 선택하였고, 수정없이 사용하였다. 단순히 사람이 대답을 하는 것이 아니라 모델이 추천하는 대답을 제공하는 이유는, 너무 일반적인 대답을 하지 않게하고 한가지 스킬에 대한 대답을 하는 것을 막는데 있다. 예를들어, 계속 공감하는 대답만하지않고 다른 대답도 제안하여 사람에게 대답의 폭을 넓히는 것이다.
위 데이터는 허깅페이스에 배포된 데이터셋에서 직접 가져와 보기 편하게 단순한 가공을 거쳤다. 페르소나가 주어지고, additional_context는 주어질 수도, 주어지지 않을 수도있다.(논문예시에서는 Video game design이 주어졌다.) UngidedSpeeker가 whats your favorite cuisine to cook?이라고 묻고 Guided speeker는 well, I enjoy italian food가 주어지며 대화가 시작된다. context는 ConvAI2로 주어졌다. 이 경우에는 단순히 페르소나와 previous_utterance가 대화기록으로서 input으로 들어가게된다. (ED라면 situation이, WoW데이터라면 additional_context가 주제로 입력된다). Table1을 통해 적절히 잘 섞였다는 것을 보여주고있다.
Dialogue | Utterance | |
Train | 4819 | 27018 |
Validation | 1009 | 5651 |
Test | 980 | 5482 |
'인공지능 > NLP' 카테고리의 다른 글
[논문리뷰]CoMemNN : A Cooperative Memory Network for Personalized Task-oriented Dialogue Systems with Incomplete User Profiles (0) | 2021.08.18 |
---|---|
[논문리뷰]Results & Analysis 페이스북의 챗봇 레시피 (0) | 2021.08.08 |
[논문리뷰]페이스북의 챗봇 레시피 : Recipes for building an open-domain chatbot (0) | 2021.08.06 |
Self-Attention과 Masked Self-Attention (0) | 2021.04.15 |
Attention과 장기 의존성 (0) | 2021.04.15 |
댓글