사회성 있는 챗봇 핑퐁…’Make AI Social’

챗봇은 대화 인터페이스를 통해 사람 대신 작업을 처리하는 가상 비서다. 많은 기업이 챗봇을 도입해 직원의 업무 효율을 높이고, 사용자 경험을 개선하고 있다. 시장조사업체 IDC에 따르면 응답 기업의 24%는 향후 2년 이내에 챗봇이나 자동 대화 서비스를 도입할 것이라고 답했다. 성공적인 챗봇 도입을 위해서는 사용자가 챗봇과 하는 새로운 커뮤니케이션 방식을 거부감 없이 받아들일 수 있어야 한다. 따라서 더 사람 같은 친숙한 챗봇을 만들기 위한 연구가 활발히 진행되고 있다. 

더 사람같은 챗봇을 위한 연구를 하고 있다는 핑퐁팀을 찾아갔다. 핑퐁팀은 100억 건의 카카오톡 데이터를 학습한 일상 대화 기반 ‘핑퐁 빌더’를 제공한다. 핑퐁을 기반으로 만들어진 챗봇은 사용자와 평균 10턴 이상의 대화를 주고 받는다. 핑퐁팀의 최예지 AI 디자이너와 백영민 머신러닝 엔지니어를 만나 핑퐁이 사용자와 많은 대화를 주고 받을 수 있는 비결을 물었다.

최예지 AI 디자이너와 백영민 머신러닝 엔지니어

Q. 왜 이름이 핑퐁일까요? 
예지 그건 저희도 모릅니다. ㅋㅋ 우연히 이름을 이렇게 지었는데 꽤 잘 맞는 것 같다는 평을 들었어요.

Q. 핑퐁 학습 데이터는 어떻게 수집하나요?
예지 스캐터랩에는 핑퐁 말고도 ‘연애의 과학’이라는 콘텐츠 서비스가 있어요. 연애의 과학에서 제공하는 유료 서비스 중 카카오톡 대화 데이터를 분석해서 보고서를 만들어주는 기능이 있어요. 그걸 이용하시는 분들이 직접 데이터를 올려주세요. 그 데이터에서 개인정보를 필터링하고 핑퐁 기술 학습에 사용해요. 그렇게 모인 데이터가 100억 건 정도 돼요. 

Q. 커플 대화면 학습하는 데 한계가 있지 않아요?
영민 일반적으로 커플 대화가 올 것 같은데 생각보다 한쪽만 커플이라고 느끼는 상황인 데이터도 많아요. 하하
예지 맞아요. 이 상황이 썸일까 아닐까를 분석하는 보고서도 있어서요. 
영민 커플간 대화도 결국 사람 대 사람의 대화이기 때문에 친구 사이와 큰 차이는 없어요.
예지 오히려 더 좋아요. 친밀한 관계에서 애정표현만 계속하진 않으니까요. 사적인 대화나 일상적인 얘기가 더 많이 나오기 때문에..
영민 좀 더 좋은 것 같아요. 사실 친구랑은 대화가 잘 안 이어지고, 귀찮으면 답장도 잘 안 하잖아요. 근데 연인이나 썸이면 대화가 이어지는 게 보장이 되니까요. 어휘를 보면 커플 대화 같긴 한데 데이터 자체가 많아서 괜찮아요. 

Q. 카톡 데이터를 학습시킬 때, 데이터 전처리가 힘들었을 것 같은데요. 어떤 방식으로 처리했나요? 
영민 형태소 분석이나 토크나이저(Tokenizer)를 이용하기 전에 우선 데이터를 모델이 잘 이해할 수 있도록 깔끔한 형태를 만드는 노말라이즈(Normalize) 과정을 거쳐요. 비속어 필터링, 유저 필터링, 오타 교정, 띄어쓰기 수정을 해요. 그 과정에서 이모티콘, 사진, 시스템 메시지도 처리해요. 이후에 모델에 입력하기 위해 토큰 단위로 자르는 토크나이징 과정을 거쳐요. 한국어에서 가장 성능이 좋다고 알려진 Mecab(사용자 사전 추가)와 SentencePiece 알고리즘을 사용하고 있어요. 조금 더 자세한 내용은 핑퐁팀 블로그(blog.pingpong.us)를 참고해주세요!

Q. 새로운 데이터를 계속 학습시키면서 성능을 개선하고 있나요?
영민 최근 자연어처리(NLP)는 자기 지도 학습(Self-supervised Learning) 방법을 이용해요. 라벨이 없는 상태로 선행학습(Pre-training)을 해서 자연어 자체에 대한 특성을 학습하고, 파인 튜닝(Fine-tuning)으로 특정 태스크(Task)를 학습해요. 따라서 점점 많은 양의 특정 태스크를 위한 데이터(Task-specific)의 필요성은 줄고 있어요. 이러한 상황에서는 자원을 절약하기 위해 일정 주기를 두고 선행학습(Pre-training)을 진행하는 편이에요. 라벨이 있는 데이터 셋(Dataset)이 새로 들어오면 파인튜닝(Fine-tuning)을 진행해요. 최근에 이런 알고리즘을 적용해 성능을 많이 개선했어요.

Q. 카톡 데이터 말고도 학습시키는 데이터가 있나요?
영민 대화체인 카톡 데이터와 책이나 위키에서 볼 수 있는 문어체는 데이터 분포 자체가 너무 달라요. 문어체 데이터는 핑퐁에서 쓸모없을 확률이 높아요. 하지만 대화체와 문어체 둘 다 잘하는 모델을 만드는 것은 도전해보고 싶어요.

Q. 페르소나에 맞게 말투를 바꿀 수 있던데, 사용자가 수작업으로 해야 하는 일인가요?
영민 지금은 그래요. 이런 기술을 ‘Style Transfer’라고 하는데 최근 연구가 활발히 이루어지고 있어요. 하지만 영어에서조차도 아직 괜찮은 성능은 아니라서 한국어에서는 아직 갈 길이 먼 기술이라고 볼 수 있어요. 말투를 자동으로 바꾸는 건 아직 힘들 것 같아요. 무엇보다도 핑퐁이 주력하는 기술은 아니에요.

일상 대화를 잘 하는 핑퐁 – 핑퐁 공식 홈페이지에서 말을 걸어볼 수 있다. 

Q. 핑퐁은 일상 대화 기반 앱이기 때문에 활용 분야가 한정적 일 거 같은데, 구체적으로 어떤 경우에 핑퐁 빌더를 이용하나요?
예지 대화형 챗봇이라면 핑퐁을 이용할 수 있어요. 좀 더 말랑말랑한 대화를 하는 챗봇을 만들고 싶은 경우에 핑퐁을 쓰시는 것 같아요. 개인 프로젝트에도 많이 사용하시지만, 저희 타깃은 우선 엔터프라이즈에요. 의외로 은행이나 커머스에서 많이 사용하세요. 요즘 은행이나 증권사에서 챗봇을 많이 도입하는 추세잖아요. 챗봇을 개발했을 때 당장 높은 성능을 기대하기 어려워요. 사람들은 계속 말을 거는데 대화가 끊기면 사용자 경험이 떨어져요. 핑퐁을 이용한 봇은 사용자와 평균 10턴 이상 대화를 주고받아요. 말이 계속 이어지니까 사용자 경험을 개선할 수 있어요. 제품과 접점이 높아져 브랜드 노출 횟수도 많아지고, 제품 사용 빈도가 자연스럽게 늘어나는 거죠. 고객사에서 핑퐁에 브랜드 페르소나를 부여할 수 있기 때문에 많이 이용하세요. 

Q. 고객사에서 미리 정해놓은 기능 대화를 이어갈 수 없을 때 핑퐁을 이용하는 건가요?
예지 네. 그리고 저희가 해당 제품에서 이용할 수 있는 기능 대화를 노출해주기도 해요. 

Q. 핑퐁의 자동 답변은 정확히 무슨 일을 하나요?
예지 핑퐁의 자동 답변은 딥러닝을 이용해 정해진 답변 셋 중 가장 적절한 답변을 알아서 내보내는 기능을 해요. ‘사용자의 말에 대한 답변으로 적절한가’, ‘그리고 사람들이 호감을 느낄만한 자연스럽고 생동감 있는 답변인가’를 기준으로 잡았어요.

자동으로 리액션 답변을 하고 먼저 대화 주제를 던지는 핑퐁

Q. 토픽이라는 기능도 있던데, 그건 뭔가요?
예지 토픽은 사용자 경험에 의해 만든 스킬이에요. 핑퐁의 기술은 대부분 답변을 하는 쪽이라, 사용자가 계속 대화를 이끌어나가야 해서 힘들 수 있다고 생각했어요. 그래서 몇 번 정도는 핑퐁이 먼저 대화 주제를 던질 수 있도록 만들었어요. 

Q. 핑퐁과 비교할만한 챗봇이 어떤 게 있을까요?
예지 감성적인 챗봇이라는 점에서 타로챗봇 라마마와 비슷한 것 같아요. 인공지능 자유 대화라는 측면에서 심심이 얘기도 많이 나오는 것 같아요. 

Q. 핑퐁이 다른 챗봇에 비해 더 나은 점은 뭘까요?
예지 실제 대화 데이터를 많이 학습했기 때문에 다른 챗봇보다 NLU(Natural Language Understanding) 성능이 뛰어나요. 그리고 그에 대한 답변도 훨씬 더 자연스럽고 생동감 있어요. 

Q. 앞으로 핑퐁의 계획은 뭔가요?
영민 지금 전 세계적으로 가장 일상대화 기술을 잘 구현하고 있는 곳은 마이크로소프트라고 생각해요. 거기서 출시한 일상대화 챗봇이 XiaoIce인데, 다음 분기에는 이 XiaoIce의 프레임 중 일부를 구현해보려고 해요. 핑퐁을 훨씬 뛰어넘는 성능을 가진 일상대화 챗봇을 만들어 출시할 계획이 있어요.

핑퐁팀은 ‘Make AI Social’을 비전으로 삼고있다. 사람들과 관계를 맺는 AI를 만들겠다는 뜻이다. 그들은 핑퐁에 리액션 답변, 토픽 기능, 자동 답변 같은 기능을 더해 사용자와 대화를 오래 이어갈 수 있도록 만들었다. 앞으로도 많은 연구를 통해 성능을 개선한다면 언젠가 핑퐁과 밤새 대화할 날이 오지 않을까?