brunch

You can make anything
by writing

C.S.Lewis

by 하랑 Jan 19. 2018

성공적인 챗봇 제작을 위한 5가지 체크리스트

어떤 서비스를 선택해야 할까요?

지난 글에서는 The Ultimate Guide To Designing A Chatbot Tech Stack을 번역하여 챗봇 제작 시 고려해야 할 질문 10개를 소개하였습니다. 짧은 시간 동안 200번 이상 공유되어 많은 분들의 챗봇에 대한 관심을 확인할 수 있었는데요. 


원 글에서는 각 질문의 자세한 배경 설명이 생략되거나 국내 챗봇 시장과는 상황이 다소 다른 면이 있어서, 챗봇을 제작하는 데에 조금 더 도움이 될 수 있는 실용적인 정보를 담아 직접 가이드를 작성해보았습니다. 

이 글에서는 각 질문을 해결해 줄 서비스를 선택한다는 관점에서 아래와 같이 다섯 가지 항목으로 묶어 배경과 의미를 조금 더 깊이 있게 설명하고, 각 선택지의 장단점과 선택의 기준을 살펴보겠습니다. 


메시징 플랫폼 : Messaging Interface, Rich & Interactive Content

자연어 처리 엔진 : Fluid Conversations, Natural Language Processing, Supervised Learning, Language Support

봇 빌더 : Graphical Botflow Building, Api Integration

상담원 연결 : Human Handover

가격 : Pricing  


1. 메시징 플랫폼

- Messaging Interface, Rich & Interactive Content 


챗봇을 어떤 메신저에 연동할지 결정하려면 각 메신저의 특성을 잘 이해하고 목적에 맞게 선택해야 합니다.

대개는 타겟 고객이 가장 많이 사용하는 메신저를 선택하기 때문에 해당 국가의 메신저 점유율을 고려하게 되는데, 아래 지도에서 볼 수 있듯 전 세계에서 페이스북 메신저와 왓츠앱의 점유율이 압도적입니다. 다만 예외적으로 위챗은 중화권에서, 카카오톡은 우리나라에서, 라인은 일본과 태국 등 아시아 국가에서 높은 점유율을 보이고 있습니다. 

각 국가에서 가장 점유율이 높은 메신저 앱 (출처: Similarweb)

국내에서 서비스를 한다면 주로 고려하게 되는 메시징 채널인 카카오톡, 네이버톡톡, 페이스북 메신저, 웹라이브챗에 대해 알아보겠습니다. 


카카오톡

와이즈앱에 따르면 카카오톡의 국내 모바일 메신저 점유율은 95%에 달합니다. 그래서 가장 먼저 떠올리게 되지요. 다만 제공하는 챗봇 API에 제약사항이 많은 편이고, 조금 더 자유로운 대화 흐름을 구성하려면 카카오 상담톡 API를 활용해야 하는데 세션별 비용이 발생하는 유료 서비스라는 점 등을 고려해야 합니다.


스마트채팅 FAQ형 vs 스마트채팅 API 형 vs 상담톡 비교

카카오톡 플러스친구 관리자센터에 접속하면 스마트채팅 기능을 설정할 수 있습니다. 

카카오톡 플러스친구 관리자센터 스마트채팅 설정 화면

스마트채팅 FAQ형(무료): 지정해둔 메시지를 발송하는 메뉴 버튼을 최대 10개까지 설정할 수 있습니다. 별도의 개발 없이 선택지에 따라 안내하는 가장 간단한 버튼형 봇을 만들 수 있습니다.

스마트채팅 API형(무료): 카카오가 제공하는 API에 맞추어 챗봇을 개발해서 연동할 수 있습니다. 다만 타 메신저처럼 카드나 리스트 형태의 메시지를 지원하지 않으며, 사용자 입력 한 번에 메시지를 한번밖에 보내지 못하는 등 제약사항이 많은 편입니다.

상담톡(유료): 카카오톡을 통해 고객센터를 운영할 수 있도록 해주는 서비스로 대부분의 API를 제공하기 때문에 가장 자유롭게 챗봇을 제작해 연동할 수 있는 방식입니다. 다만 딜러사마다 챗봇을 연동할 수 있는 방법과 범위가 다를 수 있습니다. 상담톡에 관한 자세한 소개는 공식자료를 참고해 주세요 


네이버톡톡

국내 검색 포털 점유율 압도적 1위 네이버 또한 국내에서 비즈니스를 한다면 빼놓을 수 없는 채널입니다. 네이버톡톡을 사용하면 네이버 검색을 통해 고객을 자연스럽게 대화로 유입시킬 수 있습니다. 만약 기존에 네이버 키워드 검색, 카페, 블로그, 스토어팜, modoo.at 등의 서비스를 이용 중이었다면 이와 연계하여 기존 사용자들에게 챗봇 서비스를 쉽게 제공할 수도 있습니다. 

검색을 통해 네이버톡톡으로 유입

페이스북 메신저

페이스북은 우리가 가장 많은 시간을 보내는 SNS 서비스입니다. 국내에서 페이스북 메신저의 점유율은 그리 높지 않으나 최근 조사에서 10대 점유율이 8%까지 증가하는 등 젊은 층의 이용률은 계속해서 늘고 있습니다. 기업 홍보 및 브랜딩을 위해 페이스북 페이지를 운영 중이라면 반드시 고려해야 하는 채널입니다.

(참조: [블로터중등포럼] “갠톡은 카톡보단 페메죠”)


최근에 페이스북은 메신저에 담당 관리자를 할당하는 기능과 메시지의 상태를 후속조치나 완료 등으로 지정할 수 있는 기능을 추가하고, 웹사이트에 메신저를 삽입할 수 있게 해주는 플러그인을 공개했습니다.  이러한 업데이트를 지켜보면 앞으로 페이스북 메신저가 기업의 CS 채널로 계속해서 진화해 나갈 것으로 예상됩니다. 

Facebook 메시지의 상태를 후속조치나 완료 등으로 지정할 수 있는 기능

웹 라이브챗 

온라인 쇼핑몰처럼 고객이 웹사이트에 주로 체류하는 형태의 비즈니스를 운영 중이라면 웹사이트 내에서 바로 고객과 대화할 수 있어야 합니다. 검색 엔진에서 쉽게 찾을 수 있는 여러 라이브챗 서비스들이 이런 문제를 해결해 주고 있고, 그중 일부는 챗봇 기능을 제공합니다.

Intercom에서는 Operator라는 제한적인 봇 기능을 자체 제공합니다.

국내 서비스인 채널깃플 역시 자체 챗봇 기능을 제공합니다

위에서 설명한 것처럼 페이스북 메신저를 웹사이트에 삽입하는 방법도 있습니다.

많은 챗봇 빌더가 웹에 삽입할 수 있는 라이브채팅 기능을 제공합니다. 


메신저 특성을 고려할 때는 얼마나 다양한 형태의 메시지를 지원하는지도 신경 써야 합니다. 예를 들어 고객의 위치 정보가 필요할 때 페이스북에서는 [Send Location] 버튼을 제공하면 되지만 카카오톡에서는 웹페이지를 통해 입력받도록 별도 개발이 이루어져야 하니 선택의 폭이 좁아지겠죠. 


만약 여러분이 다양한 메신저에서 챗봇을 운영할 계획을 가지고 있다면 같은 내용일지라도 각각의 채널에서 어떻게 다르게 보일지 감안해서 챗봇을 설계해야 할 것입니다. 가장 간편한 방법은 옴니채널 연동을 지원하는 봇 빌더를 활용하는 것이겠죠.


카드형 UI 비교: 페이스북, 네이버톡톡, 위챗


2. 자연어 처리 엔진

- Fluid Conversations, Natural Language Processing, Supervised Learning, Language Support 


이전 글에서 필자는 챗봇과의 원활한 대화가 꼭 필요한지 의문을 던집니다. 사람이 하는 말을 완벽히 이해하는 것이 꼭 필요한지, 사람과 자연스러운 대화를 하고 맥락을 이해하는 것이 꼭 필요한지에 대해 질문하는 것이지요. 


모든 챗봇이 사람의 말을 완벽히 이해하고 자연스럽게 대화하는 목표를 가질 필요는 없습니다. 사람처럼 말하고 행동하지 않는 단순한 챗봇이더라도 고객의 문제를 해결해 줄 수 있다면 그 자체로 의미 있기 때문입니다. 몇 개의 버튼과 텍스트로 이루어진 룰 베이스 봇이나 FAQ 봇은 비교적 쉽게 만들 수 있고, 고객의 기대치가 낮은 만큼 고객을 실망시킬 확률도 낮습니다. 

간단한 버튼을 이용하여 날씨를 알려주는 날씨 봇

