brunch

매거진 AI

You can make anything
by writing

C.S.Lewis

만능 스포츠봇의 등장과 발전 방향

[카카오AI리포트] 유승원

프리미어리그인 영국 프로축구나 프로야구를 좋아하는 사용자들 사이에 스포츠봇이 화제다. 카카오톡에서 ‘프리미어리그봇’, ‘프로야구봇’ 플러스친구를 친구로 추가하면 자신이 좋아하는 팀의 각종 경기 일정과 기록, 하이라이트 영상 등을 손쉽게 찾아볼 수 있다. 알림 설정을 해두면 깜박 잊어버리기 쉬운 내가 응원하는 팀의 경기날 라인업이나 생중계, 경기 결과를 챗봇이 알려준다. 또한, 팬들끼리 서로 메시지를 주고받을 수 있어 같은 팀을 응원하는 팬들과 훈훈한 응원의 메시지를 보내거나 라이벌팀 팬들과 묘한 신경전도 벌일 수 있는 잔재미도 있다.

    

프리미어리그봇은 1월, 프로야구봇은 3월에 오픈하였고, 처음에는 팬 카페나 커뮤니티를 중심으로 입소문을 타며 사용자가 늘어났다. 현재, 프로야구봇의 경우 8만 명이 넘는 사용자가 하루에 42만 회 이상 서비스를 사용하고 있다.


[ 그림 1 ] 프로야구봇이 제공하는 기능*1


프로야구봇의 경우 사용자의 90% 이상이 경기 알림을 받고 있고, 매일 30%가 넘는 사용자가 자발적으로 챗봇 대화방을 찾아와 서비스를 사용한다. 서비스 초반의 반짝 효과에 그치지 않고 오픈 초기부터 지금까지 서비스 사용 지표는 날로 상승하고 있다. 여러 사용자들로부터 “좋은 서비스를 만들어주어 고맙다”라는 황송한 피드백을 받고 있으나, 반대로 이렇게 적극적으로 사용해주셔서 오히려 감사할 따름이다.


[ 그림 2 ] 프로야구봇 사용자 피드백 중



스포츠봇 탄생의 배경


사실대로 말하자면, 필자가 소속된 미래미디어파트에게 주어진 미션은 스포츠봇을 만드는 것이 아니라, 카카오톡의 챗봇 플랫폼인 카카오i 오픈빌더(open builder)를 사용해서 레퍼런스로 삼을 만한 서비스를 만드는 것이었다. 2016년 페이스북(Facebook)에서 메신저 API(application programming interface)를 공개한 이후 수많은 챗봇 서비스가 개발되었고, 그중 몇몇 챗봇이 인기를 얻었지만 누구나 쉽게 떠올릴 수 있는 레퍼런스가 될 만한 챗봇은 거의 없었다. 처음 한두 달은 어떤 봇을 어떤 콘셉트로 만들 것인가에 대해 고민하였다. 우리는 단순히 기존의 서비스를 챗봇으로 전환하는 것이 아니라, 왜 챗봇이어야만 하는가에 대한 명확한 근거가 필요했다.

    

우리가 주목한 점은 챗봇은 하위 뎁스(depth)로 제공되는 정보를 대상으로 해야 한다는 것이다. 사람들이 ‘리버풀 경기 일정’을 확인하기 위해서는 포털사이트에서 검색을 하거나 스포츠 섹션 혹은 리그의 공식 홈페이지나 기록 페이지를 찾아보며 경기 일정을 확인해야 한다. 수십 자의 타이핑, 혹은 스크롤과 클릭 등 사용자의 시간과 동작을 줄이는 것이 ‘편리함’이라고 한다면 이러한 정보를 한 번에 제공할 수 있게 하는 것이 챗봇에 적합한 서비스일 것이다.

    

그리고 챗봇 플랫폼으로서의 강점인 알림 서비스가 적합하게 쓰일 수 있어야 한다. 푸시 알림은 유용한 마케팅 도구이며 사용자에게 즉시 정보를 전달할 수 있다는 강점이 있지만 잦은 알림은 도리어 서비스 이탈률을 높이게 된다. 반면 사람들은 메신저 알림에는 상대적으로 관대한 측면이 있다. 많은 토론 끝에 우리는 스포츠 도메인(domain)을 타깃으로 삼았다. 챗봇 론칭 시점이 시즌 중이라는 점과 팬층이 비교적 젊은 유저(user) 기반이지만 헤비 유저층(heavy user)이 존재하는 ‘프리미어리그봇’을 첫 번째로 출시했다.



스포츠봇의 구조


스포츠봇은 카카오 AI를 통합 관리하는 오픈 빌더 플랫폼 위에서 동작한다. 사용자가 톡으로 메시지를 전송하면 오픈 빌더는 자연어 처리 및 패턴 인식 등을 통해 봇의 어떤 기능을 실행해야 하는지 판단한다. 이때 오픈 빌더는 봇에 필요한 매개변수인 날짜, 시간, 선수 이름, 기록 종류 등을 인식하고 적절한 형태로 가공하여 봇에 전달한다.


[ 그림 3 ] 카카오 i 오픈 빌더*2


오픈 빌더는 챗봇과 카카오미니에 공용으로 사용되는 플랫폼이며, 큰 틀에서는 톡을 통해 텍스트상으로 명령을 하고 결과를 받는지(챗봇), 스피커를 통해 음성으로 명령을 내리고 결과를 받는지(인공지능 스피커/음성 챗봇)의 차이가 있다고 할 수 있다. 실제로 카카오미니에서 서비스되는 스포츠 콘텐츠도 스포츠봇과 같은 봇 에이전트(bot agent)에서 동작하고 있다. 

    

에이전트가 오픈 빌더에게 데이터를 전달받으면, 카카오 스포츠 서비스에서 사용하는 다양한 API로부터 데이터를 수집한 후 사용자에게 카카오톡의 말풍선 형태로 결과를 가공하여 응답한다. 봇 에이전트는 시나리오에 따라 동시에 여러 API를 호출할 수도 있고, 한 번 호출한 API 결과에 따라 다른 API를 선택적으로 호출하기도 한다. 스포츠봇 에이전트 서버는 스프링 프레임워크(Spring Framework)를 사용하는데, 스프링에서 제공하는 리액터(Reactor)의 퍼블리셔(Publisher) 구현체인 Flux/Mono와 관련 연산자(Operator)는 여러 API로부터 돌려받는 데이터들을 비동기적으로 다루면서도 다양한 시나리오에 따라 재조합하거나 변환하는 데 높은 개발 효율성을 제공했다.


[ 그림 4 ] 스포츠봇 시스템 구조


스포츠 경기 알림은 불규칙하게 발생할 수 있다. 프로야구 경기 종료는 정해진 시간이 없고, 경기 취소와 같이 돌발적인 상황에 대한 알림도 존재한다. 이를 주기적으로 확인하기 위해 아파치 에어플로(Apache Airflow) 기반의 스케줄러(scheduler)가 별도로 존재하며, 동시다발적으로 수만에서 수십만 번의 알림이 발생할 수 있기 때문에 메시지 큐(message queue)와 아파치 스톰(Apache Storm) 클러스터(cluster) 구조의 알림 발생기를 사용한다.



챗봇이 다른 서비스 플랫폼과 다른 점은?


챗봇 서비스는 챗봇 플랫폼 위에서 동작하기 때문에 서비스 개발에 편리한 점이 많다. 오픈 빌더는 사용자와의 인터페이스(interface)를 ‘스마트’하게 관리해주며 다양한 부가 기능(시나리오 관리, 매개변수 관리, 이벤트 관리 등)을 제공한다. 챗봇 서비스 개발자는 온전히 어떤 서비스를 어떤 맥락으로 사용자에 제공할 것인지에 집중하면 되기 때문에 서비스 개발 사이클(cycle)이 웹, 혹은 앱 개발에 비해 단축될 수 있다.

    

