All new Chatbot
카카오엔터프라이즈
챗봇 플랫폼을 카카오톡이 아닌 웹으로 확장하면서 kakao i engine을 이용한 챗봇이 기존 카카오톡 말풍선의 한계를 넘어설 수 있게 되었습니다. 다양한 작업 지원이 가능한 챗봇은 어떤 컴포넌트들을 가지고 있어야 하는지, 챗봇으로 수행하기 적합한 과업은 어떤 것들이 있는지 탐색해보는 프로젝트였습니다.
챗봇 플랫폼을 카카오톡이 아닌 웹으로 확장하면서 kakao i engine을 이용한 챗봇이 기존 카카오톡 말풍선의 한계를 넘어설 수 있게 되었습니다. 다양한 작업 지원이 가능한 챗봇은 어떤 컴포넌트들을 가지고 있어야 하는지, 챗봇으로 수행하기 적합한 과업은 어떤 것들이 있는지 탐색해보는 프로젝트였습니다.
챗봇이 다른 수단에 비해 가진 강점은 자연어를 기반으로 zero-depth 실행이 가능하다. 로 정의 했습니다. GUI 기반 서비스에서 메뉴탐색-이동-과업 수행-종료 과정을 단계별로 거치지 않고도 "내일 아침 7시 반에 알람 설정해줘" 와 같은 발화를 하면 원스탑으로 목적을 달성할 수 있는 것이 강점입니다.
다만, 현재상태의 챗봇으로서는 모든 발화에 대해 대응하기 어렵기 때문에 사용자는 챗봇과 대화하다 많은 좌절을 느낍니다. 챗봇도 학습이 필요하지만 사용자도 학습이 필요한 이유입니다.
그럼에도 카카오톡의 챗봇은 제로뎁스 발화를 학습할 수 있는 구조가 아닙니다. 단계별 슬롯필링 방식으로 대화가 진행되기에 챗봇에게 어떤 식으로 발화해야 목적을 빠르게 달성할 수 있는지 알기가 어렵습니다. 또한 캐러셀 UI가 가지고 있는 태생적인 문제로 인해 탐색에도 많은 노력이 요구됩니다.
카카오톡 플랫폼이 가지고 있는 태생적 한계도 있습니다. 말풍선 삭제와 변경이 불가능한 발송기 정책으로, 과거에 진행했던 대화의 내용이 그대로 노출되어 화면의 복잡도가 높고 실수를 유발합니다. 또한 퀵리플라이 구조는 특정 과업, 가령 복수개의 알람이 있을 때 알람 시간을 오후 3시로 변경하는 작업 같은 복잡도가 높은 과업에서 효율적이지 못합니다.
AI 스피커의 효용가치가 가장 높은 순간은 쇼파에 누워 있는데 리모콘이 저 멀리 있을 때 입니다. TV 꺼줘라고만 발화해도 되거든요. 우리가 새로운 수단을 받아들이기 위해서는 기존 수단 대비 효율적인 부분이 있어야 합니다. 챗봇과 음성봇 등 멀티모달을 지원하는 봇은 결국 사용자가 작업 효율이 높을 때, 즉 zero-depth로 자유롭게 발화할 수 있을때 그 효용가치가 생깁니다.
작업 효율을 높이는 방법으로 크게 세 가지를 제시하였습니다. 1) 많은 단계를 뛰어넘기 2) 현재 맥락에 집중하게 하기 3) 다양한 입력방법 제시하기. 그리고 이 방법을 제안할 첫번째 도메인으로 대화형 커머스 시나리오를 구성해보았습니다.
기본 대화가 진행되는 레이어가 있고 슬롯필링 상황에서 노출되는 오버레이창인 멀티턴 레이어가 있습니다. 멀티턴 레이어는 특정 대화가 길어지는것을 방지하고 엔드골까지 발화를 하나로 모아주는 역할을 수행합니다.
많은 단계를 뛰어넘기
여기서 해결하고자 했던 것은 사람들이 어떻게 제로뎁스 발화를 학습할 수 있을까? 입니다. 당연히 처음에는 커피 주문하는데 원두도 고르고 온도도 고르고 옵션도 고를것입니다. 그러나 기존에는 모든 선택지들이 하나씩 말풍선으로 남아 사용자가 제로뎁스 발화를 학습하기 어려웠다면, 멀티턴 레이어의 등장으로 다음 주문시에는 이런 슬롯을 채워서 한 번에 발화하면 되겠구나 라고 이해할 수 있게 됩니다.
현재 맥락에 집중
현재 맥락을 방해하는 요소로는 기존에 진행했던 대화가 그대로 남아있는 것, 연속적인 선택이 발생할때 말풍선이 업데이트 되는것이 아니라 위의 예시처럼 캐러셀이 반복되면서 불필요한 대화가 길어지는 것이라고 보았습니다.
그래서 챗봇 UI 중 캐러셀의 단점을 보완하고자 캐러셀 구성 요소 중 하나는 선택 시 지속적으로 업데이트 되면서 별도의 대화를 생성하지 않는 구조를 제안하였고 특허 출원/등록이 완료되었습니다.
멀티모달 입력 방식 제시
모든 과업은 음성과 채팅 두개의 수단을 이용하여 진행할 수 있도록 설계하였고, 거기에 더하여 복잡한 과업은 터치로 전환하여 완료할 수 있도록 특정 엔티티가 가진 요소를 템플릿화 하여 화면에 제시, 손쉽게 완료가 가능하도록 설계했습니다.
챗봇으로 진행할수 있는 다양한 과업을 탐색하고 걸맞는 UI를 구성해본 쉽게 할 수 없는 경험이었다고 생각합니다. 멀티모달을 고려하면서 사용자 flow를 설계하다보니 고민해야하는 범위가 훨씬 늘어나서 힘들었지만 GUI 기반의 서비스에서 가장 고민이 깊은 것 중 하나인 정보구조와 단계별 사용자 시나리오를 챗봇으로 해결할 수 있다는 확신을 받았습니다.
위 컴포넌트들은 회사 챗봇 기본 컴포넌트로 선정되어, 아모레 챗봇 프로젝트에 적용되었습니다.








