[Persona] WHAT, WHEN, and HOW to Ground: Designing User Persona-Aware Conversational Agents for Engaging Dialogue

AND_E·2024년 2월 26일

Paper Review

목록 보기
5/5
post-thumbnail

논문 제목 : WHAT, WHEN, and HOW to Ground: Designing User Persona-Aware
Conversational Agents for Engaging Dialogue

논문 링크 : https://aclanthology.org/2023.acl-industry.68.pdf

Abstract

Personalized dialogue 시스템은 상황에 맞게 적절하고 자연스러운 반응을 찾는것이 중요함. 특히 모델 추론 중에 어떤 페르소나 속성을 선택해야할 지 결정하는 것은 중요한 문제(what to ground)
또한 대화 맥락에서 보다 자연스러운 대화를 위해 personalized response를 생성하지 않는 것이 나을 수 있다. 매 턴마다 페르소나 정보를 언제 접지(ground)할지 결정하는 모델이 필요하다.(when to ground)

즉 3가지 문제가 있음

  1. 어떤 개인 정보를 대화에 사용해야하나?
  2. 언제 개인 정보를 대화에 사용해야하나?
  3. 어떻게 자연스럽고 인간처럼 응답을 생성하나?

기존 페르소나 대화 생성 모델 문제점:
개인화된 대화 시스템은 personalized conversation에서 자연스러운 응답을 생성하는 것에 중점을 둠.
즉 다른 일반적인 대화로의 변환은 고려되지 않음.

  • GPT-3가 NLU 작업에 좋은 성능을 보이지만 WWH 문제를 해결하기엔 부족함.

해결

  1. MSPD(Korean Multi-Session Personalized Dialogue dataset) 데이터셋 create
  2. 대화 데이터셋의 혼합가중치를 조절하여 모델의 persona-grounding level을 조절
  3. turn label 사용 - 생성품질 향상, 제어 가능성과 해석가능성을 높이기 위해서
    turn(이번차례) label은 해당 turn이 personal인지 casual인지 아니면 input인지를 나타낸다.
  • 최종적으로 180억개의 매개변수를 가진 LLM을 제작함
  • Metric으로 4가지 grounding 타입을 제시

Introduction

Introduction은 짧게 설명해보자

이 논문의 핵심은 페르소나를 갖추었지만 사용자와 자연스럽게 대화 하는 것이다.

여기서 주장하는 것은,

굳이 개인적인(personalized) 내용을 챗봇이 말할려고 하는 것보다 일상적인 대화를 하려고 하면 더욱 자연스러운 대화가 가능하다는 것이다.

Dataset

SKT 논문이니만큼 A.(에이닷) 앱에 있는 챗봇과 대화하기 위해서 한국어 데이터셋이 필요했을 것이다.

Korean Multi-Session Personalized Dialogue dataset을 만들었다고 한다. 이를 MSPD라고 하자.

  • 이 데이터셋은 에이전트가 unique role들을 수행하는 것을 포함
  • 그래서 다른 PD dataset과 다르다.
  • 평균적으로 1개의 에피소드에 대해 4개의 세션이 있고, 하나의 세션에는 10-12개의 대화 turn이 이루어진다.

U : USER
A : AGENT

  • 페르소나가 사용된 발화는 빨간색으로 색칠했다고 하고, 새로운 페르소나 속성은 파란색이다.
  • 세션당 personalized response에 대해서는 caption을 달았다.
  • 13,469개의 에피소드를 만들었다고 한다.

데이터를 자세히 보자.

데이터를 보면 11개의 대화 중, personlized response가 1.9개임을 확인할 수 있다. 그러니까 실제로 사용자-맞춤 대화는 매우 적게 이루어진다. -> 그냥 챗봇 매우 비슷함


데이터셋을 보면, 유저의 나이와 성별은 기본값이고 여러 속성들이 저장되어 있다.

대화 중에 유저의 새로운 페르소나를 발견하면 이를 추출해야한다.

그리고 대화 중에 적절한 때에 페르소나 대화를 꺼내야한다.

MSPD 데이터셋 말고도 더욱 모델을 balance 있게 만들기 위해서 casual한 대화 데이터셋을 추가한다. 이를 DcasualD_{casual}이라고 한다.

  • 데일리, 지식기반, 공감적인, 그리고 personalized 대화를 생성해낸다고 한다.
  • 1250만개의 대화의 모음집이라고 한다.
  • AIhub 데이터셋을 사용했다고 한다.

