[인공지능 in IT] 챗봇이 '챗'봇이어야 하는 이유

2016년 챗봇 컨퍼런스(Chatbot Conf 2016) 참가자들은 기념품을 받아 들고 실소를 머금었을 것이다. 아래 사진처럼 "챗봇이 과연 '챗'봇인가"라는 질문을 던지고 있기 때문이다.

지난 2008년 아이폰 등장 이후 11년이 지났다. 그리고 현재 사람들은 앱 피로감(App Fatigue)을 느끼고 있다. 더 이상 새로운 앱을 내려받길 원하지 않기 때문이다. 스마트폰에 설치된 앱이 수십 개여도, 그 중에 실제 사용하는 것은 불과 4-5개에 불과하다. IT 업계는 모바일 앱을 대신할 새로운 플랫폼을 찾기 시작했고, 이제 시선은 '챗봇'에 머무르고 있다.

2016 Chatbot Conf 기념 에코백 재구성, 제공:
스켈터랩스
2016 Chatbot Conf 기념 에코백 재구성, 제공: 스켈터랩스

< 2016 Chatbot Conf 기념 에코백 재구성, 제공: 스켈터랩스 >

대화형 마케팅 플랫폼 기업 드리프트(Drift)가 세일즈포스(Salesforce) 등 여러 기업과 함께 발행한 '2018 챗봇 현황 리포트(The 2018 State of Chatbots Report)'를 보자. 해당 리포트에는 챗봇을 사용하길 꺼리는 이유에 "실제 사람 직원과 소통하고 싶어서" 라고 답한 사람이 가장 많다. 아이러니한 일이다. 챗봇을 적용하려는 시도가 가장 활발한 영역이 바로 고객 센터이기 때문이다.

고객 상담 상황에서 나눌 대화 주제와 목표는 한정되어 있기 마련이다. 대화의 주제와 흐름을 예측하기 쉽고, 정형화된 대화가 많기 때문에 고객 상담은 챗봇을 도입하기 가장 효과적인 곳이다. 더불어 챗봇은 감정 노동으로 인한 스트레스를 겪지 않는 것도 큰 장점이다.

하지만, 정작 사용자는 사람과 소통하길 원한다. 이는 아직 챗봇의 대화 능력이 실제 사람을 대체하지 못한다는 뜻이다. 실제로 온라인 IT 커뮤니티 '스파이스웍스(Spiceworks)' 설문 조사에 따르면, 챗봇을 사용하는 도중 가장 많이 겪은 오류가 '요청 사항을 제대로 이해하지 못함'과 '대화 뉘앙스를 제대로 이해하지 못함'이다. 대화의 가장 기초 요소 중 하나인 '의도 파악'조차 챗봇이 잘 해내지 못한다는 뜻이다.

그렇다면, 인공지능의 자연어 처리 성능은 일반 대중 서비스에 적용하기에 아직 한계가 있다는 의미일까?

이는 자연어 처리 성능을 어떻게 해석하느냐에 따라 다른 결론에 도달한다. 어떠한 대화 속 문장을 인공지능에게 던져주었을 때, 인공지능이 그 문장의 내용을 통해 뜻하는 바가 무엇인지 알아내는 것을 '인텐트(의도) 분류'라고 한다.

예를 들어, "응", "그래", "오키", "좋아", "굳" 등의 문장이 [긍정 응답] 이라는 이름의 인텐트에 속한 문장이라고 하자. 이러한 문장들은 '사용자 예문', '샘플 메시지', '샘플 문장' 등 다양한 이름으로 불린다. 인공지능은 위 다섯 개 문장이 [긍정 응답]이라는 사실을 학습한다(예시라서 5개이지만 실제 상황이라면 수십 개에서 수백 개에 달할 수 있다).

그리고 사용자가 "그래"라는 말을 던지면, 인공지능은 이를 [긍정 응답]으로 분류한다. 즉, 인공지능은 사용자가 던진 말을 인텐트라는 단위로 분류해 이해한다. 인공지능이 인텐트를 얼마나 정확하게 분류하는지가 인공지능의 자연어 이해 성능 척도 중 하나인 셈이다.

자연어 처리 기술 분야에서 인텐트 분류 성능은 전반적으로 상당히 높은 수준에 도달한 것으로 알려졌다. 스켈터랩스도 인텐트 분류 성능 강화를 위해 다양한 자연어 처리 기법을 도입 중이다. '규칙 기반(Rule based) 분류', 딥러닝(Deep-learning)과 같은 '머신러닝 기반(Machine-learning based) 분류' 등, 재현율(Recall)과 인식률(Precision)을 높이기 위해 다양한 기법을 활용 중이다. 특히, 기존 자연어 처리 기법과 함께 새롭게 각광받고 있는 '트랜스퍼 러닝(Transfer Learning)' 등 새로운 기법을 적절히 조합한다.