한편 스포츠봇은 다양한 종류의 스포츠 데이터를 메뉴 계층의 구별 없이 사용자의 직접적인 호출에 따라 제공할 수 있다. 사용자는 우리가 생각했던 수준 이상으로 많은 데이터를 원했고, 서비스의 디테일한 부분까지 사용했다. 우리가 웹이나 앱에서 서비스를 기획할 때 기획 의도나 가독성, 개발 효율성 등을 고려해서 누락시키는 데이터들도 챗봇에서는 모두 흩뿌려 놓을 수 있으며, 사용자는 언제나 비슷한 정도의 수고만으로 자신이 원하는 데이터에 접근하게 된다. 많은 사용자들이 프로야구 1군 콜업(call up) 정보나 축구의 팀 이적 정보를 원했고, 우리는 가지고 있는 데이터가 부족함에 아쉬움을 느껴야 했다. 또한, 쉽게 다양한 기능을 추가할 수 있음에도 챗봇의 기반 앱이라고 할 수 있는 카카오톡을 더 무겁게 만든다거나 사용자들이 원하지 않는 부담을 주지 않는다는 점도 챗봇의 주요 장점이라 할 수 있다.


[ 그림 5 ] 프로야구봇 서비스 화면


UX(user experience) 측면에서 챗봇은 일반 플랫폼과는 다른 고민을 하게 한다. 먼저 챗봇에서 표현할 수 있는 내용이 카카오톡에서만 가능한 것으로 제한되어 있다. 아직까지는 흔히 사용하는 표도, 애니메이션도, 다양한 형태의 이미지도, 심지어 한 번에 표현할 수 있는 글자 수까지도 제한적이다. 이러한 한계를 조금이라도 극복하기 위해 스포츠봇의 경우는 텍스트와 이모지(emoji)를 최대한 조합하여 결과물을 표현했다.

    

또 다른 한 가지는 서비스의 흐름이 상하 스크롤로 정해져 있다는 것이다. 챗봇에서 웹뷰(WebView)를 띄우거나 다른 앱으로 전환시킬 수 있겠지만, 챗봇을 벗어나지 않는 범위로 한정한다면 챗봇에서는 화면이 전환되거나, 탭이 있거나, 팝업이 뜨지 않는다. 서비스를 기획할 때 이를 소홀히 생각한다면, 한 번에 너무 많은 데이터를 배치하면서 사용자가 현재 위치를 잃어버리거나 불필요한 스크롤을 하게 되는 현상을 겪을 수도 있다.

    

스포츠봇의 매우 인상적인 지표 중 하나는 알림 사용자 비율이 90%가 넘는다는 점이다. 챗봇이 새로운 채널로서 자리하기 위해서는 푸시 알림이 매우 중요했지만, 사용자가 플랫폼에 익숙해지기 전 챗봇 알림에 귀찮음을 느끼고 서비스를 이탈하는 것을 막기 위해 처음부터 보수적인 접근법을 사용했다. 특히 한국시간으로 밤/새벽에 경기가 열리는 프리미어리그봇은 사용자들이 가장 중요하게 생각하는 라인업 정보만 알림으로 제공했는데, 오픈 한 달 후 알림 사용자가 전체 사용자의 84%에 달하는 긍정적인 신호를 얻었다. 이것을 기반으로 프로야구봇은 사용자들이 원하는 알림 종류를 라인업, 중계 시작, 경기 기록, 하이라이트, 경기 취소 등으로 세분화해 제공했다. 프로야구는 상대적으로 프리미어리그에 비해 경기시간대가 이르지만, 거의 매일 있기에 알림이 더 잦을 수밖에 없음에도 하나 이상 알림을 받는 사용자 비율이 90%가 넘는다는 것은 매우 고무적인 현상이다. 이것으로 미루어 알림의 횟수보다는 사용자가 원하는 정보를 원하는 시점에 전달하는 것이 가장 중요하다는 것을 알 수 있다. 여기에 한 단계 더 나아가 프로야구봇은 ‘톡중계’라는 새로운 개념의 서비스를 제공하는데, 톡중계는 경기 상황을 아웃카운트(out count)별로 요약하여 실시간으로 사용자에게 알려준다. 대략 2시간 30분 동안 50번이 넘는 알림을 받게 되는데, 예상보다 많은 사람들이 이 서비스를 이용하는 것을 알 수 있었다. 


