Overview

안녕하세요. 디지털 비즈니스에 대한 글을 쓰는 허씨입니다. 오늘은 챗봇(Chatbot)에 대한 간략한 소개와 챗봇을 구동하는 핵심 기술인 NLP의 동작 원리, 그리고 제품 기획의 방향을 살펴보도록 하겠습니다.


챗봇은 사실 꽤나 익숙한 서비스

사실 챗봇이라는 서비스 자체는 꽤 오래 전부터 우리와 친했던 것 같습니다. 대표적으로 “심심이”라는 캐릭터가 있었죠. 다만, 현대에 개발되고 있는 챗봇과는 결정적으로 다른 점이 있는데, 바로 사람이 사전에 입력한 규칙(Rule)에 의해서만 대화를 할 수 있었다는 점입니다.

이러한 구조를 룰 베이스 알고리즘이라고도 부르는데요. 사실 머신러닝이라는 단어와 구분하기 위한 것일 뿐, 그냥 일반적인 프로그래밍이라고 보시면 됩니다. 이 경우 인간이 정해준 룰에 의해서만 챗봇이 동작할 수 있고 “닫힌 대화” 기반의 챗봇이 개발됩니다. (이 부분은 맨 마지막에 다시 언급하도록 하겠습니다!)

닫힌 대화를 이어가는 챗봇이 있다면 “열린 대화”를 이어가는 챗봇도 존재할 것 같은데요. 이 경우에는 인간이 룰을 정해놓고 사전에 프로그래밍하는 것이 아니라, 봇 스스로 룰을 만들어야 가능한 케이스입니다. 이 때 선행되어야 하는 작업은 인풋 데이터와 해당 데이터에 대한 기대값을 입력해주어야 하죠. 이러한 과정을 머신러닝이라고 부르며, 이 과정을 거친 챗봇 알고리즘은 스스로가 인간의 음성 또는 텍스트에 대응하여 룰을 만들고 대화에 탄력적으로 반응합니다.

현대 챗봇의 핵심 기술 자연어 처리(NLP)란 무엇인가

자연어 처리 기술은 음성의 인식, 내용 요약, 언어 번역, 인간의 감정 분석, 텍스트 분류 작업(스팸 메일 분류, 뉴스 기사 카테고리 분류), 자동 Q&A 시스템, 챗봇과 같은 서비스에서 다방면으로 사용되는 기술입니다.

앞서 머신러닝 기반의 챗봇이라고 말씀을 드렸는데요. NLP는 이 머신러닝 기반의 챗봇을 만들 때에도 활용됩니다. 우선, NLP와 머신러닝이 무슨 관계에 놓여져있는지 알아보기 위해 아래 다이어그램을 한 번 보실까요?

NLP와 인공지능, 머신러닝, 그리고 딥러닝의 관계

우선, 인공지능이라는 것이 가장 상위 카테고리를 차지한다고 보시면 됩니다. 컴퓨터 스스로 인간과 유사하게 학습 및 추론할 수 있는 능력을 갖추었을 때 인공지능이라고 부릅니다. 그리고 이 인공지능을 실현시킬 수 있는 기술이 머신러닝 기술이며, 머신러닝 기술을 실현시킬 수 있는 수많은 알고리즘 중 하나가 딥러닝 알고리즘입니다.

그럼 NLP는 뭘까요?

NLP는 인공지능의 한 범주이기도 하지만, 머신러닝과 딥러닝과 일정 부분 교집합을 갖는 기술이기도 합니다. 우선, NLP 알고리즘이란 컴퓨터가 인간의 언어를 입력받아 이를 이해하고, 분석하여 최적의 결과값을 찾아내는 과정을 반복하는 프로그램으로 볼 수 있습니다. 해당 절차를 추상화해서 표현하면 아래 구조와 같습니다.

 음성 또는 텍스트 데이터의 입력값과 결과값을 사전에 학습한 NLP 알고리즘은 위와 같은 과정을 통해 인간과 소통하게 되며, 이 경우 챗봇은 “열린 대화”를 지향합니다.

맨 처음 음성 또는 텍스트 데이터를 입력받은 NLP 알고리즘이 해당 발화에 대한 분석을 하는 과정을 “자연어 이해”라고 하며, 분석 과정을 거친 후 최적의 결과값을 도출하는 것을 “자연어 생성(NLG)라고도 부릅니다.

챗봇 기획의 합리적 방향성

열린 구조 vs 닫힌 구조

먼저, 열린 구조로 기획할 것인지 닫힌 구조로 기획할 것인지, 아니면 두 구조가 일부 혼합되어 있는 형태로 기획할 것인지를 명확히 해야 합니다. 위 도식과 같이, 열린 구조의 챗봇일수록 시간 및 비용이 많이 투입되며 소요되는 개발 난이도 역시 증가합니다. 이에 반해, 닫힌 구조의 챗봇일수록 그 반대의 경향을 보입니다.

바퀴를 새로 만들지 말자 !

최근에는 네이버 클로바, 카카오 i 등 IT 대기업에서도 챗봇을 손쉽게 빌드할 수 있는 프레임워크를 제공하고 있습니다. 예를 들어, 아래와 같이 네이버 클로바 팀에서 미리 개발해놓은 챗봇 시스템의 오픈 API를 사용해서 자신의 애플리케이션에서 필요한 챗봇 기능을 효율적으로 개발할 수도 있습니다.

콘텐츠 마케팅 대행 콘텐타

 

댓글 남기기