본문 바로가기

.Net/etc.

챗봇(ChatBot) 개발 준비 점검 : 이해하기

안녕하세요. 김승진입니다.


오늘은 봇(bot)에 대해서 알아 보겠습니다. 흔히 봇(bot)또는 챗봇(ChatBot)이라고 부릅니다.


개념에 대한 이야기는 워낙 많은 곳에서 다루고 있기 때문에 아래 링크를 확인해 보시길 바랍니다.

 

LG CNS 블로그 - 모바일 메신저 챗봇(ChatBot)이란 무엇일까
http://blog.lgcns.com/1126

 

챗봇은 무엇인가?
https://brunch.co.kr/@gentlepie/2


 

1. 모바일 앱 다음의 시대는?

일부에서는 챗봇을 Next App 이라고 부르곤 합니다.

2007년 아이폰 출 시 이후 세상은 많은 것이 바뀌어 왔습니다. 기존에도 스마트폰이 존재 했었지만 아이폰은 가장 큰 특징은 앱 스토어(App Store)라는 곳에서 원하는 앱을 마음것 다운로드 할 수 있고 이용 할 수 있다는 것이었습니다.

 

과거 처럼 필요한 프로그램을 직접 찾아 설치해야 했던 번거로움이 없어지고 앱 스토어에서 클릭 한두 번으로 원하는 앱을 설치하고 이용할 수 있게 되었습니다.

 

2016년 기준 안드로이드 플레이스토어, 아이폰 애플 스토어에 등록된 앱의 갯수는 모두 150만개가 넘는다고 합니다.

그것은 내가 고민하고 있는 기능의 앱은 누군가가 이미 만들었을 가능성이 높다는 이야기 입니다.

 

그러나 하루종일 스마트폰을 이용하는 사람들이 설치되어 있는 모든 앱을 모두 이용할까요?

스마트폰 이용자 40% 정도가 15개 이상 앱을 설치하고 있지만 대부분 이용하는 앱은 메신저 또는 SNS, 포털/뉴스 미디어 용입니다.

 

따라서 새로운 모바일 앱을 만든다고 하여도 사용자에게 노출되거나 이용될 가능성이 현저하게 낮다는 결론이 됩니다.

 

챗봇은 이러한 모바일 생태계의 변화에 맞춰 메신저, SNS 등의 앱 위에 올려지는 또 하나의 앱이라고 보시면 되겠습니다.

 

지하철이나 길가를 지나다 보면 사람들이 카톡이나 페이스북 등을 열심히 보고 이용하는 모습을 어렵지 않게 봅니다.

카톡이나 페이스북이 하나의 플랫폼이 되었고 사용자는 본인이 선호하는 플랫폼을 떠나고 싶지 않아 하는 현상이 뚜렷합니다.

 

 

 

몇해 전 라인 메신저에서 번역 챗봇을 이용했던 경험이 있습니다. 별도의 번역 앱을 실행하지 않아도 라인 메신저에서 제가 원하는 문장을 입력하면 라인 메신저의 번역 봇이 영어로 번역을 해주었습니다.

 

물론 당시 번역 수준이 그렇게 품질이 좋지 않았지만 가능성이 무궁무진하다고 생각했었는데 이제 다양한 응용이 가능한 시대가 되었습니다.

 

2. 아이언맨의 '자비스' 너도 챗봇이다.

아이언맨에서 주인공 토니 스타크가 목소리로 모든 명령을 내릴 수 있는 인공지능(AI) 집사 '자비스'를 이용하는 모습을 보게 됩니다. 저택 관리, 아이언맨 슈트 관리, 전투나 해킹 등 수많은 일을 토니 스타크와 함꼐 대화를 통해 문제들을 손쉽게 해결 합니다.

 

 

 

그리고 아마존의 '알렉사', KT의 '기가지니', SK텔레콤의 '누구' 등의 서비스가 요즘 미디어에 자주 등장합니다.

일상 생활에서 음성인식 기능을 통해 서비스를 이용 할 수 있게 도와 줍니다.

 

"지니야, 오늘 날씨를 알려줘"

"지니야, 트와이스 노래 틀어줘"

 

'자비스' 처럼 돈될(?) 만한 일을 해주지는 않지만 과거에 리모콘을 가지고 했던 작업을 음성인식 기술을 통해 생각보다 영리하게 처리합니다.

 

이러한 "인공지능 비서" 역시 큰틀에서 보면 챗봇이라 할 수 있습니다. 직접 타이핑했던 텍스트가 음성으로 바뀌었을 뿐 결국 자연어 처리와 딥러닝 과정을 통해 사용자의 의도를 파악하고 서비스(스킬)을 수행하는 원리가 동일합니다.

 

3. 챗봇을 만들기 위한 기술 요소

과거 스타트업 기업들이 모바일 앱을 만들기 위해 열심히 였다면 요즘은 챗봇을 만들기 위해 하나같이 열심히 입니다.

 

챗봇을 개발하기 위해서는 일단 3가지 관점으로 시각을 분리 할 필요가 있습니다.

 

 3.1 어떤 서비스/컨텐츠을 제공 할 것인가?

 3.2 어떤 기술로 고객의 의도를 파악 할 것인가?

 3.3 어떤 채널/플랫폼에서 서비스를 제공 할 것인가?

"3.1. 어떤 서비스/컨텐츠를 제공 할 것인가"는 챗봇을 만드는 근본적인 목적입니다.

날씨를 제공하는 챗봇이라면 날씨 정보/컨텐츠를 생성해야 할 테고 직접 생성하지 못한다면 외부의 컨텐츠를 생산하는 곳과 제휴 또는 오픈된 API를 통해서 가져와야 할 것입니다.

 

