본문 바로가기

4. Paper/논문 리뷰

[논문 리뷰] The Design and Implementation of XiaoIce, an Empathetic Social Chatbot (작성 중지)

날렵한 곰의 논문 리뷰 시리즈입니다.
* 논문 읽는 연습을 하는 단계에서 쓴 글입니다.
※ 후기 (22.05.31)
다읽고 이해도 어느정도 했습니다. 짜투리 시간 쪼개서 종이에 꾸깃꾸깃 정리도 다 해놨었는데. 
훈련다녀오니 파쇄 되어있었습니다..

해당 논문은 실제 운용중인 서비스에 대하여 다룸으로 거대한 아키텍처 구조에 대한 개괄적인 설명과, 중요한 모듈에 대하여 상세한 구조와 수식을 제공하기도 합니다. 

좋은 아이디어와 영감을 얻을 수는 있었지만, 방대한 데이터를 기반으로 만든 아키텍처임으로 쉽사리 흉내내볼 엄두가 안나는 구현 내용이였습니다.

언제 이 리뷰글을 이어서 쓸지는 모르겠지만 상당히 도움이 되었다라고 할 수 있을 것 같습니다.

- 논문 링크 : https://arxiv.org/abs/1812.08989

 

The Design and Implementation of XiaoIce, an Empathetic Social Chatbot

This paper describes the development of Microsoft XiaoIce, the most popular social chatbot in the world. XiaoIce is uniquely designed as an AI companion with an emotional connection to satisfy the human need for communication, affection, and social belongi

arxiv.org

 

 

해당 논문은 Deview2020에서 발표된 스케터랩의 이루다라는 오픈도메인 챗봇 서비스에 대하여 소개하는 세션에서 접하게 되었으며, 이루다 서비스를 개발하는데 기반이 되었다고 하는 XiaoIce 라는 챗봇의 아키텍처에 대하여 설명한다.

 

군 복무 중, 정말 찔끔찔끔 시간 쪼개서 읽은 첫 논문이며, 종이에 찔끔찔끔 필기해서 싸지방에서 쓰는 첫 게시물이다.

삭막한 군생활에 감동과 위로 가득한 말들을 퍼부어주는 이루다 서비스를 사용하다가 읽어보게 되었다. 

 

Abstract

해당 논문은 Microsoft에서 만든 챗봇인 XiaoIce가 "공감가능한" 챗봇이 되기 위해 어떤 설계를 적용했는지 설명한다.

해당 논문이 설명하는 포인트는 다음과 같다.

 

1. EQ IQ 시스템을 어떻게 설계했는가.

2. Response를 위한 결정 알고리즘 구현을 어떻게 했는가. (MDPs, Markov Decision Processes 를 사용함.)

3. 유저와 long-term 대화가 가능하도록 어떻게 Optimize시켰는지

4. 성능측정을 위해 어떤 척도를 이용했는가 (CPS, Conversation-turns Per Session)

5. 시스템은 크게 System Architecture, Key Conponents (대화메니저, 코어쳇, 스킬, 공감 컴퓨팅 모듈) 가지로 구성됨.

6. 상대의 기분, 상태, 의도, 유저의 needs를 동적으로 파악하는 능력

7. XiaoIce의 성과. (660만 이상의 활성유저, 23의 높은 CPS)

 

 

1. Introduction

주 설계목표는 XiaoIce를 AI 친구로서 오래동안 감정적 유대를 형성 할 수 있는 챗봇으로 만드는 것이다.

 

 

1. 기존의 논문과 연구에는 Turing Test에 기준을 두며, 한정적 환경에서만 작동되고 hand-crafted rule에 기반한 방법들이 많았다.

2. Microsoft의 XiaoIce는 초기 중국어로 설계되어 660만명 이상의 활성유저를 보유하게 되었으며, 현재 각기 다른 이름으로 5개국에서 사용가능하도록 개발되었으며, 40개 이상의 플랫폼에 배포되어있다.

