챗봇 도입하는 방법, 가장 쉽게 알려드려요
챗봇을 도입해야 하는 이유
디지털 기술과 인공지능의 발전으로 인해 비즈니스 환경은 빠르게 변화하고 있습니다. 특히 GPT(Generative Pre-trained Transformer)와 같은 대규모 언어 모델의 등장을 기점으로 챗봇 기술에 상당한 변화가 있었습니다. 이전에 비해 챗봇은 더욱 자연스러운 대화와 개인화된 경험을 제공할 수 있게 되었습니다. 규칙 기반 시스템이나 간단한 통계 모델을 기반으로 작동하여 자연어 이해(NLU)와 자연어 생성(NLG) 능력이 제한되었던 과거 챗봇에 비해 최근의 챗봇은 사용자와의 상호 작용에 있어 품질이 크게 향상되었습니다.
여러 기업에서 챗봇은 고객 지원 및 서비스, 주문 및 예약 관리, 판매 및 마케팅, HR, 금융 서비스, 교육 비즈니스 등 다양한 쓰임새로 활용되고 있습니다. 그러나 이런 쓰임들은 챗봇을 활용하는 방법의 일부에 불과하며, 다양한 비즈니스에 맞는 맞춤형 챗봇 등 챗봇의 활용 가능성은 무궁무진합니다. 잘 만든 챗봇은 비즈니스의 효율성을 향상시키고 고객 경험을 개선하는 혁신적인 솔루션이 될 수 있습니다. 하지만 잘못 활용하면 애물단지 서비스가 되어 거액을 들여 도입했음에도 충분히 그 가치를 다하지 못할 수도 있습니다. 성공과 실패 사례가 많은 만큼 가볍게 생각할 수 없는 챗봇 도입. 관심이 있지만 ‘우리 회사는 어떻게 시작해야 할까?’ 주저하고 계셨다면 이번 글에서 간단히 도움을 드리고자 합니다.
챗봇, 무엇부터 시작해야 하나요?
챗봇에 대해 처음 알아보기 시작하셨다면 가장 먼저 마주하게 될 개념과 도입 절차를 간단히 안내해 드리겠습니다.
기본 개념
- 인텐트 (Intent): 사용자가 챗봇에게 전달하는 의도나 목적을 나타내는 개념. 인텐트는 사용자의 질문 또는 요청이 어떤 작업 또는 기능을 실행해야 하는지를 결정하는 데 사용됩니다.
ex. 사용자 "오늘 날씨 알려줘" : 의도 = 날씨 정보 요청 - 엔티티 (Entity): 인텐트와 관련된 정보나 매개변수. 주로 유의어 구성으로 이루어집니다.
ex. 사용자 "서울 날씨 알려줘" : 위치 정보 엔티티 $지역$ {“서울”, “인천”, “대구”, “부산”…} - API (Application Programming Interface): 소프트웨어 애플리케이션 간에 정보를 교환하고 상호작용하기 위한 인터페이스. 챗봇은 외부 서비스나 시스템과 통신하여 데이터를 가져오거나 작업을 수행하기 위해 API를 사용할 수 있습니다.
ex. 사용자 “내일 서울 날씨 알려줘” : 기상 정보 제공 업체의 API를 호출 - 시나리오 (Scenario): 챗봇이 상호 작용하는 대화의 흐름. 사용자와 챗봇 간의 대화 과정을 설계하고 제어하는 역할. 시나리오를 사용하여 사용자의 다양한 질문에 대한 적절한 응답을 설정하고 챗봇이 어떻게 대화를 이어나갈지 정의합니다.
도입 절차
위에서 안내해 드린 기본적인 개념을 바탕으로 챗봇을 도입하는 과정은 아래와 같습니다.
챗봇 빌더 vs 챗봇 프레임워크, 어떤 차이가 있을까
먼저 챗봇 프로젝트를 진행할 때 어떤 조직이 중심이 되어 움직이는지 확인이 필요합니다.
- 기획자, 개발자, 디자이너 등 다양한 사람들이 모여서 협업한다면, 빌더 솔루션 추천!
Kakao i(카카오 i), 단비AI, RB Dialog(알비다이알로그), Brity assistant(브리티 어시스턴트) 등 여러 국내 기업에서 솔루션을 제공하고 있으며 다양한 커스터마이징 옵션을 제공합니다. 코딩 없이 챗봇을 만들 수 있는 방법으로 자연어 처리부터 대화 흐름 설정까지 직관적인 UI를 제공하여 누구나 쉽게 챗봇을 만들 수 있습니다. 빌더에 따라 자주 이용하는 플랫폼과 채널에 쉽게 통합 및 배포할 수 있으며 데이터 분석 기능을 제공하는 경우도 있습니다.
💡빌더를 활용하게 되었다면, 빌더 특성에 맞는 데이터를 설계해야 합니다!
- 엔티티를 설계할 때 유의어는 어디까지 구축해야 할까요?
A사 빌더 | B사 빌더 |
---|---|
$Accommodation$ | $숙박시설$ |
숙소, 숙박, 호텔, hotel, 모텔, motel, 펜션, 민박, 리조트, resort |
숙소, 숙박, 호텔, Hotel, HOTEL, hotel, 모텔, Motel, MOTEL, motel, 펜션, 팬션, 민박, 리조트, 리죠트, Resort, RESORT, resort |
Tip1. 엔티티 명을 지정할 때 한/영, 단어 길이 원칙이 있는지 확인
Tip2. 유의어 영문 대소문자 인식이 자동으로 지원되는지 확인
Tip3. 유의어 오타 인식이 자동으로 지원되는지 확인
- 개발 역량이 탄탄한 개발자가 Task를 끌고 나간다면, AI플랫폼과 프레임워크 추천!
플랫폼은 프로그램 실행 환경, 즉 기술 환경이라고 이해해 주시면 좋을 것 같습니다. 그 중에서 챗봇 AI플랫폼은 자연어처리 및 이미지인식 등의 기술을 통해 관련 서비스나 제품을 개발하기 위한 도구를 말합니다. 이는 알고리즘이나 알고리즘을 소프트웨어로 구현해 모듈화한 라이브러리, 또는 라이브러리의 구성 모듈을 불러 도구로 사용할 수 있게 한 인터페이스 등으로 구성되어 있습니다. 종류로는 IBM Watson(아이비엠 워트슨), Google Cloud AI(구글 클라우드), Microsoft Azure AI(마이크로소프트 애저) 등이 있습니다.
프레임워크는 프로그램의 기본 구조로, 목적에 따라 효율적으로 구조화한 개발 방식을 의미합니다. 플랫폼도 프레임워크의 일종이 될 수 있으며 때로는 UI 프로그램 개발 부분을 따로 프레임워크라고 부를 수도 있습니다. 챗봇 개발 프레임워크로는 Dialogflow(다이얼로그플로우), Rasa(라사), BotPress(봇프레스), Bot Framework (봇 프레임워크), Wit.ai(위트 에이아이) 등을 이용할 수 있습니다. 프레임워크를 사용하면 개발자가 더 많은 제어권을 가지게 됩니다. 챗봇의 동작 방식, 대화 흐름, 응답 로직을 더 세세하게 커스터마이징할 수 있으며 언어나 환경에 제약받지 않고 챗봇을 개발할 수 있습니다. 따라서 복잡하거나 특수한 요구사항을 가진 프로젝트에 적합합니다.
챗봇에 넣을 데이터 기획과 구축 준비
챗봇을 구성하는 데에는 다양한 Text 데이터가 필요합니다. 준비해야 하는 데이터 종류는 챗봇을 똑똑하게 만들어주는 데이터와 사용자가 받아볼 Output인 답변 데이터 크게 두 가지로 나뉩니다.
- 답변 내용 준비: 도메인 정보가 담긴 텍스트는 챗봇 답변의 형태로 재구성하여 응답으로 만들어집니다. 이때 정보는 명시적이고 간략해야 하며, 챗봇 페르소나가 있는 경우 문체에 특성이 반영되어 있어야 합니다.
- 의도에 맞는 답변 선정: 도메인 정보는 답변의 구성 요소가 되며 인텐트 설계에 영향을 줍니다. 챗봇이 어떤 의도를 파악했을 때 해당 응답을 내보낼 것인지 매칭하는 과정이 필요합니다.
- 키워드와 유의어 선정: 엔티티는 사용자 발화에서 가장 중요한 개념이라고 할 수 있습니다. 키워드를 보강하기 위한 연관 어휘로 유의어, 오탈자, 영문, 축약어 등을 사용하여 어휘 사전을 구축합니다. 촘촘하게 만들어진 어휘 사전은 챗봇 엔진이 사용자 의도를 파악하는 데에 도움을 줍니다.
- 학습 데이터 구축: 의도와 키워드가 정해진 챗봇에는 이제 예상되는 사용자 발화의 설계와 구축이 필요합니다. 엔티티 키워드가 있는 경우, 없는 경우, 문장 길이가 길거나 짧은 경우, 한국어의 경우 반말과 존댓말 등 챗봇 사용자를 고려한 다양한 발화문 구축은 챗봇 정확도에 큰 기여를 합니다. 챗봇 데모 작업 중에는 넉넉하게 만들어둔 미학습된 데이터가 테스트 데이터로 활용되기도 하며, 배포된 이후에는 사용자 로그를 분석하여 사용자가 자주 입력하는 발화를 추가로 구축하여 학습시킬 수 있습니다.
- 시나리오 설계: 챗봇이 더 자연스럽게 말할 수 있도록 하는 대화 흐름 데이터입니다. 답변 내용이 지나치게 길어질 것 같다면 URL 연결이나 다음 시나리오로 이동할 수 있도록 버튼을 구성해야 합니다. 또한 ‘숙소 예약’, ‘예약 취소’ 등 긴밀하게 연관된 인텐트의 경우 연관 버튼을 사용자에게 먼저 제시할 수도 있으며, ‘숙박 취소 정책’, ‘렌터카 취소 정책’처럼 의도가 유사한 경우 “예약하신 내용 중 어떤 취소 건이 궁금하신가요?”로 재질문 구성을 만들어볼 수도 있습니다.
끊임없는 평가와 분석을 통한 유지 보수 운영은 필수
- 홍보 및 사용자 교육: 대고객용 챗봇의 경우, 챗봇 오픈 소식과 함께 고객에게 챗봇의 기능과 활용 시 이점을 홍보합니다. 사내 챗봇의 경우에는 홍보와 더불어 적절한 사용 방법을 안내하는 교육 활동을 진행하는 것도 큰 도움이 될 수 있습니다.
- 피드백 수집 및 모니터링: 챗봇을 배포한 후, 초기 사용자들로부터 피드백을 수집합니다. 또한 모니터링한 내용을 통해 사용자의 행동과 대화 흐름을 이해하고 챗봇의 강점과 약점을 확인할 수 있습니다. 분석 데이터를 기반으로 챗봇의 개선점을 파악합니다. 이 과정이 반복적이고 정기적으로 이루어져야만 최신의 정보와 기능을 가진 챗봇을 유지할 수 있습니다.
- 학습 데이터 및 기능 업데이트: 초기에 학습 시킨 사용자의 예상 발화와 실제 발화를 비교하여 챗봇 모델을 업데이트합니다. 사용자 로그를 확인하여 새로운 발화 패턴이나 키워드를 반영하면 모델을 향상시키고 더 정확한 응답을 제공할 수 있습니다. 또한 사용자 요구에 따라 새로운 기능을 추가하거나 업데이트해야 합니다. 이를 통해 챗봇의 기능을 확장하고 사용자에게 편의를 제공하여 다시 사용하고 싶은 챗봇으로 발전시킬 수 있습니다.
- 챗봇 성과 평가: 챗봇의 성과를 정량적 및 정성적으로 평가합니다. 사용자 만족도, 응답 시간, 오류율, 자주 찾는 시나리오, 이탈률, 이탈 지점 등을 추적하여 챗봇의 효과를 측정합니다.
이런 단계를 따르면 효과적으로 작동하면서도 사용자들에게 더 나은 경험을 제공하는 챗봇을 구축할 수 있습니다.
그래서, 잘 만든 챗봇의 기준이 뭔가요?
개발, 데이터, 평가, 운영 ... 고려하기 시작하면 중요한 게 한두 가지가 아닌 챗봇. 혹시 머리가 더 아파지셨다면 걱정하지 마세요! 딱, 한 가지가 중요합니다.
잘 만든 챗봇은 곧 ‘잘’ 말하는 챗봇입니다.
어떤 목적을 가진 챗봇이든, 챗봇 도입의 가장 큰 목표는 사용자의 의도를 잘 알아듣고 대화가 잘 되는 것입니다. 똑똑한 챗봇을 만드는 과정은 질 좋고 다양한 데이터를 준비하는 것에서부터 시작되어야 합니다. 도입 이후에도 많은 고민이 필요합니다. 챗봇이 사용자와 상호작용하는 순간마다 중요한 데이터가 계속해서 생성되기 때문입니다. 이 소중한 데이터를 어떻게 활용할 것인지 함께 고민할 전문가가 필요합니다. 챗봇에 탑재할 엔진과 모델, 기능뿐만 아니라 데이터를 제대로 준비하는 노력이 반드시 필요한 이유는 챗봇 도입의 가장 중요한 목표를 달성하기 위해서임을 잊지 마세요!
챗봇, 이제 담아내는 콘텐츠가 중요합니다.
이처럼 명확한 목표가 있는 챗봇, 기술과 도메인이 박자를 맞추지 못한다면 쓸모없는 서비스가 되고 맙니다. TEXTNET은 도메인을 이해하는 챗봇 콘텐츠를 구성하고 동시에, 기술의 특징을 고려한 텍스트 데이터를 만들어냅니다. 챗봇 콘텐츠는 이제 텍스트 데이터 전문 기업 TEXTNET에 맡겨주세요!
함께할 때 마음이 놓이는 Project manager 임소은입니다.
TEXTNET 소개
지금의 딥러닝을 있게 한 AI Guru 제프리 힌튼의 데이터셋 'ImageNet'에 어원을 둔 TEXTNET은 (주)스피링크가 운영하는 AI/챗봇을 위한 텍스트 데이터 설계 및 구축 서비스입니다.
TEXTNET은 언어학, 심리학, 전산언어학 석·박사를 포함한 전문 인력으로 구성된 언어전문가 그룹으로서, 고객사의 니즈에 부합하는 텍스트 데이터를 설계·가공·구축하고 내부 R&D를 통해 설계 방식을 지속적으로 개선하여 최적의 데이터 설계 방법을 제안합니다. 프로젝트 목적에 따라 적합한 숙련 작업자를 선별하여 투입하고, 체계적이고 효율적으로 고품질의 학습데이터를 생산합니다.
TEXTNET은 삼성, LG, KT, SK 등 유수 대기업의 데이터 구축 파트너로 함께하며 금융, 마케팅, 콘텐츠, 메타버스, 서비스 기획, CS 등 다양한 도메인을 다루고 있습니다.