(작성중) [챗봇] HyperCLOVA 캐릭터 챗봇 (Naver Deview 2021)

이정관·2022년 1월 16일
0

챗봇

목록 보기
4/4
post-thumbnail

목차

  1. 캐릭터 챗봇
  2. PAS 대화 생성 파이프라인
  3. PAS 대화 검수 파이프라인
  4. Case Study
  5. 마치며

서두

캐릭터 챗봇은 3가지 페르소나 설정이 필요 : 대화체, 세계관, 성격

1.1 캐릭터 페르소나

대화체: 구어체, 산문체, 의미를 헤치지 않는 선에서 특정한 단어 선택과 같은 것이 특정 캐틱터의 고유성을 부여

세계관: 캐릭터 프로필 + 배경이 주어졌을 때 이에 대해 잘 답변할 수 있어야 함

성격: 펭귄 캐릭터 (펭수)는 거만하고 자랑하는 태도로 일관됨

1.2 Retrieval & Reranker

페르소나 설정하는데 있어서 가장 확실한 방법대화 DB안에서 필터링하는 것

1.3 대화 DB 제작 파이프라인 오버뷰

  1. 대화 DB를 HyperCLOVA로 생성 후
  2. 필터 모델을 만들어서 검수

2. PAS 대화 생성 파이프라인

Few-shot Learning (HyperCLOVA)

2.1 Naive Few-Shot Approach의 한계

2.2 대화 구조 그래프

간단하고 피상적으로 흐르는 대화 구조

  • 유저가 대화에 능동적으로 참여할 수 있도록 (즉, 대화의 흐름을 제어하는 방향으로)
  • 여러가지 발화 패턴 사용

각 노드를 보는 것처럼 깊은 대화가 가능!

각각 대화 세션 생성!

대화 노드 (캐릭터 발화) 종류 별로 대화 세션 생성을 어떻게 제어?

2.3 PAS (Purpose-Action-Situation) 대화 모델

1. Purpose

  • 캐릭터의 대화 목적 ex) 위로, 대학 합격 축하 등 목적성 을 가진다

2. Action

  • 캐릭터 발화 패턴 제어
  • ex) 피드백, 경험담 공유
  • 강화학습에서의 Action에 해당할 수도 있겠다는 생각이 든다.

3. Situation

  • 유저가 이야기하는 대화 맥락 및 상황
  • ex) 어제 차였어, 누가 커피 쏟아서 미끄러졌어, 사기 당했어

2.4 PAS로 얻을 수 있는 대화씬 품질

  1. 다양한 캐릭터 발화 기법으로 더 능동적인 사용자의 대화 참여 유도
  2. 정해진 대화 목적과 발화 기법으로 캐릭터의 성격 제어
  3. 캐릭터 대화 목적과 유저 상황으로 다양한 시나리오 커버

2.5 DB 제작 파이프라인 오버뷰

2.6 생성 파이프라인

  • Purpose-Action 정의
    • 사람이 직접, "분노해주는", "위로해주는" Purpose와 "자기개방", "피드백" 과 같은 Action을 정의

  • HyperCLOVA의 자동 생성 기능을 이용해 Situation 리스트 생성
    • 다양성과 구체성 확보를 위해 진행

(중략....)

2. 캐릭터 성격 반영

3. 다양한 대화 시나리오

좋은 품질의 캐릭터 대화 DB를 효율적으로 구축할 수 있을까?

profile
Deep Learning Research Engineer@KRAFTON Inc.

0개의 댓글