이처럼 인텐트 분류 성능이 높다면, 어째서 여전히 사용자는 챗봇이 말귀를 못 알아들어 불편함을 느끼는 것일까?

'대화'라는 낱말의 원래 의미로 돌아가보자. 대화란 1) 2명 이상의 사람이 2) 특정한 주제에 관한 발화를 연속해 말하면서 3) 화자와 청자가 자유롭게 바뀔 수 있는 행동을 말한다. 챗봇과 사람의 대화가 아직 '대화'라 하기에 부족한 이유는 2번과 3번에 있다. 먼저, 챗봇은 사람과 대화할 때 대화 주제를 일관되게 이해하고, 기억할 수 있어야 한다. 현재 들어온 문장이 어느 인텐트인지 알아내고, 어떠한 맥락에서 그 인텐트를 인식하지 알아야 한다는 뜻이다. 이것이 실패하면, 처음 보았던 이미지 에코백처럼, 챗봇이 불과 방금 전 한 말도 기억하지 못하는 일이 발생한다.

또한, 사용자가 챗봇과 대화하던 도중 현재 진행중인 대화 시나리오에서 벗어나려는 상황이 있다. 이는 청자였던 사용자가 다시 화자의 자리를 가져오려는 상황이다. 우리가 일상 생활에서 하는 대화를 더듬어 보면, 이러한 화자 교체는 생각보다 굉장히 자주 일어난다. 우리는 종종 다른 사람의 말에 끼어들기도 하고("잠깐만, 00이 뭐야?"), 엉뚱한 화제를 던지기도 하고("근데, 00는 어떻게 생각해?"), 했던 말을 번복하기도 한다("아니다. 2개 말고 1개 할래."). 상황 변화를 인식하지 못하는 챗봇은 현재 상황을 유지한다. 사용자가 무엇을 원하든, 사용자를 특정한 대화 안에 가둬놓는 셈이다.

이러한 한계를 해결하려면, 챗봇 대화 디자인에 초점을 맞춘 별도 시스템이 필요하다. 챗봇 대화 디자인은 인텐트 인식 단계를 넘어서, 인식된 인텐트를 가지고 어떤 대화 경험을 사용자에게 제공할지를 결정해야 한다. 지금 인식된 인텐트가 대화의 전체 흐름 속에서 어느 지점에 있는지, 그 직전에 나눈 대화는 무엇이었는지, 사용자로부터 어떠한 정보를 수집했는지, 그리고 그 정보가 삭제되었거나 업데이트된 이력이 무엇인지 등을 챗봇이 알아야 한다.

더 나아가, 사람과 사람 사이 대화의 특성을 얼마나 안정적으로 유지할 수 있는지도 중요하다. 챗봇이 마주할 사용자는 몹시 다양하며, 그 다양한 사용자가 던질 대화는 더 다양하고 변칙적이기 때문이다(사용자는 고객 센터 챗봇에게 오늘 날씨를 물을 수도 있다).

챗봇이 '챗'봇이 되려면 '대화'를 할 수 있어야 한다. 빠져나갈 수 없는 대화의 흐름에서 버튼 클릭을 반복하는 것은 '챗'봇이 아니다. 우리가 이미 컴퓨터와 스마트폰에서 겪는 사용자 경험을 그대로 반복하고 있을 뿐이다. 우리는 이미 수십년에 걸쳐 컴퓨터와 스마트폰 인터페이스에 익숙해져 왔다. 챗봇은 우리가 익숙함에서 벗어날 이유를 줄 수 있어야 한다. 그리고 그것은 '대화'가 주는 본래의 가치로 돌아갈 때 가능할 것이다.

스켈터랩스(Skelter Labs)

스켈터랩스는 지난 2015년 구글코리아 R&D 총괄사장을 역임한 조원규 대표를 중심으로 창립해, 일상 생활에 가치를 높일 수 있는 '대화(Conversation)' 및 '초개인화(Hyper-Personalization)' 분야의 인공지능 기술을 연구개발하고 있다. 이를 통해 디바이스나 플랫폼 종류를 막론하고 사용자에게 최적으로 개인화되고, 상황을 인지하며, 자연스럽고 감정적으로 소통할 수 있는 머신 인텔리전스를 구현하는 것이 목표다. 스켈터랩스는 국내에서 가장 빠르게 성장하고 있는 스타트업 중 하나로 구글, 삼성, LG, 카이스트 AI 랩 등 다양한 배경의 70명 이상 인재로 구성되어 있다.

글 / 스켈터랩스 하미연 대화 프로덕트 스페셜리스트
편집 / IT동아 권명관(tornadosn@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.