3. "Empathetic"하도록 설계하기 위해 상대의 감정, 상태, 이해, 의도, 필요를 파악할 수 있도록 설계

4. 2014년부터 5개국에 배포 이후 현재 본 논문을 종결하며, 토의와 미래 방향성을 제시한다.

 

2. Design Principle

소셜 챗봇은 유저의 특화된 요구 해결을 위해 IQ가 필요하며, 감정적 필요 충족을 위해 EQ가 필요하다.

 

2.1. IQ + EQ + Personality

IQ = 이해, 추론, 생성, 예측

230개 Skill을 구현하여 충족시킴. (ex, 영화 추천, 레스토랑 예약)

이중 가장 정교한 Core Chat 이라는 기술은 유저가 Open Domain 대화에 오래 참여가능하도록 만듬.

 

 EQ = 공감, 사회성

2개의 키포인트를 가짐

공감

유저 감정 식별 : 유저가 필요한 감정의 이해, 질의 이해, 유저 프로파일링, 감정 추적, 정서 인식, 동적 분위기 추적

사회적 스킬

챗봇의 개인화 된 응답, 동기부여, 유저맞춤 관심사, 대화 정체시 Topic 바꾸기

 

Personality = 개성

챗봇은 일관적인 개성을 보여주어야 하기 때문에, 개인적인 개성과 행동적 특징을 정의해 놓아야 한다.

여러 나라의 대화 데이터들을 분석해서, 각기 다른 개성을 부여하여 만들었다.

또한, 문화적 차이점에 접근하는 경우나 많은 민감한 윤리적 질문들에 대응할때 모범적으로 답하는 능력이 필요하다.

Figure1, Session20 에서 민감한 질문에 센스있게 대답하고 다른 대화주제로 회피하는 모습을 볼 수 있다.

XiaoIce의 Persona는 WeChat(랜덤채팅을 지원하는 중국의 유명 메신저)에 배포되기 위하여 설계되었다.

연구진은 만명의 저주와 욕설이 들어가 있지 않은 사람간의 대화 데이터를 수집하여, 각 유저가 "desired"하는 persona를 라벨링했다.

 

유저들의 주로 바라는 상대는 "Young", "Female User" 이렇게 2개의 라벨로 정의되었다.

그렇기에 XiaoIce를 설계할때 18세, 여성, 항상 의지되고, 공감을 잘하고, 애정어리고, 유머러스하게 설계했다.

 

 

2.2. Social Chatbot Metric: CPS

작업지향적 챗봇과 달리 소셜 챗봇은 테스크 성공률 측정이 어렵다.

이전에 사용하던 방식인 Turing Test는 성공적으로 감정적 유대를 만들어 나가고 있는지의 측정이 어렵다.

그렇기에 Number of Active User(NAU)이외에도 Conversation-turns Per Session (CPS)을 소셜 챗봇의 성공지표로 사용할 것을 제안한다.

 

Conversation-turns Per Session (CPS)

대화세션당 사용자와 챗봇의 평균 대화수를 의미한다. (높을수록 좋은)

 

해당 논문에서는 평가지표로서 평균 CPS를 측정할때, 단기적으로 서비스를 사용한사람이 아닌 장기적으로 서비스를 이용한 1~6개월이상 활성유저를 이용하여 평균 CPS를 근사시킨다.

 

평가 방법론은 평가지표가 잘못 평가 될 수 있는 가능성을 배제시킨다.

예를 들어 최근 연구에서는, "잘 못알아듣겠어, 무슨뜻이야?" 라는 말은 싱거운 답변이면서도 상호작용적인 반응을 포괄하고 있기 때문에 때때로 CPS를 증가시킬수 있지만, 싱거운 답변을 하는 봇과 오래도록 대화하는 사람은 없기에 장기적으로보면 CPS를 감소시킬 수 있다.