아래 표는 "3.2 어떤 기술로 고객의 의도를 파악할 것인가"에 대한 기술입니다.

 

 관련 기술

주요 내용 

 패턴 인식

 (Pattern Recognition)

 기계에 의하여 도형, 문자, 음성 등을 식별시키는 것

 자연어 처리

 (Natural Languange Processing)

 인간이 보통 쓰는 언어를 컴퓨터에 인식시켜서 처리하는 일

 정보검색, 질의응답 시스템, 자동번역 및 통역 등이 포함됨

 자동추론

 (Aotomated Reasoning)

 계산기과학의 한 분야로 추론의 다양한 측면을 이해함으로써 커뮤터에 의한 완전한 자동추론을 가능하게 하는 소프트웨어 개발을 목표로함

 데이터마이닝

 (Data Mining)

 많은 데이터 가운데 숨겨져 있는 유용한 상관관계를 발견하여, 미래에 실행가능한 정보를 추론해 내고 의사 결정에 이용하는 과정

 지능엔진

 (Intelligent Agent)

 인공지능적 기능을 가진 소프트웨어 엔진

 사용자를 보조하고 반복된 컴퓨터 관련 업무를 인간을 대신하여 실시하는 엔진

 시멘틱 웹

 (Semantic Web)

 컴퓨터가 정보자원의 뜻을 이해하고, 논리적 추론까지 할 수 있는 차세대 지능형 웹

(NIA 정보정보화진흥원, 모바일 시대를넘어 AI시대로, 2010.8.25)

 

위 자료는 2010년 자료이기 때문에 요즘 언급되는 머신러닝, 딥러닝에 대한 이야기는 나오지 않았지만 자동추론, 데이터마이닝, 지능엔진 등이 대체 된다고 보면 좋을 것 같습니다.

 

 

 

위에 언급되고 있는 기술들은 인공지능 서비스를 개발하기 위한 기초적인 학문 분야에 대한 이야기이지만 실제 챗봇 개발을 하기 위해서 위의 학문을 모두 이해 할 필요는 없습니다.  단지 위 기술요소가 관련되어 있다는 정도로만 이해해도 좋을 것입니다.

 

서비스의 품질이 아무리 좋아도 어떤 장소/플랫폼에서 서비스하는 가는 중요한 문제입니다.

아래는 "3.3 어떤 플랫폼에서 서비스를 제공 할 것인가"에 대한 표입니다. 

 

 채널/플랫폼

설명 

관련 링크 

 카카오톡(Kakao Talk)

옐로아이디(비즈니스 아이디)를 통해서만 서비스 개발 가능

 https://yellowid.kakao.com/

 라인(Line)  Line Business Center의 Messanging API 를 통해서 개발 가능   https://business.line.me/ja/services/bot
 페이스북(Facebook)

 Messenger 플랫폼의 API를 통해 개발 가능

 https://developers.facebook.com/docs/messenger-platform

 

위 표는 각 플랫폼별 챗봇 개발을 위한 API를 제공해주는 링크 모음입니다.

 

서비스 실질적으로 활용해야 하는 기술은 각 플랫폼 사들이 제공하는 서비스의 특성과 API에 대한 이해입니다.

 

4. 서비스/컨텐츠에 집중 할 수 있도록 도와주는 서비스

 

3장에서 다루고 있는 기술들은 사실 서비스 자체보다 기술의 깊이 너무도 깊습니다.

예를 들어 자연어 처리 기술 등을 통해 사용자의 의도를 파악한다는 것은 IT공룡업체들도 쉽게 기술의 성숙도를 말하기는 어려운 상황입니다.

 

 서비스

 설명

 관련 링크

 Microsoft LUIS

 마이크로소프트의 인공지능 AI기반 자연어 처리 서비스

 (한국어 지원)

 https://www.luis.ai/

 Google API.ai

 구굴이 2016년 음성인식과 자연어 처리 구술을 보유한 API.ai 인수(한국어 지원)

 https://api.ai/

 Facebook Wit.ai

 페이스북이 2015년 음성인식기술업체 Wit.ai 인수

 https://wit.ai/

 Naver AMICA.ai

 네이버에서 제공하는 자연어 처리 서비스(베타서비스 중)

 http://amica.ai/

 

위 서비스 목록은 자연어처리를 제공해주는 서비스 들입니다. 무료이거나 유료라 하더라도 조건부 또는 비용이 저렴합니다.

(Microsoft LUIS의 경우 월 10K까지는 무료이고 10TBS 조건으로 100Calls에 0.75$ 입니다.)

 

아마도 이러한 서비스를 무료 또는 저렴하게 제공하는 이유는 그만큼 서비스 제공사에서도 이득이 크기 때문일 것입니다. 자연어처리 기술의 기반은 딥러닝 기술이고 결국 학습을 할 수 있는 수많은 데이터가 필요 할텐데 학습을 대신 시켜주는 것이 조건/비용 일 것입니다.

 

 

 

이외에도 다양한 채널/플랫폼에서 서비스를 하기 위해서는 이를 통합적으로 연결해 주는 서비스가 필요합니다.

Microsoft는 Bot Framework를 통해 Facebook, Telegram, Skype, Slack, Microsoft Teams, GroupMe, Twilio(SMS), Kik 또는 자사의 독립 채널/플랫폼 등에 손쉽게 연결 할 수 있도록 중계 서비스를 제공합니다. 또한 에뮬레이터도 제공해주고 있어서 개발하는데 도움을 줍니다.

 

 

 

 

 

다음 포스트에서는 실제 봇 개발을 진행하도록 해보겠습니다.

 

감사합니다.