[ 그림 6 ] 프로야구봇 순방문자


[ 그림 7 ] 프로야구봇에서 알림을 하나 이상 받는 비율



스포츠봇은 앞으로 어떻게 발전할 것인가?


AI 기술의 발전에 따라 사람들의 말을 더욱 잘 이해하고, 드러나지 않은 의도까지 파악하는 스마트한 봇의 등장을 생각할 수 있다. 챗봇끼리 서로 연동하여 사용자가 야구를 보는 동안 치킨을 주문해주고, 다양한 봇의 기능을 하나로 묶은 비서봇으로 발전할 수도 있다. 단톡방에 스포츠봇을 초대해서 여러 사람들과 선수나 경기에 대한 상황을 분석하고 토론할지도 모른다. 그러나 가장 중요한 본질은 편리함을 끝까지, 집요하게 추구해야 한다는 점이다. 사용자들이 스포츠봇을 선호하는 이유는 스포츠봇이 ‘똑똑해서’, ‘스마트해서’가 아니라 ‘편해서’, ‘편리해서’ 좋아한다는 사실을 주지하자.




글 | 유승원 cree.yoo@kakaocorp.com 

10년 넘게 미디어 관련 서비스 개발을 하고 있습니다. 수많은 채널과 콘텐츠 속에서 사용자에게 가치 있는 콘텐츠를 더 잘 그러모아 사회의 다양한 면을 제대로 조명하고, 더 좋은 세상을 만드는 데 일조하는 서비스를 만들어나가고 싶습니다.





참고문헌

*1 참고 | https://brunch.co.kr/@openbuilder/1

*2 참고 | https://i.kakao.com/openbuilder/docs




[카카오 AI 리포트] Vol. 14 (2018년 9월 호)는 다음 내용으로 구성되어 있습니다.


[1] Special Topic

01. 김동현 | 지식그래프 : 카카오미니와 검색 적용 소개

02. 김태훈 | 눈으로 듣는 음악 추천 시스템

03. 이가람 | 이미지로 이미지 검색하기

04. 김규형 | 딥러닝을 활용한 뉴스 메타 태깅

05. 정소영 | 딥러닝을 이용한 실시간 인코딩 효율 최적화

06. 이형남 | 카카오 봇 플랫폼 소개


[2] In-Depth

07. 김준래 | 디지털 사회로의 변화와 스포츠

08. 박성건, 이수원 | 스포츠 경기력 향상을 위한 AI 활용 방안 

09. 최형준 | 스포츠 경기 분석 전문가와 AI의 만남

10. 신동윤 | 로봇 심판과 판정 알고리즘의 의미 있는 도전

11. 박주희 | 스마트 도핑 검사의 도입과 발전 과제

12. 김동환 | 스포츠 저널리즘의 변화와 AI의 활용

13. 유승원 | 만능 스포츠봇의 등장과 발전 방향


[3] Tech Insider

14. 윤도영 | Apache S2Graph 기반 머신러닝 모델 환경 구축

15. 이수경, 박규병 | 딥러닝이 탐구하지 못한 언어와 5가지 태스크

16. 박찬연 | 2018 ICML을 통해 살펴보는 AI 연구 동향

17. 황순민 | 2018 CVPR 논문 동향 및 주요 연구 소개

18. 최은필 | 카카오 크루들의 커피 주문 방식


[카카오 AI리포트] Vol. 14 전체글 다운받기

[카카오 AI리포트] Vol. 14_13 다운받기



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari