마케팅 챗봇 만들기: 응답 아키텍쳐의 이해

3 min read
2021. 2. 8 오후 1:10:31

구독자님, 챗봇 이야기는 많이 들어봤고 주변에서 쓰는 것도 많이 보이는데, 나는 어디서부터 시작해야하나 막막하나요?

Closeup of keyboard and monitor of computer used by young man on wooden table

 

디지털 트렌스포메이션(DT)이 각 기업들의 신년 인사말에 등장하기 시작했습니다.

COVID-19를 기점으로 더 이상은 DT 구축을 미룰 수 없다고 기업들은 절실히 느꼈습니다. 마케팅 부서의 디지털 트렌스포메이션은 고객과의 디지털 접점을 늘리고, 여러 채널에서 일관된 디지털 고객 경험을 제공하는 것이겠죠?

근래에 챗봇이 이 역할을 수행하면서 마케터의 짐을 한결 덜어주고 있습니다만, 이런 마케팅 챗봇을 어떻게 만들어야 할까요? 우리 비즈니스 모델에 맞는, 좀 쉬운 방법이 있을까요? 이번 포스팅에서는 챗봇을 개발하려는 분들을 위해 멀티채널 챗봇(다채널 챗봇)의 개념을 간단히 설명하려고 합니다.

챗봇은 크게 두 종류로 나뉩니다. 1) 규칙 기반 챗봇(rule-based chatbots), 그리고 2) AI 챗봇입니다.

규칙 기반 챗봇은 대화 시나리오를 먼저 구축합니다. 유저가 질문을 했을 때, 최대한 관련 있는 대답을 응답 시나리오 안에서 신속히 찾아주고(객관식 답안지 형태로 해당 솔루션으로 이동하는 버튼 제공), 시나리오를 벗어난 질문에는 제대로 답을 들려주지 못합니다.

규칙 기반 챗봇을 만드는 건 AI 챗봇에 비해 훨씬 쉽습니다. 코딩 지식이 없이도 할 수 있거든요. 규칙 기반 챗봇을 디자인하고 구축해주는 플랫폼 판매 사업자는 시중에 많습니다. 이런 플랫폼들은 대부분 유사한 기능을 갖고 있습니다. 다른 점이라면 가격, 대시보드 타입, 구축 방식의 차이일 것입니다. 기본적인 응답 기능으로도 충분하다면 규칙 기반 챗봇을 도입해 볼 것을 추천합니다.

다음은 인공지능(AI) 챗봇입니다. AI 챗봇은 자연 언어 처리(NLP)를 활용해 스스로 컨텍스트, 맥락을 학습할 수 있습니다. 데이터가 쌓이면 쌓일수록, AI 챗봇은 똑똑해집니다. 고객이 이 상황에서 왜 이런 말을 했는지를(맥락), 그동안 스스로 학습하며 구축해 놓은 응답 시나리오 안에서 대응하게 됩니다.

인공지능 챗봇을 고려한다면 다음 세 가지 요소를 꼭 구축해야 합니다.

  1. 웹사이트, 소셜미디어 등 고객 접점, 프론트 엔드 (Frontend)
  2. 유저 요청에 대한 행동을 관장하는 백 엔드 서버 (Backend)
  3. 고객의 메시지를 이해하는 NLP 엔진 (NLP engine)

 

210128 Microservice Architecture Design for Multichannel Chatbots

 

흠 어떤 가요? 뜯어보니 조금 간단해 보이나요?

혹시 NLP 엔진을 구축하려고 한다면, 저는 그 생각엔 반대합니다. NLP 엔진을 구축하는 건 가격도 비쌀 뿐 더러, 여러 써드파티 솔루션이 이미 시중에 나와있습니다. (구글 Dialogflow, 아마존 Alexa, 네이버 Clova, RASA 오픈 소스 등) 이 라인업들은 세계 시장에서 성능을 인정받은 솔루션입니다.

이 중에서 당신의 비즈니스에 가장 적합한 엔진을 찾아 구축했다고 가정합시다. 당신은 웹사이트, 페이스북, 카카오 비즈니스 계정 등 당신의 멀티 채널에서 똑 같은 퍼포먼스를 고객에게 제공하는 챗봇이 필요합니다.

이 챗봇은 데이터베이스나 내외부 소스에 위치한 데이터에 접근해 유저의 요청사항에 대답할 것입니다.

말로 설명한 이 챗봇 시스템을 하이레벨의 아키텍처(구조도)로 설명해보겠습니다. 들어가기에 앞서 한 가지 강조하고 싶은 점은 디자인과 기술 스택의 선택지가 하나만 있는 것이 아니라는 사실입니다. 조합은 여러가지가 될 수 있습니다.

아래 멀티채널 챗봇의 구성 요소를 시각화한 구조도입니다.

 

210128 Microservice Architecture Design for Multichannel Chatbots 그림2

 

사용자들은 챗봇을 페이스북 페이지, 웹페이지 챗 위젯, 카카오 비즈니스 채널 등 어떤 디지털 채널이든 연결할 수 있습니다. 채널은 메시지를 각 채널의 백엔드 서비스(Backend Service)로 보냅니다. 그리고 각 채널마다 인증(Authentication) 절차를 거칩니다. 인증 이후 백엔드 서버는 유저 메시지를 NLP 엔진으로 보내고 메시지를 해석합니다. 만약 지시 사항(instruction)이 분명하면 외부 API에, 필요할 경우엔 데이터베이스에 각각 접속합니다. 외부 API는 CRM(고객 관계 관리 시스템)이나 당신의 비즈니스와 결합된 또 다른 시스템을 말합니다. 데이터베이스에 사용자 필수 데이터를 저장하고 가져옵니다.

텍스트 메시지를 NLP 엔진에 보내면 Intents, Contexts, Entities가 담긴 답변을 얻습니다. 그 답변을 토대로 당신은 어떤 행동을 수행합니다. 가령 유저가 제품에 대한 사용 방법을 물었을 때 참조할 수 있는 제품 메뉴얼을 보낼 것입니다.

NLP 엔진에서 받는 답변의 형태는 정해져 있습니다. 이 고정 답변을 해석하려면 각 채널에서 읽을 수 있는 형태로 바꿔야 합니다. 가령, 페이스북과 카카오는 텍스트, 이미지를 표현하기 위해서 서로 다른 형태의 JSON 포맷을 가지고 있습니다. 당신이 백엔드 서비스에서 메시지 형태를 전환할 수 있다면 도움이 될 것입니다.

챗봇 마이크로서비스 아키텍처의 근간은 서비스를 나누어 규모를 독립적으로 확대, 축소할 수 있다는 점입니다. 그래서 하나가 작동하지 않더라도 그들의 연결 범위 바깥에 영향을 주지 않습니다. 이처럼 각 채널마다 서비스를 나누는 것이 좋습니다.

서비스는 분리되지만 같은 외부 API와 데이터베이스를 사용합니다. 만약 클라우드에서 서비스를 호스트 한다면 당신의 비즈니스 상황에 맞춰 할당된 자원을 감당할 수 있는 솔루션을 선택하세요. 적당한 솔루션을 도입하면 동시에 들어오는 채널의 유저 숫자를 걱정하지 않아도 됩니다. 또한 각 내부 서비스는 서로 연계가 잘되고 상호 간 응답이 빨라야 합니다.

저는 구글 클라우드 앱 엔진을 사용해 대부분의 앱을 호스팅합니다. 현재까지는 매우 만족하고 있습니다.

퍼포마스는 챗봇 마케팅 솔루션을 구축하고 고객 사의 디지털 트랜스포메이션을 돕습니다. 우리는 의 디지털 비즈니스 이슈를 분석하여 적합한 디지털 마케팅 솔루션을 제공합니다.

 

 

Get Email Notifications

No Comments Yet

Let us know what you think