Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

언어 전공자의 NLP 로그

Personalizing Dialogue Agents: I have a dog, do you have pets too 본문

논문 읽기

Personalizing Dialogue Agents: I have a dog, do you have pets too

JohnnyNLP 2024. 2. 23. 14:16

논문 출처 : https://arxiv.org/abs/1801.07243

 

Personalizing Dialogue Agents: I have a dog, do you have pets too?

Chit-chat models are known to have several problems: they lack specificity, do not display a consistent personality and are often not very captivating. In this work we present the task of making chit-chat more engaging by conditioning on profile informatio

arxiv.org

  • 잡담용 챗봇에 사용되는 LLM은 다양한 소스의 텍스트를 학습하기 때문에 구체성이 부족하고 일관된 성격을 나타내지 못하여 사용자에게 지루함을 준다.
  • 본 논문은 이를 1) 사용자 프로필 정보에 따라 조건을 부여하고, 2) 대화를 진행함에 따라 사용자에 대한 정보를 습득하는 방식으로 이를 개선코자 한다.

1. Introduction

  • 일반적인 잡담형 챗봇의 단점은 다음과 같다.
    • 다양한 화자로부터 대화를 학습하기 때문에 일관된 성격이 부족하다.
    • 최근 대화 내용에 기반한 발화 내용만 생성하기 때문에 장기 기억력이 부족하다.
    • "모르겠다"와 같은 구체적이지 않은 답변을 생성하려는 경향이 있다.
    • 위 세 가지 문제가 결합되어 유저에게 불편함을 주는데, 이는 잡담에 쓰이는 범용 데이터 셋이 없기 때문이다.
  • 이처럼 대화 품질이 떨어져 오픈 도메인 챗봇은 task-oriented 방식이나 싱글턴 QA에 비해 조명을 받지 못하고 있다.
  • 프로필은 특정 페르소나를 구현하는 여러 문장 집합으로, 이는 메모리 증강형 인공 신경망에 저장되고, 더욱 개인적이고 구체적인, 일관된 답변을 생성하는 데 사용된다.
  • 이와 동일한 메커니즘으로 대화 상대의 페르소나에 대한 정보도 활용이 가능하다. 따라서 해당 모델은 사적인 주제에 대해서 질문과 답을 동시에 학습한다.
  • PERSONA-CHAT 데이터셋은 임의로 짝지어진 크라우드 워커간의 대화로 이루어진 162,064개의 발화문이다. 이들은 주어진 페르소나 정보에 기반하여 서로 자연스러운 대화를 주고 받는다. 이를 통해 에이전트는 상대방을 알아가기 위한 흥미롭고 매력적인 대화를 모방하고자 할 것이다.
  • 다음 발화 예측 과제에 대해서 생성형 모델과 랭킹 모델 모두를 비교하였으며, 둘 모두에서 페르소나 정보를 조건으로 했을 때 향상된 예측률을 보였다.

2. Related works

  • 대화 상태 추적 컴포넌트나 대화 생성기와 같은 building block으로 이루어진 전통적인 대화 시스템은 대게 목표 지향 대화에 사용되었다.
  • 이러한 대표적인 사례로는 부분 관측 마르코프 의사 결정 절차 (POMDP)가 있다.
  • 이처럼 대부분이 기능성에 초점을 맞추었지, 개성을 드러내는 일상 대화는 고려하지 않고 있다.
  • 기능 대화가 아닌 시스템은 대체적으로 손 코딩 요소 (규칙 기반?)와 머신 러닝 요소를 섞어 놓은 형태이다. 가장 간단한 형태의 통계 기반 시스템에서는 정보 검색 모델을 차용하며, 본 논문에서도 이를 베이스라인으로 삼는다.
  • 종단간 신경망 모델로 당시 가장 화제였던 seq2seq를 언급하며, 이들의 장기 기억 의존성을 한계점으로 지적한다.
  • 또한 기존의 대화 시스템용 훈련 데이터는 다양한 화자를 포함하기 때문에 일관된 성격을 모델에 투영하기 어렵다.
  • (Li et al., 2016a)에서는 트위터 코퍼스를 활용해 각 사용자의 페르소나를 분산 임베딩하고, 해당 화자 정보에 대한 벡터를 활용하는 방식으로 동일 화자에 대한 seq2seq 모델 출력 성능을 향상시켰으나, 여기에는 다른 화자를 알아가는 과정에 대한 시도가 이루어지지 않았다.

3. PERSONA-CHAT Dataset

  • PERSONA-CHAT 데이터셋은 크라우드 소싱으로 구성하였으며,
    • 최소 5개 프로필 문장이 포함된 1155개의 페르소나 집합에서 각각 100개의 검증/시험용 페르소나 집합을 만들고,
    • 사소한 단어 중복에 집중하는 것을 막기 위해 1155개의 동일 페르소나와 관련된 문장들을 재구성하는 식으로 과제 난이도를 높였으며,
    • 실험자 두 명에게 페르소나를 임의로 부여하여 총 10,907번의 대화와 162,064개의 발화를 생성, 그중 일부를 역시 검증/시험용으로 빼두었다.
  • 최종 데이터셋은 ParAI2에 오픈 소스로 제공된다.
  • 대화는 최대 15 단어의 짧은 문장으로, 최대한 자연스러운 서술형으로 구성하고자 했다.
  • 이때 주의할 점은 대화 내용에 최대한 프로필 정보가 드러나지 않게, 반영되지 않게 하는 것이다. 그러나 사람이라면 무의식적으로 이를 대화에 반영할 수밖에 없다. 따라서 또 다른 그룹의 실험자들에게 해당 프로필 문장을 재생성하게 했다. (A : 학습용 프로필 문장 => 모델이 학습할 프로필 / B : paraphrase된 프로필 문장 => 실제 대화에 쓰일 프로필)
  • 대화는 최소 6~8턴으로 이루어지며, 프로필 설명에 쓰여 있는 문장을 그대로 대화에 사용하지 못하도록 했다.
  • 평가는 모델과 유저의 페르소나가 주어졌을 때 혹은 주어지지 않았을 때, 총 4개의 조합으로 한다. 메트릭은 1) perplexity로 측정한 참 문장의 log likelihood, 2) F1, 3) 다음 발화 분류 손실값 세 종류이다.

4. Models

  • 다음 발화 예측에 두 개 클래스를 고려한다. 랭킹 모델은 훈련 셋으로부터 응답이 될만한 발화를 생성해내고, 생성 모델은 대화 히스토리 (페르소나)에 기반하여 새로운 문장을 뽑아내 단어 단위로 생성한다.
  • 베이스라인 모델은 IR 베이스라인 (Sordoni et al., 2015)과 지도 학습 임베딩 모델인 Starspace (Wu et al., 2017)이다.
    • IR은 가장 간단한 모델로, 데이터 셋에서 가장 유사한 메시지를 검색하여 응답을 출력한다. 유사도는 TF-IDF 가중 코사인 유사도이다.
    • Starspace는 마찬가지로 정보 검색을 수행하나, margin ranking loss와 k-negative sampling을 활용하여 임베딩을 최적화함으로써 대화 기록과 다음 발화 간의 유사성을 학습한다. 유사도는 코사인 함수로, 쿼리 q와 후보 c'의 단어 임베딩 합계의 코사인 유사도를 계산한다.
    • 두 방법 모두에서 프로필 문장은 간단하게 bag of words 쿼리 벡터를 연결해준다.
  • 두 베이스라인 모델 모두 프로필 정보를 대화 기록과 결합 (concatenate)하여 사용한다. 그러나 이 모델들은 대화 기록과 프로필을 구분할 수 없다. 따라서 본 논문의 모델에서는 대화 기록과 관련된 메모리 네트워크를 인풋으로, 이후 프로필 문장에 대한 어텐션을 수행하여 관계성을 찾고, 이를 인풋에 합쳐 최종적으로 다음 발화를 예측한다.
  • 본문의 모델은 Starspace와 표현식과 손실 함수가 동일하며, 따라서 프로필을 제외하면 완전히 동일하다.
  • 프로필이 주어졌을 때 인풋 q와 프로필 문장 $pi$의 유사도를 softmax로 계산하고, 여기에 가중합을 취한다.

$q+=q+∑sipi,si=Softmax(sim(q,pi)),Softmax(zi)=eiz/∑jejz,sim(q+,c′)→rank c′$

  • Key에 attention을 수행하고 value를 출력하는 KV memory network (Miller et al., 2016) 모델을 대화 기록에 적용한다. 이때 트레이닝 셋의 대화 내역을 key로, 다음 발화를 value로 간주한다. 과거 대화 내용을 key로 받기 때문에 현재 대화 예측에 도움을 줄 수 있다. 물론 턴이 길어질수록 트레이닝이 굉장히 더뎌지기 때문에 본 논문에서는 프로필 메모리 네트워크만 학습하여 해당 가중치를 그대로 적용했다고 한다.
  • 워드 임베딩은 GloVe를 사용했고, encoder-decoder Bi-LSTM으로 최종 히든 스테이트를 산출한다.

5. Experiments

  • 성능은 IR 베이스라인 < Starspace < Profile Memory network 순으로 나타났고, KV Profile Memory network의 경우는 페르소나가 주어지지 않았을 때 Profile Memory보다 뛰어난 성능을 보였다. 그러나 페르소나가 주어졌다면 두 모델이 유사한 성능을 보였다.
  • 페르소나를 수정한 경우, 난이도가 다소 상승하여 지표가 떨어지는 것을 볼 수 있다. 그러나 수정된 페르소나로 학습을 진행했을 경우에는 모델이 더 깊은 의미를 찾으려 하기 때문에 성능이 약간 상승한다.
  • 모델의 일부 교정을 통해 제3자의 페르소나도 가정할 수 있으나, 이때는 데이터셋 역시 일부 수정되어야 할 것이다.
  • 인간 평가 결과는 기존의 방식만큼의 fluency와 consistency를 유지하면서, persona detection 항목의 점수가 올랐다는 데 의의가 있다. 따라서 페르소나를 부여하기에 적합한 데이터셋이다. 다만 그 외 평가 항목 (fluency, consistency, consistency)에서 전반적인 성능 향상이 나타나지 않은 점은 아쉽다.

6. Conclusion & Discussion

  • 본 데이터셋으로 학습한 다양한 베이스라인 모델들에서 자신의 페르소나에 대해서 정의되어 있는 모델은 보다 일관적인 (consistent) 대화 성능을 보여줌을 확인했다.
  • 또한 페르소나의 유무와 관련 없이, 본 Persona-chat 데이터셋으로 훈련한 모델이 다른 movies, Twitter 데이터셋으로 훈련한 모델보다 더 engaging한 대화를 보여준다.