그래도 자연어가 필요하다면 자연어 처리를 직접 구현하거나 외부 엔진을 사용하게 됩니다. 여러 오픈소스 프로젝트가 공개되어 있으며, Facebook, Google, Microsoft, IBM 등의 대형 IT 기업들이 오랫동안 쌓아온 기술과 데이터를 기반으로 서비스를 제공하고 있고 대부분 한국어를 지원합니다. 국내에서도 네이버와 카카오 등 여러 기업이 서비스를 공개할 예정이라고 하니 선택의 폭이 더욱 넓어질 것으로 기대됩니다.

의도(intent)와 개체(entity) 추출 예시

자연어 엔진을 이용해 예문과 대화 패턴을 미리 학습시키면 사용자가 입력한 문장에서 의도(intent)와 개체(entity)를 식별할 수 있습니다. 하지만 대화의 흐름을 복잡하게 설계하기 어렵고 외부 API와 연동하는 데에 제약이 있는 경우가 많습니다. 그리고 대다수의 자연어 엔진이 메신저 연동을 직접 지원하지는 않고 API만을 제공하기 때문에, 뒤에 설명할 봇 빌더와 함께 사용할 필요가 있습니다.  

왓슨을 활용해 챗봇 만들기 (출처: developer.ibm.com)

이전 글에서는 Supervised Learning이라는 표현이 ‘자연어 엔진이 제대로 분류해내지 못한 결과를 사람이 바로잡는 일’이라는 아주 좁은 의미로 사용되었습니다. 이 작업은 꾸준히 인공지능을 개선시키기 위해 반드시 필요한 일이어서 대부분의 자연어 엔진은 이를 위한 도구를 제공하고 있습니다. 

왓슨이 분류한 intent를 관리자가 재분류 하는 모습


Microsoft의 QnAMaker가 제시한 답변을 재학습하는 모습 

요약하자면, 여러분이 제작할 챗봇이 ① 자연어 처리가 정말로 필요할지 생각해본 뒤에 ② 사용하고자 하는 언어를 지원하는 자연어 엔진을 골라 ③ 학습시켜 ④ 테스트해보고 ⑤ 만족스러운 엔진을 연동하면 됩니다. 그러고 나서 자연어 엔진이 제공하는 재학습 도구를 활용해 주기적으로 봇의 성능을 개선시켜 주면 됩니다.


한국어를 지원하는 서비스는 아래와 같습니다. 

각각의 성능과 가격정책을 확인해보고 결정하시기 바랍니다.


해외

 - IBM Watson, Microsoft LUIS, Google Cloud Platform 등 잘 알려진 대형 기업의 서비스가 한국어를 지원하고 있습니다.

 - 페이스북은 wit.ai를 활용해 NLP를 제공하며, 한국어를 지원합니다. 

 - 구글에 인수된 dialogflow.com(구 api.ai) 역시 한국어를 지원합니다.


국내

 - 카카오의 오픈 빌더와 네이버의 클로바는 서비스 공개를 예고했습니다.

 - 플런티의 Fluenty.ai 는 삼성에 인수되고 나서 서비스를 종료했습니다.

 - SK C&C aibril.com

 - LG CNS danbee.ai

 - 몇몇 스타트업들이 서비스를 운영 중입니다만 아직 정식으로 공개되지는 않은 것으로 보입니다.


3. 봇 빌더

- Graphical Botflow Building, Api Integration 


챗봇이 필요한 조직에 개발자가 있고, 그 개발자가 챗봇 개발에만 집중할 수 있는 환경이라면 복잡한 기술 구성을 바탕으로 챗봇을 만드는 데에 큰 무리는 없습니다. 하지만 그런 환경을 갖추기 어렵다거나, 언제나 부족한 개발자의 시간을 좀 더 효율적으로 사용하고자 한다면 WYSIWYG 봇 빌더 사용을 고려해 볼 수 있습니다.


Lean Startup Methodology

챗봇도 하나의 제품이기 때문에 초기에는 린하게 런칭해서 수시로 개선해 나갈 필요가 있습니다.  작은 기능을 하나 수정하기 위해 기획-개발-배포의 과정이 며칠에 걸쳐 일어나야 한다면 그만큼 반복의 주기는 길어지게 됩니다. 

만약 개발과 배포 과정 없이 기획자나 마케터 등 실무자가 바로 수정해 적용한 뒤에, 여러 지표들을 측정하며 수시로 개선할 수 있게 된다면 봇을 더 효율적으로 개선해 나갈 수 있겠죠. 이와 같은 빠른 반복을 위해서는 봇의 흐름을 시각적으로 설계할 수 있는 봇 빌더 도구가 반드시 필요합니다.  


봇 빌더를 고를 때는 

 - 내가 원하는 메신저에 연동이 되는지 확인해야 합니다. 해외에서 만들어진 봇 빌더는 대부분 페이스북 메신저만을 지원하기 때문에 국내에서 사용하기에 부족할 수 있겠죠. 

 - 대화 흐름을 내가 원하는 대로 자유롭게 설계할 수 있는지 확인해야 합니다. 입력해둔 메시지를 단순히 인터페이스에 맞추어 변환해 주는 데에 그치지 않고, 로직을 상세하게 설계할 수 있어야 합니다.

 - 마지막으로 외부 API와 자유롭게 연동할 수 있는지 확인해야 합니다. 고객에게 필요한 날씨, 제품 정보, 구매 내역 등의 맞춤 정보를 제공할 수 있으려면 API 연동은 필수입니다. 챗봇을 외부 API에 자유롭게 연동할 수 있다면 IFTTT나 Zapier를 활용해서 활용도를 무궁무진하게 넓힐 수도 있습니다. 


참고로 봇 빌더는 대화 흐름을 설계하는 도구이기 때문에 언어에 대한 제약은 크게 없습니다. 봇 빌더 서비스의 비교는 이 글로 대신하겠습니다.


4. 상담원 연결

- Human handover

챗봇이 고객의 말을 알아듣지 못하고 엉뚱한 대답만 쏟아낸다면 고객의 만족도는 떨어지고, 좋지 않은 경험을 한 고객은 다시는 챗봇과 대화하고 싶지 않을 것입니다. 이러한 상황을 방지하려면 봇이 고객의 말을 알아듣지 못하거나 고객이 사람과 대화를 원할 때 상담원이 바로 개입해 대화를 이끌어 가야 합니다.

이렇게 상담원이 개입할 수 있게 된다면 챗봇에게는 단순하고 반복적인 업무를 맡기고, 상담원은 조금 더 복잡하고 섬세한 업무를 처리하는 분업이 가능해집니다. 또한 사람이 대화를 성공적으로 이끌면서 쌓은 양질의 대화 데이터는 챗봇을 재학습 시키는 데에 활용할 수 있습니다.  

만약 고객과 봇의 대화뿐만 아니라 봇의 실패 지점, 상담원 개입 시점, 상담원의 대화, 상담원의 액션 등의 데이터까지 체계적으로 확보할 수 있다면 챗봇은 더욱 빠르게 개선되어 갈 수 있겠죠. 


이와 같이 봇이 고객의 문의를 처리하는 도중에 상담원이 개입할 수 있도록 하고 싶다면 알맞은 기능을 제공하는 서비스를 사용해야 합니다. 

Chatfuel은 챗봇을 중지시키고 사람이 대화를 이어나갈 수 있는 기능을 제공하지만 페이스북 관리자 페이지로 이동해서 대화를 진행해야 합니다.

일부 서비스는 간단한 반복 작업을 다시 챗봇에게 넘길 수 있는 경우도 있습니다.


5. 가격

- Pricing 

가격은 서비스 도입 여부를 결정할 때 가장 중요한 고려 요소입니다. 현재 여러분이 필요한 기능을 합리적인 가격으로 제공하는 서비스를 선택하시면 되겠습니다.  


한 가지 좋은 소식은 대화 데이터를 확보하기 위해서 무료로 전환하는 서비스가 늘어나고 있다는 점입니다. 다양한 서비스를 사용해 보시면서 자신에게 적합한 기술 스택을 찾아 나가시길 바랍니다.



이번 글에서는 성공적인 챗봇 제작을 위해서 확인해야 할 다섯 가지 항목과 그 선택지들을 차례로 소개했습니다. 좋은 선택지가 굉장히 많긴 하지만 국내 메신저 연동을 지원하지 않거나, 꼭 필요한 기능이 빠져 있는 등 아쉬운 순간이 찾아오곤 합니다. 


다음 글에서는 우리가 CLOSER를 통해 고객 상담을 어떻게 효율적으로 해결하고 있는지 소개해보겠습니다. 


여러분은 어떤 자연어 엔진과 봇 빌더를 사용해 보셨나요? 댓글로 여러분의 경험을 공유해 주세요!


챗봇 제작 기술 선택을 위해 고려해야할 점을 번역한 챗봇 제작 기술 선택을 위한 최상의 안내서를 보시려면 여기에서 읽어주세요.



CLOSER는 CS에 최적화된 챗봇 플랫폼입니다.  

https://closer.ai/


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari