일러스트=이미지투데이.
일러스트=이미지투데이.

인공지능(AI) 기술이 적용된 로봇이 인간의 역할을 빠르게 대체하고 있다. 우리 생활 곳곳에서 제조, 안내, 서빙 등 사람의 역할을 하는 AI로봇을 이제는 심심치 않게 볼 수 있다. 물론 실체는 없지만 홈쇼핑, 금융사 각종 콜센터 등 온라인 대고객 응대채널에서도 인공지능 로봇이 활약하고 있다. 기업들이 일상의 모든 업무를 대화하듯이 처리하는 업무용 AI 서비스를 내놓고 있는 것. 오픈AI에서 개발한 인공지능 언어모델 챗GPT 또한 많이들 경험해 봤을 것이다. AI가 사람이 묻는 질문을 이해하고 대화를 이어나가는 게 놀라울 수준이다.

이처럼 우리는 자연스럽게 AI 삶 속으로 녹아 들어와 있다. 점차 AI기술 고도화로 더욱 섬세한 서비스와 함께 활용 분야도 넓어질 것이다. 물론 사람이 하는 위험한 일을 대체하고, 편리함을 배가할 수 있다는 점 이면에 사람의 일자리가 잠식되고, 스스로 학습하는 AI가 언젠가는 인간의 통제력을 벗어날 수 있다는 우려가 있기도 하다. 대한데일리는 요즘 핫 키워드인 AI기술을 기반으로 챗봇모델 등 이와 관련한 서비스를 개발, 제공하는 ‘디피랩’과 함께 AI에 대해 알아보는 시간을 마련했다. <편집자 주>

지난 5월 초, 삼성전자는 보안에 대한 우려로 임직원들에게 생성형AI의 사용을 전면 금지하는 조치를 내리며 회사 정보유출을 차단했습니다. 삼성전자뿐만 아니라, JP모건을 포함해 아마존, 소프트뱅크, 뱅크오브아메리카 등 챗GPT가 등장한 후 많은 글로벌 기업에서 임직원들을 대상으로 GPT 사용을 제한하고 있습니다. 이러한 추세에 따라 오픈AI측에서는 채팅의 기록을 남기지 않고, 학습 데이터로도 사용하지 않는 비공개 모드를 발표하는 등 대처하고 있습니다.

이처럼 AI가 스스로 학습하고, 텍스트를 만들어 내기까지 그 발전 과정에 대해 알아보겠습니다.

챗봇의 의미

2018년 이후 국내 챗봇 시장이 꿈틀거리고, 코로나19의 확산으로 비대면 생활이 일상화되면서 국내외 챗봇시장은 안정기에 접어들고 있습니다.

초기에 ‘채팅봇(Chattingbot)’으로 불리던 챗봇은 채팅과 로봇의 합성어로, 로봇의 인공지능을 대화형 인터페이스에 접목한 기술을 말합니다. 인공지능을 기반으로 사람과 상호작용하는 대화형 시스템이라고 할 수 있는데 즉, 사용자가 문자나 그래픽 혹은 음성을 통해 웹(web)이나 앱(App)과 상호작용할 수 있도록 돕는 것을 의미합니다.

메시지를 주고받는 메시징 앱이나 모바일 앱, 웹사이트, 음성지원 앱과 같은 다양한 채널에서 챗봇이 사용되며, 개발 방식에 따라 간단한 명령어를 처리하는 상담형 챗봇, 복잡한 처리도 도와주는 비서역할의 챗봇으로 나눌 수 있습니다.

챗봇의 구성요소

챗봇의 가장 기본적인 요소는 인텐트(Intents)와 엔티티(Entities) 두 가지입니다.

인텐트란 사용자가 발화한 문장의 ‘의도’를 뜻합니다. 신뢰도에 영향을 주기에 인공지능이 의도를 분류할 수 있게 합니다. 미리 학습해 둔 인텐트 중 해당 문장이 어떤 의도에 가장 가까운지에 따라 분류됩니다.

여기서 신뢰도란 컴퓨터가 기계학습(머신러닝)하여 자연어를 처리할 때 1에 가까울수록 정확한 의도분류를 했다고 할 수 있으며, 이때 ‘신뢰도가 높다’고 할 수 있습니다.

놀이터의 시소를 예로 들면 시소를 탈 때 조금 더 무거운 쪽으로 기우는 것처럼 컴퓨터가 의도를 분류할 때 신뢰도가 높은 쪽의 의도로 분류를 하는 것입니다.

다음으로 엔티티란 핵심단어 즉, ‘키워드’에 해당합니다. 인텐트와는 달리 엔티티는 신뢰도에 영향을 미치지 않습니다. 사용자가 발화한 문장에서 필요한 정보를 추출하기 위해 사용되는데, 예를 들어 제품명이나 날씨, 시간과 같이 필요요건에 따라 설정할 수 있습니다. 이때 엔티티는 변수로 사용할 수 있어 단순히 FAQ성(자주 묻는 질문) 상담챗봇 외 정보를 조회하고, 변경 및 삭제처리를 할 수 있는 챗봇을 만드는 데에 필수적입니다.

챗봇의 기본적인 동작원리

그렇다면, 챗봇의 가장 기본적인 동작 원리는 무엇일까요?

사용자가 발화한 문장은 자연어처리 혹은 자연어이해 즉, NLP(Natural Language Processing), NLU(Natural Language Understanding)엔진으로 전달됩니다. NLP란 자연어처리를 의미하며, 머신러닝(기계학습)을 통해 문장의 구조와 의미를 파악하는 것을 뜻합니다. NLU란 사용자의 발화문장이나 대화의 의미를 잘 알 수 있도록 만들어진 엔진을 의미합니다.

사전에 학습해둔 인텐트(의도) 중, 신뢰도가 가장 높은 의도로 분류되고, 분류된 해당 의도에서 설정한 다이알로그(Dialog)를 통해 답변을 하는 구조입니다.

레스토랑을 예약하는 챗봇을 예시로 들어보겠습니다. 레스토랑 예약을 위한 챗봇을 설계할 때, ‘#예약’에 해당하는 인텐트와 ‘@필수정보’에 해당하는 엔티티를 사전에 설정합니다.

이 후 예약자가 “내일 저녁 7시에 6명 예약되나요?”라고 물었을 때, 1. “~예약되나요?”라는 문장을 통해 미리 설정해둔 ‘#예약’이라는 의도로 의도가 분류됩니다. 2. ‘@예약일:내일에 해당하는 날짜’, ‘@예약시간:19’, ‘@인원수:6’이라는 값이 추출됩니다. 3. 추출된 엔티티 값은 곧 변수가 되어 해당 레스토랑 예약시스템으로 전달할 수 있는 형태가 됩니다.

즉 예약자가 말한 문장에서 ‘의도’는 신뢰도에 따라 분류되어 어떤 답을 해야 하는지 가늠하는 기준이 되고, ‘엔티티’는 예약에 필요한 값을 예약시스템에 넘겨줌으로써 실제 예약 처리가 되도록 합니다.

저작권자 © 대한데일리 무단전재 및 재배포 금지