데이터과학 유망주의 매일 글쓰기 — 캡스톤 프로젝트 1–1
챗봇(Chatbot) 프로젝트
# Chatbot
오늘 한일:
이번 주부터는 본격적으로 내가 관심있어하는 것을 주제로 조금 더 스케일이 큰 프로젝트를 해보는 시간이다. 이제 이 과정의 모든 수업이 끝났다는 것이 아직 믿기지 않지만, 지난 6개월간 쉼없이 달려 거의 이 과정의 6부 능선을 넘어가는 중이다. 이제부터는 수업이 없이, 내가 하고 싶은 프로젝트를 마음껏, 그러나 최선을 다해 해 보는 시간이다.
나는 이전 부터 자연어처리(Natural Language Processing) 분야에 가장 큰 관심을 가져왔다. 그런 만큼, 이번에는 지난 BERT를 이용해 해 보았던 감정 분석(Sentiment Analysis)에서 조금 더 나아가서, 특정한 텍스트 입력에 대해 출력을 할 수 있는 챗봇(Chatbot)프로젝트를 기획해 보았다.
프로젝트에서 나는 “카카오"를 내 관심 회사로 삼고, 카카오에서 근무하는 데이터 사이언티스트로 스스로의 상황을 가정했다. 회사에 새로운 수익을 안겨다 줄 프로젝트로 “나를 위로하는 챗봇 ‘툴리'”라는 프로젝트를 구상하였고, 이에 맞는 시나리오와 상황을 설정했다.
자연어처리(NLP)프로젝트 — 나를 위로하는 챗봇 “툴리”
상황
여기는 카카오 대회의실, 나는 카카오톡 서비스의 개선을 담당하는 팀에서 근무하는 데이터 사이언티스트다. 최근 회사에는 “새로운 수익성을 낼 수 있는 아이템을 고안하는 팀에게 10억원의 포상을 주겠다.”라는 공고가 떴다. 요즘 각 팀에서는 새로운 서비스 고안을 위한 자발적인 “Braininstorming” 회의가 유행이다. 우리 팀도 이에 질세라 그동안 서로 많은 대화를 하면서 각자 고민을 해 보았다. 오늘은 모두 모여서 두 시간 동안 회의를 가지면서 그동안 서로 고민한 내용을 공유하고, 각자 회사를 위해 출시할만한 새로운 서비스 아이디어에 대해 이야기 해 보기로했다.
가장 먼저 데이터 사이언티스트인 나의 차례였다. 나는 최근 코로나를 맞이한 언택트 시대에서, 사람과 사람과의 소통이 많이 단절되었음을 이야기했다. 내가 자주보는 한 의료매체에 따르면[1], 코로나 이후 많은 여성들과 젊은 사람들이 외로움을 느낀다고 한다. 외출과 모임 자제로 많은 이들이 소통과 인간 관계의 단절을 경험하면서, 관계주의적인 우리나라의 전통적인 삶에서 벗어나니 많은 허전함을 느끼는 것이다. 나는 이 점을 지적하며, 이런 외로움을 해소할 챗봇 서비스를 제안했다. 챗봇을 통해 대화를 하고 싶어하는 사람들에게 인간처럼 대화를 해주고, 공감과 위로를 할 수 있는 서비스를 제공하자는 것이었다. 또 다른 매체에 따르면[2] 챗봇 시장은 2025년까지 1000억원 규모로 성장할 것이라고 예고했다. 그렇게 크다고 느껴지지 않을 수 있지만, 카카오톡이라는 압도적인 점유율의 메신저 플랫폼을 보유하고 있는 카카오 입장에서는, 충분히 시장 점유율을 활용해 이 시장의 주도권을 압도적인 비율로 가져올 수 있다고 어필했다.
현재 카카오톡 상담하기에서만 벗어나, 챗봇을 엔터테인먼트 서비스로써 활용하자는 제안이었다. 팀원들은 나의 제안의 설득되었고, 내게 그것을 구현하기 위한 Action Plan을 물었다. 나는 일단 먼저 챗봇을 노트북 환경에서 만들어본 후, 그것을 다음 회의 때 팀원들에게 보여줄 것을 악속했다. 팀원들은 수긍했고, 개발 팀장님은 해당 챗봇이 잘 만들어지면, 카카오톡에 추가적인 서비스로 통합할 것을 권유해 볼 수도 있다고 말했다. 나는 한 달 동안 내 업무 시간 이외에 시간을 내어 챗봇을 만들고, 이를 한 달 후에 있을 두 번째 미팅에서 시연하기로 했다.
내가 말을 끌내기 전에, 팀원 중 한명이 개발하게될 챗봇의 이름을 정했는지 물었다. 나는 이 챗봇의 이름을 “툴리”라고 지었다고 말했다. 이는 영화 “툴리”에서 따왔는데, 주인공인 마를로가 외롭고 괴로운 육아로 힘들어 할때 나타나 그녀를 위로해주는 보모의 이름이다. 영화에서 툴리는 마를로에게 짧지만 임팩트있는 말을 통해 그녀와 공감하고 그녀를 위로해 주는 존재인데, 육아의 무게 때문에 스스로를 돌볼 수 없는 마를로에게 정신적 지주가 되어주는 존재이다. 나는 현대인들이 마를로처럼 너무 눈코 틀쌔없이 바쁘고, 자신을 짖누르는 책임감 때문에 스스로를 돌아볼 여유조차 없는 사람들이라는 생각이 들었다. 그래서, 툴리처럼, 인간과 소통하고 그들이 필요할 때 위로와 공감의 한 마디를 건넬 수 있는 존재처럼 이 챗봇의 이미지를 만들고 싶다고 밝혔다.
나는 마지막으로 팀장님께 도움을 요청했다. 나는 카카오톡 회원들을 대상으로 일상적인 대화에서 나올 법한 질문들에 답하는 설문조사를 진행할 수 있는지 물었다. 그렇게 해서, 추첨을 통해 기프트콘 같은 것을 나누어 주는 이벤트를 진행할 수 있도록 하여, 이를 바탕으로 필요한 대화 데이터를 축적하자는 것이었다. 팀장님은 수긍하셨고, 해당 이벤트가 짧은 시일내에 이루어질 수 있는지 건의해 보겠다고 했다.
다음 날 나의 요청은 빠르게 받아들여져, 카카오톡 마케팅팀에서 “일상적인 당신의 대화를 들려주세요”라는 이벤트를 이틀 후에 바로 진행한다고 하였다. 나는, 마케팅팀에게 설문조사를 진행할 때, 각 회원이 참여한 대화에 대한 전체적인 감정을 어떻게 느꼈는지에 대해서도 물어보도록 요청했다. 얼마 후, 이벤트를 통해 총 10000여 명의 카카오톡 유저에게 1만여개 이상의 대화 데이터를 얻을 수 있었다. 또한, 만들어진 데이터에서는 다행히도 특별한 비속어나 특정 그룹을 혐오하는 내용이 보이지 않았으며, 대부분 전처리가 필요없이 깔끔하게 구성되었다. 나는 이 데이터를 이용해 챗봇에 필요한 자연어처리(NLP) 모델을 만들고 이를 이용해서 대화형 챗봇을 구현해보기로 했다.
내일 할일:
이제 프로젝트의 배경을 통해 이 프로젝트의 의의와 가치를 충분히 설명했으니, 내일은 본격적으로 선택한 데이터를 다루어 EDA까지 해볼 생각이다. 아마 이전 감정 분석 프로젝트와 겹치는 부분도 일부 있을 수 있다. 나는, 비슷한 기술을 계속 연마한다는 생각으로 즐겁게 해 볼 생각이다. 더불어서 내일은 내가 세운 가설과 선택한 데이터에 대해 설명하는 글을 작성하도록 하겠다.
개인적으로 챗봇에 관심이 많은 사람으로써, “이루다"의 몰락이 매우 안타깝게 느껴진다. 나는 “이루다"의 실패를 통해, 텍스트 데이터를 어떤 것을 학습을 시켜야하는지에 대해 인간이 어느 정도 깊게 관여해야할 필요성을 느꼈다. 인공지능이 인간의 더럽고 음흉한 점 만은 학습하지 않도록, 양질의 데이터를 공급해 주려면, 비속어와 혐오로 가득한 데이터는 학습시키지 말아야함을 느꼈다. 특히, 텍스트를 생성하는 기술을 활용할 때는 더욱 그렇다.
그런 면에서, 나도 데이터를 선택할 때 이 점에 매우 유의하였다. 나도 내가 말을 걸면, 나를 위로하고 공감해주지는 못하면서, 비하하거나 경멸하는 챗봇을 가지고 싶지는 않다. 그렇기에 데이터를 선택하는 데 있어서도 앞으로 주의해야겠다는 생각을 하게 되었다. 특히, 자연어처리 분야에 관심이 많은 나같은 데이터과학 유망주는 말이다.
되도록 사람과 공감하고, 사람에게 위안이 되는 인공지능을 만들고 싶다. 영화 HER에서 나오는 Samantha 처럼 나를 알아주고 이해해주는 인공지능이 있다면 어떨까하는 생각도 가끔 가지게된다. 이 프로젝트를 통해 그 꿈에 한발 더 다가서고 싶다.
자신만의 프로젝트를 진행하는 모든 이들이 끝까지 포기하지 않고, 원하는 바를 최대한 이룰 때까지 달릴 수 있기를.
참조: