레플리
글 수 59

챗봇 개발 플랫폼 비교

조회 수 21376 추천 수 0 2018.03.07 05:26:18


챗봇을 개발하는 방법은 크게 두 가지 입니다. 첫 번째는 직접 메신저와 정보를 주고받고 문장의 의미를 파악할 수 있는 서버 프로그램을 구현하는 것입니다. 두 번째로 자연어처리나 메신저와의 연결을 대신해주는 챗봇 플랫폼을 사용할 수도 있습니다.

 

현재까지 외국뿐 아니라 국내에서도 다양한 챗봇 개발툴이 공개되었습니다. 지원되는 기능이나 성능, 가격 등이 각각 다르기 때문에 어떤 것을 골라야 할지 많이 고민이 되기 마련입니다. 여기서는 Chatfuel, Dialogflow, 왓슨 컨버세이션, 단비 등 4가지 플랫폼을 비교해 보도록 하겠습니다. 

 

 

 

챗봇 서비스의 구조

 

K-001.png

 

가장 단순한 챗봇 플랫폼은 위와 같은 구조로 되어 있습니다. 메신저에서 직접 문장을 입력받아서 바로 대답을 보내줍니다. 외부 정보를 사용하지 않는다면 자체 서버가 필요 없기 때문에 매우 쉽게 구현이 가능합니다. Chatfuel과 단비가 이런 방식으로 되어 있습니다.

 

 

 

K-002.png

 

다음으로 메신저에서 자체 서버로 메시지를 주고받는 구조입니다. 그리고 챗봇 플랫폼에 문장을 보내 자연어처리를 합니다. 여기서 나온 의도와 개체를 사용해서 적절한 문장을 생성하고 다시 메신저에 답변을 전송합니다.

 

위의 두 가지 방법을 동시에 지원하는 챗봇 플랫폼도 많이 있습니다. 메신저에 직접 연결이 가능할 뿐만 아니라 문장의 의미를 분석한 정보를 외부 서버에 보낼 수도 있습니다. Dialogflow와 왓슨이 여기에 속합니다.

 

 

 

Chatfuel

 

0406c6d8cb9bf6cc48ee2c041af4a092.jpg

 

Chatfuel은 현재 아마 전세계에서 가장 많이 사용하는 챗봇 플랫폼이 아닐까 합니다. 유명한 타로챗봇 라마마도 이 개발툴로 구현되었습니다. 무엇보다 사용법이 아주 쉽습니다. 코딩을 전혀 몰라도 챗봇을 만드는데 아무런 문제가 없습니다. 페이스북만 지원하는게 단점이긴 하지만 클릭 몇 번으로 바로 메신저와 연결이 가능합니다. 또한 리스트, 퀵 리플라이 같이 다양한 UI를 사용할 수 있습니다.

 

 

 

< 자연어처리 : 하 >

 

K-003.png

 

Chatfuel은 문장에서 의도와 개체를 파악하는 자연어처리가 불가능합니다. 단지 전체 문장의 유사도만 비교하여 답변을 할 수 있습니다. 그래서 대화를 통해 복잡한 명령을 수행하는 것보다는 메뉴를 선택하여 정보를 제공하는 챗봇에 최적화되어 있습니다.

 

 

 

< 대화 입력 : 중 >

 

9a35072be6f24912e5c997f36eca7152.jpg

 

웹사이트에서 쉽게 대화를 추가할 수 있습니다. 답변에 텍스트 뿐만 아니라 그림, 동영상, 버튼 등 다양한 형식이 가능합니다. 블록 단위로 대화를 추가하는데 다른 블록으로 이동하거나 조건에 따른 분기도 가능합니다. 하지만 그래프를 사용하는 다른 챗봇 플랫폼에 비해서 한 눈에 대화 흐름을 파악하기가 힘들다는 단점이 있습니다. 

 

 

 

< 메신저 연동 : 하 >

 

K-001.png

 

오직 페이스북만 가능합니다.

 

 

 

< 외부서버 연결 : 중 >

 

K-001.png

 

플러그인 형식으로 JSON API를 추가하여 외부 서버와 정보를 주고받을 수 있습니다.

 

 

 

< 문서화 : 하 >

 

K-002.png

 

영문으로는 잘 되어있지만 아쉽게도 한글은 지원하지 않습니다.

 

 

 

< 가격 >

 

무료 : 제한 없음

유료 : 월 30$ / 메뉴에서 Chatfuel 로고 삭제 및 기타 지원

 

 

 

[ 관련 문서 ]

Chatfuel로 코딩없이 타로 챗봇 만들기

 

 

 

Dialogflow

 

K-001.png

 

Dialogflow는 구글이 제공하는 챗봇 플랫폼입니다. 원래는 Api.ai 였는데 최근에 텐서플로와 비슷하게 이름이 바뀌었습니다. 메뉴 UI 등 조금 변경된 부분이 있지만 이전과 거의 동일합니다.

 

 

 

< 자연어처리 : 중 >

 

K-002.png

 

위와 같이 엔터티를 추가하였습니다. 

 

 

 

K-001.png

 

'불고기피자 보내줘'로 인텐트의 문장을 추가하면 자동으로 'pizzatype' 엔터티를 인식합니다.

 

 

 

K-003.png

 

'포테이터피자 보내줘'와 같이 입력되지 않은 다른 엔터티도 동일하게 처리할 수 있습니다.

 

 

 

K-001.png

 

하지만 '포테이토피자 모내줘'와 같이 전혀 다른 동사를 사용해도 주문으로 인식을 합니다. 형태소분석을 통해 자연어처리를 하지 않고 유사도를 기반으로 동작하는 것 같습니다.

 

 

 

< 대화 입력 : 중 >

 

K-002.png

인텐트 메뉴에서 대답을 따로 설정할 수 있습니다. 또한 각각 메신저에 맞는 UI를 사용할 수 있다는 것이 장점입니다. 하지만 Chatfuel과 마찬가지로 그래프로 쉽게 대화 흐름을 파악하기가 불가능합니다.

 

 

 

< 메신저 연동 : 상 >

 

K-001.png

 

카카오톡만 빼고 거의 모든 메신저를 지원합니다.

 

 

 

< 외부서버 연결 : 중 >

 

K-002.png

 

 

K-002.png

 

Webhook 서버를 설정하여 JSON 형식으로 처리된 정보를 전달할 수 있습니다.

 

 

 

< 문서화 : 하 >

 

K-001.png

 

영문으로 된 도움말만 제공합니다.

 

 

 

< 가격 >

 

무료 : 1초에 3개의 문장 처리 가능

유료 : API 요청 당 $0.002 / 1초에 10개의 문장 처리 가능

 

 

 

[ 관련 문서 ]

Api.ai로 코딩없이 챗봇만들기

Api.ai로 Telegram연동 챗봇 만들기

 

 

 

Watson Conversation

 

K-001.png

 

왓슨 컨버세이션은 IBM의 인공지능 서비스 중 하나로 챗봇 개발을 쉽게 할 수 있도록 해주는 플랫폼입니다. 현대카드, 워커힐 호텔, 롯데닷컴 등 국내의 많이 기업에서 자사의 챗봇에 도입하기도 하였습니다.

 

 

 

< 자연어처리 : 중 >

 

K-001.png

 

K-001.png

 

이전과 동일하게 엔터티와 인텐트를 추가하였습니다.

 

 

 

K-003.png

 

Dialogflow와 다르게 '보내줘'와 '모내줘'를 구분합니다.

 

 

 

K-002.png

 

하지만 입력된 '살거야'와 같은 어간을 가지고 있는 '사려고'는 처리하지 못합니다. 왓슨 역시 동일한 의미인지 판단할때 형태소분석을 사용하지 않는 것 같습니다. 인텐트 입력시 최대한 많은 예문을 입력할 필요가 있을 듯 합니다.

 

 

 

< 대화 입력 : 상 >

 

K-001.png

 

위와 같이 다이얼로그를 그래프로 표시하기 때문에 대화 흐름을 쉽게 파악할 수 있다는 것이 왓슨의 장점 중 하나입니다.

 

 

 

K-002.png

 

다이얼로그를 선택하여 일치 조건이나 대답 문장 등을 설정할 수 있습니다. 하지만 다른 챗봇 플랫폼과 다르게 오직 텍스트만 답변이 가능합니다. 사진이나 UI 등을 사용하기 위해서는 외부 서버에서 처리해야 합니다.

 

 

 

< 메신저 연동 : 하 >

 

K-001.png

 

슬랙과 페이스북만 가능합니다.

 

 

 

< 외부서버 연결 : 상 >

 

K-002.png

 

보통 대부분의 다른 챗봇 플랫폼이 API를 통해서 외부와 연동하는 것과 달리, 왓슨은 Node.js나 파이썬 등 각 언어에 맞는 SDK 라이브러리를 제공합니다. 그래서 RESTful API나 JSON을 처리하기 위한 코드를 따로 작성할 필요가 없이 왓슨과 쉽게 정보를 주고받을 수 있습니다.

 

 

 

< 문서화 : 중 >

 

K-001.png

 

한글로 된 도움말을 제공합니다. 하지만 약간 이해하기가 좀 어렵고 설명이 그리 자세하지는 않은 것 같습니다.

 

 

 

< 가격 >

 

무료 : 한달에 10,000 API 요청 / 인텐트, 엔터티 개수 제한

유료 : API 요청 당 $0.003

 

 

 

[ 관련 문서 ]

왓슨을 사용한 챗봇 개발 방법

왓슨으로 쉽게 개발하는 카카오톡 챗봇

 

 

 

danbee.Ai

 

K-002.png

 

단비는 LG CNS가 개발한 국산 챗봇 플랫폼입니다. 외국의 다른 제품과 비교해도 성능이 떨어지지 않을 만큼 다양한 기능을 제공하고 있습니다. 아직 출시한지 얼마 되지 않아 약간 정돈되지 않은 느낌이 들긴 하지만 앞으로 더욱 발전할 것이라 생각합니다.

 

 

 

< 자연어처리 : 중 >

 

K-001.png

 

K-002.png

 

이전과 동일하게 엔터티와 인텐트를 추가하였습니다.

 

 

 

K-003.png

 

입력되지 않은 다른 엔터티도 동일하게 인식합니다.

 

 

 

K-001.png

 

'포테이토피자 보내주라'와 같이 형태가 변한 문장을 입력했는데 인식하지 못했습니다.

 

 

 

K-002.png

 

하지만 인텐트에서 입력된 '불고기피자'로 입력하면 정상적으로 동작합니다. 모든 엔터티에서 동일하게 처리되도록 수정될 필요가 있을 것 같습니다.

 

 

 

K-004.png

 

'불고기피자 보내줘 빨리' 처럼 인텐트에 입력된 문장에 새로운 단어를 추가했을 때도 인식이 안되었습니다. 임계치를 0%로 했는데도 이렇게 되는 것은 아마 버그일지도 모르겠습니다. 앞으로 계속 보완될 것이라 기대합니다.

 

 

 

< 대화 입력 : 상 >

 

Chatflow_split_sample.png

 

그래프로 대화 흐름을 제어할 수 있어 쉽게 관리가 가능합니다. 분기나 슬롯채우기 등 여러가지 노드를 지원하고 있어 구조적으로 대화를 처리할 수 있습니다.

 

 

 

< 메신저 연동 : 상 >

 

K-001_.jpg

 

국산 챗봇 플랫폼 답게 카카오톡을 지원하는 것이 큰 장점입니다.

 

 

 

< 외부서버 연결 : 중 >

 

K-001.png

 

API를 등록하고 'Api 노드'를 사용해서 외부 서버와 정보를 주고받을 수 있습니다.

 

 

 

< 문서화 : 상 >

 

K-002.png

 

단비의 가장 큰 장점 중 하나로 한글로 된 도움말이 아주 자세히 나와있습니다. 이것만 참고하면 챗봇을 개발하는데 별다른 문제가 없을 듯 합니다.

 

 

 

< 가격 >

 

무료 : 하루에 10,000 API 요청 / 상업적 목적 불가능

유료 : 제휴 신청 필요

 

 

 

정리

 

K-001.png

 

Chatfuel은 메뉴 기반의 페이스북 챗봇을 개발하는데 가장 적합하지 않을까 합니다. 무엇보다 사용법이 쉽고 무료이기 때문에 부담없이 개발할 수 있습니다.

 

Dialogflow는 다른 챗봇 플랫폼에 비해 기능이 약간 떨어지긴 하지만 무료라는 장점 때문에 많이 사용될 것 같습니다. 물론 초당 3개의 문장만 처리가 가능하다는 제한이 있지만 작은 규모의 챗봇이라면 큰 문제가 없을 듯 합니다.

 

왓슨은 무료버전이 월 10,000개의 요청만 가능하기 때문에 테스트 용도가 아니면 사용할 수 없습니다. 하지만 기업 차원에서 챗봇을 만드는 것이라면 충분히 고려해 볼만한 플랫폼이라 생각합니다.

 

단비는 국산 플랫폼이라 카카오톡을 지원하고 도움말이나 제품 지원이 잘 되어있다는 장점이 있습니다. 하루 10,000개 API로 왓슨보다는 무료버전의 제한이 덜한 편이지만, 실제로 챗봇을 운영하기 위해서는 유료 가입이 필요할 듯 합니다.

 

 

 

지금까지 4개의 챗봇 플랫폼을 비교해 보았습니다. 각각 장단점이 있기 때문에 자신에게 맞는 것을 선택할 필요가 있습니다. 또한 여기에 소개되지 않은 제품들도 좋은 성능을 보이는 것이 많으니 관심을 가지고 다양하게 찾아보시면 좋을 것 같습니다.

 

 

 

< 챗봇 개발자 모임 >

- 페이스북 그룹에 가입하시면 챗봇에 대한 최신 정보를 쉽게 받으실 수 있습니다.

https://www.facebook.com/groups/ChatbotDevKR/

첨부
엮인글 :

주례소년

2018.08.05 15:05:05
*.102.6.143

좋은 정보군요.

챗봇을 개발하고 싶지만, 아직 챗봇에 대한 이해도가 부족하기에 이것저것 정보를 찾고 있습니다.

특히 플랫폼을 이용하여 만들 수 있게 된다면 접근이 좀 더 수월해질 수 있을 것 같습니다.

List of Articles
제목 글쓴이 날짜 조회 수
챗봇 알고리즘의 발전 과정 file 깊은바다 2018-04-20 18386
왓슨 컨버세이션 – 챗봇은 어떻게 대화의 문맥을 기억할까? 깊은바다 2018-04-17 644
왓슨 컨버세이션 서비스를 활용한 회의실 예약 한글 챗봇 깊은바다 2018-04-10 647
Clova Platform 인공지능을 엮는 기술 깊은바다 2018-03-22 938
챗봇 개발 플랫폼 비교 file [1] 깊은바다 2018-03-07 21376
왓슨을 사용한 챗봇 개발 방법 file 깊은바다 2018-03-06 3703
에이브릴을 활용한 챗봇 개발 깊은바다 2018-03-06 415
BotHub로 만든 다양한 챗봇 예제 깊은바다 2017-12-22 2265
Python으로 챗봇 만들어보기 - 영화 정보 / 음료 주문 깊은바다 2017-12-22 8937
자바 스프링으로 카카오톡 챗봇 만들기 깊은바다 2017-11-26 10480
Api.ai로 Telegram 연동 챗봇 만들기 깊은바다 2017-10-02 5936
Chatfuel로 코딩없이 타로 챗봇 만들기 file 깊은바다 2017-09-26 4364
MS의 Bot Framework로 30분 안에 챗봇 만들기 깊은바다 2017-09-17 3622
Watson으로 쉽게 만드는 카카오톡 ChatBot 깊은바다 2017-08-31 1899
Node.js로 LINE Bot 만들기 깊은바다 2017-07-10 2505