(내국인만 사용가능이라 한다)

Methodology

방법이 뭘까?

논문을 읽고 보니 엄청난 새로운 방법은 아니었다.

크게 3가지 방법이 사용되었다

  • negative persona augmentation
  • dataset blending
  • response type generation

모델은 response에 대한 label 또한 생성해내는데 이를 Response Type Labels(RTL)이라고 한다.

Persona-Grounded Generation

여기서 ground는 한국어로 '접지'이며, 페르소나에 닿아있는지(나타내는지?) 의미하는 용어이다. '접지'라는 용어는 조금 생소하니 그냥 영어 ground로 적어보자.

training dataset의 속성을 알아보자.

d : demographic information (성별, 나이)
pmp^m : subset of user persona
cmc^m : dialogue context
cmc^m = [u1u_1, a1a_1,u2u_2, a2a_2,u3u_3, a3a_3...,um1u_{m-1}, am1a_{m-1}, umu_m]
u : user
a : agent
ymy^m: target response
ymy^m = [y1my_1^m, ... , ylmy_l^m]
은 m번째 agent의 응답(ama_m)에 인덱싱된다.
l은 target response의 length이다.

그럼 추구해야하는 함수를 보자.

P(ymd,pm,cm)=t=1lP(ytmd,pm,cm,y<tm)P(y^m|d,p^m,c^m) = \prod_{t=1}^{l}P(y_t^m|d,p^m,c^m,y_{<t}^m)
이를 Negative log-likelihood로 나타내자

LNLL=t=1llogP(ytmd,pm,cm,y<tm)L_{NLL} = -\sum_{t=1}^l logP(y_t^m|d,p^m,c^m,y_{<t}^m)

지금까지 본 언어 모델과 다를 바 없다.

Dataset Blending

하나의 데이터셋만 사용하는 것이 아니라 여러 데이터셋을 섞는다.

장점

  • 다양성이 증가
  • 공감 능력 증가
  • 대화 시스템 지식 증가
  • 자연스러운 대화 능력 증가

MSPD를 두가지로 나눈다

  • agent's personalized response(DMSPDPRD_{MSPD-PR}) - Figure의 red
  • non-personalized response (DMSPDNPRD_{MSPD-NPR}) - Figure의 black 부분

final training dataset은 over-sampling or under-sampling으로 합했다고 한다.

dataset의 weight는 위처럼 설정했다고 한다.
이 예시는 나중에 보자.

Control of WHEN & WHAT by Negative Samples

Control of WHEN

자연스러운 대화를 위해 의도적으로 페르소나와 관계없는 내용을 persona subset에 넣었다.

이를 negative persona subset이라 한다.

  • ground 하려는 성향을 suppresses 한다
  • 너무 많은 augmentation은 모델 성능을 방해하기 때문에 DMSPDNPRD_{MSPD-NPR} 데이터셋에서만 데이터 augmentation을 진행했다고 한다. (DcasualD_{casual}에서는 진행하지 않음.)

Control of WHAT

무슨 반응을 생성할 것인가?

두가지 반응을 동시에 생성한다.

  • ground-truth persona attributes : pposp_{pos}
  • negative persona : pneg1,...,pnegk1p_{neg1}, ..., p_{negk-1}

그리고 다양한 옵션들 중에 현재 대화 문맥에서 가장 적절한 것을 선택하도록 한다.

여러 부정적 페르소나 속성을 ground truth 페르소나 속성에 추가하는 것을 'negative persona 속성확대'라고 한다.

결과적으로 페르소나 subset을 아래처럼 변경한다.


그리고 페르소나의 집합 구성은 위와 같다.

Controllability & Explainability via Response Type Label

Controllability

길고 거창하게 적어놓았지만 label을 추가해서 생산한다는 의미이다.

그러니까 모델이 response와 동시에 일치하는 RTL token을 생성한다는 것이다.

  • CRTL : casual 한 반응 타입 라벨이다.
  • PRTL : personalized 반응 타입 라벨이다.

Explainability

Error 분석은 매우 중요한데 이는 노동 집약적인 과정이다.

따라서 모델이 생성해낸 반응을 설명하기 위해 RTL을 도입한다.

이에 따라서 Error 분석이 더욱 쉬워지고 편리해졌다고 한다.

Experiments

  • blending weight의 영향을 조사했다.
  • 사내 180억개의 파라미터 수를 가진 pretrained 언어모델을 baseline으로 사용했다고 한다.
  • NVIDIA A100을 사용했다고 한다..

Evaluation

Objective Evaluation

  • Perplexity(PPL)을 사용했다.
  • F1 score를 사용
  • P-coverage score 사용 : 얼마나 persona가 반영되었는지 확인하기 위함

Subjective Evaluation

  • 사람 평가를 추가했다.
    session과 turn level
  • Sensibleness와 Specificity 점수를 매김
    - 0또는 1로 점수를 매김
  • 4가지 grounding type 제안
    - grounding level
    1) Hard Grounding
    2) Soft Grounding
    - consistency category
    1) Consistent Grounding
    2) Inconsistent Grounding

Results

Effect of Negative Persona Attributes

Model1은 오직 페르소나 데이터와 일반 데이터를 학습시킨 것이다.
Model2는 페르소나 속성중에 일반적인 속성을 추가한 것이다.

PPL은 11.4 -> 10.97 (0.43 감소)
F1 점수는 0.28 -> 0.15 (0.13 감소)
P-Cover 점수 0.12 -> 0.07 (0.05 감소)

즉 grounding frequency 점수는 낮아졌지만, 주어진 대화 문맥상에서 적절한 페르소나 속성을 찾는 능력은 높아졌다.

Effect of Negative Persona Subset

Negative Persona Subset을 통해 Model3는 문맥에 페르소나 반응이 적절하지 않을 때 페르소나 문장을 생성하는 것을 억제하도록 학습한다.

Model2와 비교해서,

PPL : 10.97 -> 9.37 (1.6 감소)
F1 : 0.15 -> 0.1 (0.05 감소)
P-Cover : 0.07 -> 0.05 (0.02 감소)

Model2와 비교해서 PPL이 많이 감소한 것을 확인할 수 있다.

이는 모델이 좀 더 유창하게 하는 key reason임을 확인할 수 있었다.

Effects of Blending Dataset

가중치를 보면 알 수 있다 시피, ground와 flency에서 trade-off가 발생함을 알 수 있다.

페르소나 negative sample이 많을 수록 덜 ground 하고 더 자연스러운 대화흐름을 가진다.

Effect of RTL generation

Model3와 Model4에 차이가 있다.

PPL점수 9.37 -> 8.88
F1 0.1 -> 0.1
P-Cover 0.05 -> 0.46

일단 PPL점수가 8.88로 낮아졌다. 그 이유는 대상 응답과 관련된 정보를 동시에 생성할 때 생성의 질이 향상되기 때문이다. (Kim et al (2022))

그리고 90개를 sample로 뽑아서 확인해보았는데 casual 은 96.7%, personalized는 98.8%의 정확도를 보였다.

Subjective Grounding Evaluation

-> 위 결과는 사람의 평가로 이루어졌고 sensible하지 않다면 0점을 준 것이다. 0점을 준 점수의 비율을 계산했다.

Hard와 Soft 모두 보면 대부분이 Consistent한 결과이다.

  • Soft보다 Hard가 4배 정도 많았다.
  • bad sensible 비율은 10% 이내였다. -> 모델이 persona에 더 접지하려고 하면 가끔 부자연스러운 응답을 생성한다고 한다.

그리고 Session 평가에서는 의미가 없었지만 response와 RTL을 동시에 만드는 것은 fluency에 긍정적 영향을 주었다고 한다.

Correlation between objective and subjective evaluation

subjective 평가과 p-coverage metric과의 상관관계를 찾았다고 한다.

table 1에서 model4는 P-Coverage 점수가 살짝 낮아진 것을 확인할 수 있었다.

이는 Model4의 Table3에서 모델의 grounding propensity이 낮아진 것을 확인할 수 있다.

즉 주관적 평가가 하기 힘든 것을 고려하면 객관적인 평가가 모델의 fluency와 grounding을 하는 경향을 평가하는 데 feasible해 보인다고 말한다.

즉, p-coverage와 grounding propensity의 상관관계를 연구한 것이다.

개인적인 A. 채팅 사용 후기

  • 답변이 매우 빠르고 정확한 편 good
  • 근데 너무 답변이 빨라서 개인적으로 너무 당혹(?) 스러움
    - 칼답해야할 것 같은 부담감이 생김
  • 새로운 주제를 사용자가 꺼내야함.
  • 새로운 얘기를 많이하다보면 오래전에 한 이야기(시간상x)은 잊는 경향이 있음.

0개의 댓글