챗봇이 비즈니스의 중요한 인터페이스 창구로 떠오르고 있다. 이러한 변화는 챗봇 관련 연구가 자연어처리(Natural Language Processing)기법에서 자연어이해(Natural Language Understanding) 그리고 자연어생성(Natural Language Generation)으로 지속적으로 발전했기 때문이다. 하지만, 챗봇을 개발하는 과정에서 도메인 지식을 이끌어내고, 사용자 친화적인 대화형 인터페이스로 개발하는 방법론적 연구는 미약한 것이 현실이다. 본 논문에서는 챗봇 개발의 프로세스적 기준을 제시하기 위해 이전 논문에서 제시한 방법론을 바탕으로 실제 프로젝트에 적용하며 개발방법론을 개선하였다. 결론적으로 가장 핵심적인 단계인 테스트 단계의 생산성을 33.3% 향상하였으며, 그 반복횟수도 37.5%로 단축하였다. 이러한 결과를 바탕으로 "3 Phase and 17 Tasks 개발방법론"을 제시하였으며, 이것은 챗봇 개발의 시행착오를 획기적으로 개선할 것으로 기대한다.
챗봇이 비즈니스의 중요한 인터페이스 창구로 떠오르고 있다. 이러한 변화는 챗봇 관련 연구가 자연어처리(Natural Language Processing)기법에서 자연어이해(Natural Language Understanding) 그리고 자연어생성(Natural Language Generation)으로 지속적으로 발전했기 때문이다. 하지만, 챗봇을 개발하는 과정에서 도메인 지식을 이끌어내고, 사용자 친화적인 대화형 인터페이스로 개발하는 방법론적 연구는 미약한 것이 현실이다. 본 논문에서는 챗봇 개발의 프로세스적 기준을 제시하기 위해 이전 논문에서 제시한 방법론을 바탕으로 실제 프로젝트에 적용하며 개발방법론을 개선하였다. 결론적으로 가장 핵심적인 단계인 테스트 단계의 생산성을 33.3% 향상하였으며, 그 반복횟수도 37.5%로 단축하였다. 이러한 결과를 바탕으로 "3 Phase and 17 Tasks 개발방법론"을 제시하였으며, 이것은 챗봇 개발의 시행착오를 획기적으로 개선할 것으로 기대한다.
Chatbot is emerging as an important interface window for business. This change is due to the continued development of chatbot-related research from NLP to NLU and NLG. However, the reality is that the methodological study of drawing domain knowledge and developing it into a user-friendly interactive...
Chatbot is emerging as an important interface window for business. This change is due to the continued development of chatbot-related research from NLP to NLU and NLG. However, the reality is that the methodological study of drawing domain knowledge and developing it into a user-friendly interactive interface is weak in the process of developing chatbot. In this paper, in order to present the process criteria of chatbot development, we applied it to the actual project based on the methodology presented in the previous paper and improved the development methodology. In conclusion, the productivity of the test phase, which is the most important step, was improved by 33.3%, and the number of iterations was reduced to 37.5%. Based on these results, the "3 Phase and 17 Tasks Development Methodology" was presented, which is expected to dramatically improve the trial and error of the chatbot development.
Chatbot is emerging as an important interface window for business. This change is due to the continued development of chatbot-related research from NLP to NLU and NLG. However, the reality is that the methodological study of drawing domain knowledge and developing it into a user-friendly interactive interface is weak in the process of developing chatbot. In this paper, in order to present the process criteria of chatbot development, we applied it to the actual project based on the methodology presented in the previous paper and improved the development methodology. In conclusion, the productivity of the test phase, which is the most important step, was improved by 33.3%, and the number of iterations was reduced to 37.5%. Based on these results, the "3 Phase and 17 Tasks Development Methodology" was presented, which is expected to dramatically improve the trial and error of the chatbot development.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 연구는 기존 논문에서 제시한 챗봇 개발방법론을 기준으로, 실제 프로젝트에 애자일 방법론을 활용하여 반영함으로써 이론적 근거와 실제 사용자의 경험을 바탕으로 프로젝트의 프로세스적 기준을 연구하였다.
앞서 살펴본 바와 같이, 챗봇 개발방법론에 대한 기준 및 가이드가 없었던 관계로, Gillian Cameron et al.에 의해 제시된 개발방법론을 기준으로 프로젝트를 진행하였으며, 이를 토대로 첫 번째 프로젝트와 세 번째 프로젝트의 사업 수행 기간 및 대화모델의 정확도를 비교 분석하여 효율적인 개발방법론에 대해 연구하였다.
또한 입력을 문자 형태 외에 이미지나 동영상 그리고 URL Link로 추가 정보를 안내할 수 있다. 이처럼 챗봇 사용자가 원하는 정보를 잘 전달하기 위해, 문자로 입력하는 형태뿐만 아니라 다양하게 구성함으로써 챗봇 서비스의 활용성을 극대화하는 것을 목적으로 한다.
‘유용성 테스트(Usability Testing) 단계’에서의 핵심은, 지식 기반의 챗봇 스크립트를 생성한 후 도메인 전문가에게 다시 전달하여 스크립트가 지정된 목표를 달성할 수 있다고 생각될 때까지 유효성 검사를 수행한다는 개념이다. 즉, 사용자의 질의에 대해 챗봇이 이해하지 못했다면, 챗봇이 할 수 있는 것에 유도할 수 있도록 대화모델을 가져가야 하며, 또한 적절한 유머와 감정을 사용하는 스크립트를 적용하여 사용자의 경험을 향상시킬 수 있도록 전문가의 지속적 테스트를 통해 대화 흐름을 개선하는 것을 목표로 한다[1].
이러한 챗봇들의 공통된 특징은, 다른 분야와 마찬가지로 대부분 고객문의 응대 및 상품 추천을 목적으로 한 챗봇이며, 난이도가 낮은 단순한 고객응대 서비스를 24시간 제공하기 위해 운영되고 있다. 해외 사례도 크게 다르지 않으며, 우버의 경우 기존 우버서비스 사용을 지원하는 목적으로, 대부분의 챗봇은 서비스 이용과 관련된 자주 묻는 질문에 대한 답변을 제공하는 기능을 주요 목적으로 하고 있다. SkyChat은 항공기, 탑승구, 좌석 정보, 화물 안내 등 항공기 이용 지원을 위한 챗봇 서비스를 제공하고 있고, Burner은 HomeAway, VRBO, Airbnb 등 객실 임대 서비스 자동응답시스템을 제공하고 있다[7].
제안 방법
개선된 개발방법론의 각 단계별 상세활동은 하기와 같 으며, 기존 개발방법론 상 반복개발 주기(Iteration)의 주요 대상이였던 ‘Script 단계’부터 ‘Test 단계’까지의 기존 4개 단계를 8개 단계의 세분화된 프로세스로 개선하였으며 해당 내용은 Fig.5와 같다.
그러한 의미에서 기존 개발방법론은 구현에 초점을 둔 방법론인 반면, 본 논문에서 제시한 방법론은 실제 활용 관점에서 사용자와 챗봇 간 상호작용에 중점을 두었다고 볼 수 있으며, ‘Q&A 세트 확보’, ‘스트럭처 정의’, ‘대화모델 설계’ 및 ‘C&T 테스트 단계’에서 해당 활동을 구체화하였다.
의 챗봇 개발방법론 중 Requirement단계, Specification단계 및 Knowledge Gathering단계에서 도출된 요구사항을 반영하였으며, Script단계부터 Test단계까지의 총4개 단계는 Scrum의 Sprint Backlog, Sprint, Daily Scrum Meeting 그리고 Shippable Product를 반복하여 적용하였다. 다만, Sprint는 각 Intent별 또는 업무단위별로 설정하여 Daily Scrum Meeting을 진행하였으며, 각 Sprint 기간은 프로젝트 일정을 고려하여 최대 2주, 반복개발 주기(Iteration)는 최대 5일을 넘지 않았다. 이것은 반복을 통해 최대한 고객요건을 맞추기 위함이다.
두 번째 Phase는 실제 대화형 인터페이스를 개발하고 테스트하는 단계로, 기존 4개 Task(Script - Architect– Develop Test)를 8개 Task(Personal Setting – Service Definition – Structure Definition –Training Data Configuration –Conversation Model Design – Training Data Structure Applying –C&T Test – Pilot Test – Usability Test)로 세분화하여 개선하였다.
이러한 분석은 신뢰점수(Confidence Score)를 활용하며, 얼마만큼의 신뢰도를 가지고 있는지를 나타내는 정량적인 수치, 정확도를 의미한다. 두 번째는 챗봇의 구조에 대한 테스트로, 사용자가 챗봇과 대화를 이어가던 중 대화 끊김, 대화 오류 또는 대화의 무한루프 등을 테스트한다.
먼저, 챗봇 프로젝트 수행경험의 부족과 고객의 챗봇에 대한 요건 불명확으로, 리스크 관리(Risk Hedge)를 위해 기존 Waterfall 방식의 절차적인 개발방법론 보다는 각 단계를 병렬적으로 진행하여 보다 민첩하게 대응할 수 있는 애자일(Agile) 방법론을 기준으로 프로젝트를 수행하였다.
본 연구는 IBM Waston Assistant를 활용하여 약 15개월 동안 H사, S사 그리고 M사를 대상으로 한 실제 프로젝트에 적용했던 사례를 기반으로 진행되었다. 앞서 살펴본 바와 같이, 챗봇 개발방법론에 대한 기준 및 가이드가 없었던 관계로, Gillian Cameron et al.
일반적으로 챗봇 솔루션은 효과적으로 대화 모델을 개발하고 파악할 수 있도록 GUI 기반의 개발도구를 제공하고 있다. 스트럭처 정의단계에서 수립한 대화구조를 기준으로 전체 노드를 구성한 후, 각 개별 노드를 설계하며 Intent 및 Entity를 해당 노드에 설정하고 페르소나에 맞추어서 적용한 답변을 개발도구(Tool)에 등록한다. 해당 과정은 챗봇 엔진에 따라 상이하겠지만 적용 데이터의 양이 많고 복잡한 경우에는 개발도구의 UI상에서 적용하기 보다는 API방식을 활용하여 정의된 데이터를 한번에 적용시키는 것이 일반적이다.
먼저, Scrum의 첫 번째 단계인 Product Backlog는 Gillian Cameron et al.의 챗봇 개발방법론 중 Requirement단계, Specification단계 및 Knowledge Gathering단계에서 도출된 요구사항을 반영하였으며, Script단계부터 Test단계까지의 총4개 단계는 Scrum의 Sprint Backlog, Sprint, Daily Scrum Meeting 그리고 Shippable Product를 반복하여 적용하였다. 다만, Sprint는 각 Intent별 또는 업무단위별로 설정하여 Daily Scrum Meeting을 진행하였으며, 각 Sprint 기간은 프로젝트 일정을 고려하여 최대 2주, 반복개발 주기(Iteration)는 최대 5일을 넘지 않았다.
연구 결과, Gillian Cameron et al.이 제시한 개선된 개발방법론 13개 Task에 대해, Fig 6.과 같이 업무성격을 고려하여 3 Phase로 구분하였으며 전체 17개 Task로 세분화하여 업무의 기준을 보다 명확히 하였다.
프로젝트에서는 해당 프로젝트에 투입되지 않았던 제 3자에게 테스트 문장을 요청하여 테스트에 활용하는 것이 유용하며, 이러한 문장을 바탕으로 크게 두 가지의 테스트를 수행한다. 첫 번째는 사용자의 발화 의도를 얼마나 잘 인식하는지를 분석하는 것으로, 원하는 Intent로 분류가 되는지, 정확한 Entity가 분석되는지를 확인한다. 이러한 분석은 신뢰점수(Confidence Score)를 활용하며, 얼마만큼의 신뢰도를 가지고 있는지를 나타내는 정량적인 수치, 정확도를 의미한다.
대상 데이터
국내의 경우, 오픈마켓을 운영하는 대형 이커머스 업체 또는 대기업 중심으로 개인화된 상품을 추천하는 챗봇을 도입하고 있으나, 아직 비교적 단순한 특정 업무에서 개인 맞춤형 상품 추천기능을 제공하고 있다. 사례를 살펴보면 현대닷컴, 롯데닷컴, 11번가, 신세계백화점, CJ, 인터파크, 네이버 등에서 자체적으로 또는 카카오톡, 네이버 등의 플랫폼을 활용하여 상품검색, 주문, 배송 조회 등 업무를 제공하고 있고, 구매이력 및 개인 선호분석을 통해 상품추천을 하거나 선호 브랜드에 대한 쇼핑 정보를 제공하고 있다. 반면에, 해외의 경우는 보다 다양한 분야/기능들을 탑재한 챗봇이 운영되고 있으며, 매출을 향상시키기 위해 게임을 유도하거나 질문을 통해 사용자의 취향을 파악하는 기능을 탑재하기도 한다.
이론/모형
애자일 방법론은 진행되는 프로젝트의 특성과 구성원의 참여도 등 실제 프로젝트 여건에 따라 그 유형을 선택할 수 있으며, Scrum, XP (eXtreme Programming), DSDM (Dynamic System Development), FDD (Feature Driven Development), ASD(Adaptive Software Development), Lean Software Development, Crystal Clear 등이 그 예이다[14]. 본 연구에서는 일반적으로 사용되는 방법론인 Scrum을 적용하였다.
성능/효과
왜냐하면 사람마다 같은 질문을 해도 물어보는 방식과 사용하는 단어 그리고 문장의 길이가 다르기 때문에, 이러한 다양한 사용자 발화 형태를 확보하기 위함이며, 이를 통해 어느 한쪽에 치우치지 않고 인식률을 향상시킬 수 있기 때문이다. 두 번째로 Entity는 입력된 문장 내 정보를 파악하는 것으로, 필요한 정보가 어떤 것인지 정의해야 한다. 상품을 주문하는 챗봇 서비스라면 상품명과 수량을, 공연을 예약하는 서비스라면 공연이름, 공연시간 그리고 티켓 수량을 정확하게 획득하는 것이다.
,의 개발방법론을 적용했던 첫 번째 프로젝트와, 본 논문에서 제시한 개발방법론으로 보완된 이후의 수행 기간 및 대화모델의 정확도를 비교한 것이다. 이전 개발방법론에서는 전체 13주, 테스트 단계는 6주가 소요되었으나, 본 논문에서 제시한 개선된 개발방법론에서는 전체 11주로 약 2주 단축하였고, 특히 테스트 단계는 약 4주로 33.3% 단축하였다. 이것은 재학습 횟수가 기존에는 평균 8회였으나 5회로 단축(100개 질문 기준)하면서 기간이 단축된 것으로 확인하였다.
후속연구
이러한 개선된 개발방법론은 챗봇을 개발하고 운영하는데 있어서, 특정 도메인의 성격과 비즈니스적 특 징을 반영하는 과정에서 고객의 요구사항에 대해 보다 사용자 친화적인 챗봇을 개발하는데 시행착오를 획기적으로 줄일 수 있을 것으로 기대된다.
참고문헌 (15)
Gillian Cameron et al. (2018), Back to the Future Lessons from Knowledge Engineering Methodologies for chatbot Design and Development, DOI : 10.14236/ewic/HCI2018.153
H. J. Baek, S. Y. Kim & S. W. Lee. (2019). Effects of Interactivity and Usage Mode on User Experience in chatbot Interface. Journal of the HCI Society of Korea 14(1), 35-43 DOI : 10.17210/jhsk.2019.02.14.1.35
Yan, M., Castro, P., Cheng, P. & Ishakian, V. (2016). Building a chatbot with Serverless Computing. In Proceedings of the 1st International Workshop on Mashups of Things and APIs. Trento, Italy. p. 5.
S. G. Kim & J. Y. Yun. (2020). Multidisciplinary User Experience Research on Task-oriented chatbot Images. The Korean Society of Science & Art 38(2), 33-43 DOI: 10.17548/ksaf.2020.03.30.33
S. M. Kim. (2019). Comparative Study on the Usability of the Google and Kakao chatbot Builders. Master's Dissertation, Konkuk University, Seoul
H. S. Lim. (2018.10.01.) The app is gone and the AI era has come. Yonhapnews. http://www.yonhapnews.co.kr/bulletin/2016/03/31/0200000000AKR20160331005351091.HTML
S. K. Kim, M. C. Shin & J. Y. Kang, (2018), Introduction to chatbot technology and case analysis, Korea Institute Of Communication Sciences, 35(2), 21-28.
H. J. Kang & S. I. Kim. (2017). Evaluation on the Usability of chatbot Intelligent Messenger Mobile Services -Focusing on Google(Allo) and Facebook(M messenger). Journal of the Korea Convergence Society. 8(9), 271-276. DOI : 10.15207/JKCS.2017.8.9.271
T. S. Hur, G. Y. Mok, J. H. Kim, S. H. Baek and J. H. Lee (2020). University Bulletin Chat-bot System based on Natural Language Processing. The Korean Society of Computer Information Conference 28(1), 2020.1, 169-170.
M. S. Kim, J. K. Cho. et al. (2018). Design and Implementation of a chatbot System for Smart Sores. Proceedings of Symposium of the Korean Institute of communications and Information Sciences. 1569-1570
Hunt, E. (Oct. 1. 2018). Tay, Microsoft-s AI chatbot, gets a crash course in racism from Twitter. https://www.theguardian.com/technology/2016/mar/24/tay-microsofts-ai-chatbot-gets-a-crash-course-in-racism-from-twitter.
J. N. Park. (2017). The role of the chatbot is not -talker- but -effectiveness-. Data quality over algorithms. Dong-A Business Review(DBR). http://dbr.dong.com
Beerud Sheth. (Jan. 24. 2018). Chatbots Magazine. The Bot Lifecycle. What to know before you make your chatbot. https://chatbotsmagazine.com
H. M. Kim, (2013) A Case Study of Android Applications Development with Agile Methodology. Doctoral Dissertation, Soongsil University, Seoul
S. K. Lee & J. Y. Yun. (2019). A Convergence Study on chatbot Persona and User Experience of Financial Service - Focused on Loan Service -. The Korean Society of Science & Art 37(4), 257-267 DOI : 10.17548/ksaf.2019.09.30.257
※ AI-Helper는 부적절한 답변을 할 수 있습니다.