brunch

You can make anything
by writing

C.S.Lewis

by 으뉴아빠 Aug 13. 2018

인공지능 챗봇(Chatbot)  프로그램 개발 (1)

Feat. 맥스부터 인공지능 챗봇까지

 4차 산업혁명은 사전적으로는 정보통신 기술(ICT)의 융합으로 이루어낸 혁명 시대를 말한다. 하지만 이러한 사전적인 정의보다 우리의 삶에 가까이 다가오는 것은 빅데이터, 인공지능, 블록체인 등의 명칭이며 이들 중 실제 사용자들에게 가장 익숙하게 활용되는 것을 하나 꼽자면 인공지능 챗봇을 예를 들 수 있을 것이다.

 챗봇은 말 그대로 채팅을 하는 로봇의 줄임 말이며, 아이언맨 같은 영화에서 나오는 인공지능 비서 자비스에서부터 실제 스마트폰에서 사용되는 Siri, 빅스비까지 우리들에게는 많이 익숙해져 있는 프로그램이다. 필자의 회사에서는 크고 작은 POC를 통하여 MS의 루이스와 IBM의 Waston Conversation에 대한 챗봇 개발을 진행하기도 했다. 최근 현대카드와 롯데백화점 등이 고객을 대상으로 챗봇을 오픈하면서 실제 운영에 대한 효용성이 증명되고 있다. 따라서 이번 시간부터는 앞으로 증가하는 챗봇 관련 요구 사항에 대비하고자 이와 관련 반드시 알아야 할 이론 및 다양한 챗봇 서비스 실습을 진행하고자 한다. 오늘은 우선 일부 사람들이 챗봇에 대해 알고 있는 잘못된 고정관념을 바로 잡고 과거와 현재 챗봇의 차이를 비교, 분석하는 시간을 가질 것이다.
 
 . 챗봇은 과거에도 있었다
 예전 486 컴퓨터에 MS-Dos 운영체제 기반에서 컴퓨터를 사용할 때 (무려 20년 전), 상당히 재밌게 사용했던 프로그램이 하나 있었는데 그것은 바로 ‘맥스’라는 프로그램이다. 경험을 해 본 사람도 있을 것이고 처음 듣는 사람도 있을 것인데 이는 한국에 들어온 챗봇의 조상님과 같은 프로그램으로서 질문을 입력하면 컴퓨터가 사전에 입력된 대답을 해주는 프로그램이다.


< 챗봇의 조상님 MAX >


 
 하드웨어 성능이 눈부신 발전을 하면서 대화를 저장할 수 있는 양이 늘어남에 따라 과거 맥스보다 훨씬 자연스러운 대화를 할 수 있는 프로그램이 등장하였다. 바로 ‘심심이’라는 프로그램인데 이는 위에 소개된 맥스보다는 사용해 본 사람들이 많을 것이라 생각된다. 예전 스마트폰 세대 이전부터 특정 번호로 메시지를 보내면 답변이 오는 형태로 서비스가 되었으며, 카카오톡 출시 이후 플러스 친구 추가를 통해서도 체험 가능하게 되었다. 과거 심심이를 처음 사용하였을 때에는 누군가가 답변을 입력하고 있는 것이 아닐까 하는 의심이 들 정도로 대화가 자연스러웠던 기억이 있다. 심지어 시급 5000원을 받는 사람이라는 설까지 있었으나 대화에 대한 응답이 즉각적인 점, 과거 나누었던 대화를 기억하지 못하는 점 등을 통하여 기계라는 확신을 갖게 되었다. (심심이가 사람인지 확인해 보려 같은 질문을 수십 차례 던져보곤 했다.) 심심이의 자세한 내부 로직은 알 수 없으나, 맥스와 같이 대화를 정해놓은 상태에서 프로그램을 배포하는 형태가 아닌 사용자 대화를 입력받아 서버 측에서 계속 적으로 대화를 업그레이드해 나가는 형태이기에 그런 자연스러운 대화가 가능했을 것 같다. 실제 심심이는 가르치기 기능까지 있어 대화가 매번 업그레이드됨을 느낄 수 있었다.
 

< 심심이의 위엄 1 >
< 심심이의 위엄 2 >


 
 . 인공지능 챗봇의 탄생과 오해
 2016년 3월 세계를 놀라게 한 일이 있었다. 바로 알파고와 이세돌의 세기의 바둑 대결이었는데, 결과는 알파고가 4대 1로 승리를 거두었다. 이 대결로 인하여 한국 사회는 인공지능에 대해 큰 관심을 갖게 되었고 이는 더 이상 미래의 이야기가 아닌 눈앞에 다가온 문제로 받아들이게 되었다. 물 들어올 때 노를 젓는다는 말이 있듯이 이와 동시에 IT 융합을 필두로 하는 4차 산업혁명이 각광을 받게 되었고 이의 대표 격인 인공지능을 접목시킨 챗봇이 소개되며 사람들 사이에 관심사로 떠오르게 되었다. 챗봇이 처음 등장했을 때 사람들의 기대치는 엄청났다. 정말 아이언맨에서 보던 자비스처럼 관리해주는 비서가 탄생하는 것일까. 인공지능이 사람과 같은 지식을 갖게 되면서 세상을 지배하는 건 아닐까. 하지만 기대가 크면 실망도 크다고 했던가.
 기대 혹은 우려와는 달리 실제 개발자들이 테스트 한 인공지능 챗봇은 상당히 불친절하며 알아들을 수 있는 언어도 제한되어 있으며, 실제 서비스 하기에는 답답한 느낌마저 들었다. 심지어 위에 소개되었던 심심이가 훨씬 더 사람 같은 모습을 보이며 인공지능이라는 타이틀은 차라리 심심이에게 붙이는 것이 맞지 않을까 하는 생각마저 들게 했다.
 
 . 인공지능 챗봇 vs 심심이

 그럼에도 불구하고 필자는 심심이에게 인공지능이라는 말을 붙일 수 없다. 현재 심심이의 대화 Scope가 현재 개발되는 인공지능 챗봇보다 넓고 자연스러울 지라도 그럴 수 없다.  왜냐하면 우리가 구현할 수 있는 인공지능 챗봇과 심심이는 다음과 같은 결정적인 차이를 갖고 있기 때문이다.
 
 1. Context의 유무
 인공지능 챗봇과 심심이의 가장 결정적인 차이는 Context의 유무에 있다. Context란 문맥 or 맥락을 의미한다. 나와 대화하는 동안 이야기되었던 주제들을 기억하고 이에 맞는 대답을 해주는 것이다. 예를 들어 내가 여행관련 챗봇을 사용하여 어딘가로 여행을 가고 싶다고 했을 때, 챗봇은 사용자와 대화를 하며 출발 일자, 도착 일자, 도착 도시, 인원 등 다양한 정보를 받아들이게 되며 이를 활용하여 답변하게 된다.  심심이의 경우 하나의 답변에 대하여 적절한 대답을 해 주지만 나와 대화했던 내용들을 기억하며 다음 대화에 반영하지 않는다. 따라서 가벼운 농담 같은 대화에는 어울리지만 실제 비즈니스 업무를 처리하는 대화에는 어울리지 않는다.
 
 2. 개인화 처리
 심심이와의 대화가 끝난 후 나중에 다시 대화하는 경우 심심이는 나를 기억하지 못한다. 하지만 인공지능 챗봇이라 하면 개인화 처리의 확장은 필수로 전제되어야
 한다.
 
 3. Intent와 Entity의 유무
 이것은 아직까지는 심심이에게 손을 들어주고 싶다.
 Intent는 질문의 의도를 의미하고 Entity는 그룹 명사 정도로 생각하면 된다. 예를 들어 “나 인천에서 제주도까지 가고 싶어”, “나 김포에서 나리타로 비행기 예약하고 싶어”라는 질문을 했을 때 해당 질문의 Intent는 “예약하다”로 설정할 수 있으며 Entity는 “공항”이라는 그룹 명사 내에 인천, 제주, 김포, 나리타 등이 변수로 등록되게 된다. 이러한 Intent, Entity를 바탕으로 인공지능 챗봇이 사용자와 상호작용을 하게 되는데, 현재 IBM의 왓슨 Conversation, MS LUIS, Google의 Dialogflow 등에서 가장 어려워하는 것이 이러한 Intent와 Entity를 분류해 주는 한국어 자연어 처리 작업이다. 따라서 짧은 기간의 개발로는 아주 오래전부터 Database를 모아 온 심심이보다 대화의 자연스러움이 부족할 수밖에 없다. 하지만 이것은 단순 해석의 문제이며 시간이 흐를수록 정교화되기 마련이므로 인공지능 챗봇에 있어 경쟁력 있는 요소로 작용하기는 어렵다. 또한 위에 언급된 기업들에서 한국어 처리 작업을 순차적으로 진행하고 있어, 시간의 흐름에 따라 간격이 좁혀지며 결국엔 심심이 이상의 성능을 낼 수 있을 것이라 확신한다.
 
 . 인공지능 챗봇의 이해


 지금까지 과거부터 현재까지 챗봇의 변화 및 특징에 대하여 개략적으로 살펴보았다. 사실 IT의 입장에서 인공지능 챗봇이라 함은 미지의 프로그램이 스스로 의지를 갖고 학습하는 것이 아닌, 사람이 무언가를 학습하는 과정을 하드웨어와 소프트웨어로 구현한 것을 의미한다. 사람도 처음 태어나면 아무 지식도 없지만 자라면서 부모 또는 선생을 통해 학습하는 것처럼 인공지능 챗봇 또한 처음에는 아무런 지식도 갖고 있지 않지만 인간의 뇌를 DB로 구현하여 이에 따라 학습하는 과정을 소프트웨어로 구현한 것을 의미하는 것이다. 사람도 누군가와 상호 작용이 없이 혼자 이 땅에 놓이게 된다면 언어 포함 아무것도 배울 수 없는 것처럼, 현재 서비스되고 있는 챗봇 또한 이를 입력해 주는 사람이 없다면 혼자서는 아무것도 할 수 없는 빈 껍데기에 불과하게 된다. 게다가 지식을 부여해주는 주체가 불완전한 지식을 전달해 준다면 챗봇 또한 불완전한 지식을 그대로 갖게 되는 상당히 의존적인 시스템인 것이다. 인공 지능 챗봇에 자유 의지를 기대하였다면 조금은 맥이 빠지는 이야기 일 수도 있을 것이다. 하지만 냉정하게 보았을 때 사람의 학습 과정 또한 인공지능 챗봇의 학습 과정과 다르지 않다고 생각하기에 앞으로 기술의 발전에 따라 정말 사람과 비슷한 챗봇 또한 기대해 볼 수 있다는 희망이 생기기도 한다.
 
 다음 시간부터는 Cloud 환경 내에서의 Chatbot 개발 방식인 IBM Waston Conversation을 실습해 보도록 하겠다.


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