Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 20, No. 5, pp.963-972
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 May 2019
Received 15 Apr 2019 Revised 15 May 2019 Accepted 27 May 2019
DOI: https://doi.org/10.9728/dcs.2019.20.5.963

사용자 관심사 분석에 기반한 대화형 뉴스 챗봇 시스템 개발

김재중1 ; 조형재2, *
1연세대학교 산업공학과
2서강대학교 융합소프트웨어전공
Development of Conversational News Chatbot System Based on User Intent Analysis
Jae-Joong Kim1 ; Hyeong-Jae Jo2, *
1Department of Industrial Engineering, Yonsei University, Seoul, Korea
2Department of Convergence Software, Sogang University, Seoul, Korea

Correspondence to: *Jae-Joong Kim E-mail: jjkim92@yonsei.ac.kr

Copyright ⓒ 2019 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

최근 들어 뉴스를 접하는 방법이 다양해짐에 따라, 스마트폰 어플리케이션 내의 플랫폼과 IT 기술을 접목시킨 콘텐츠가 증가하고 있다. 이러한 뉴스 구독 행태의 변화를 이끌어낸 기술에는 자동화와 개인화 기술을 가능하게 만든 인공지능 기술을 꼽을 수 있다. 본 연구에서는 딥러닝 기술을 활용하여, 사용자가 관심을 가지고 있는 관심사를 분석 및 예측하는 ‘뉴스의 개인화’, 사용자가 관심을 가질만한 뉴스를 자동으로 먼저 추천해주는 ‘뉴스의 자동화’를 구현하였고, 이를 모두 포함한 콘텐츠를 제공 방식으로 대화형 챗봇을 선택해 사용자에게 제공한다. 기존의 뉴스 구독 방식과는 다르게, 본 시스템은 맞춤형 정보를 편하게 제공받는 새로운 사용자 경험을 만들어낼 수 있으며, 대화형 인터랙션을 통해 일방향적인 뉴스 정보 교류가 아닌, 양방향적인 뉴스 정보 교류 및 주체적 정보 취득을 가능하게 만들 것이다.

Abstract

Nowadays, there are more and more ways to get to the news. Most representative of all, content that combines Smartphone application platforms with IT technologies has increased. This change in news subscription behavior was caused by artificial intelligence technologies, including "automation" and "personalization." Artificial intelligence technology makes the news information production process efficient. In this study, we implemented 'individualization of news' that analyzes and predicts interests of interest to users, and 'automation of news' that automatically recommends news of interest to users first. It is also provided to users through interactive chatbots. Unlike traditional news subscription methods, the system is comfortable with customized information. And interactive interaction creates two-way news interaction and subjective information acquisition, not one-way news information exchange.

Keywords:

News chatbot, Intent analysis, Artificial intelligence, Conversational interaction, Chatbot based on user

키워드:

뉴스 챗봇, 관심사 분석, 인공지능, 대화형 인터랙션, 사용자 기반 챗봇

Ⅰ. 서 론

최근 들어 뉴스를 접하는 방법이 다양해지면서 인터넷, 스마트폰 앱 등의 플랫폼 내에서 IT 기술과 접목시킨 콘텐츠로서 점차 변화하고 있다. 이와 같은 기술의 발전과 뉴스 콘텐츠의 진화 덕분에 실시간으로 빠른 뉴스의 확인이 가능해졌고, 조금 더 편리한 뉴스 구독이 가능해졌다. 이렇듯 뉴스는 계속해서 변화하고 있다. 단순히 디지털화된 뉴스 제공 방식에서 더 나아가 새롭게 등장한 디지털 플랫폼에 최적화된 뉴스로 그 양식을 변화하기도 하였다. 집으로 배달하던 신문 구독 방식 역시도 스마트폰 앱 내에서 알림을 통해 뉴스를 알려주거나, 자신만의 구독 목록을 만들어 하루 뉴스 중 자신에게 필요한 소식만을 받아볼 수 있다. [4]

실제로 한국언론진흥재단에서 발표한 2018 언론수용자 의식조사 결과를 살펴보면, 미디어별 뉴스 이용률에서 모바일 인터넷은 2011년 19.5%에서 2018년 80.8%로 4배로 증가한 반면, PC 인터넷의 경우에는 2011년 51.5%에서 31.7%로 19.8% 포인트 하락한 것을 확인할 수 있었다. 이는 컴퓨터를 활용해 뉴스를 이용하던 기존의 방식에서 모바일, 즉 스마트폰 앱을 통해 뉴스를 확인하는 사용자가 증가하였다는 의미로 해석된다. 또한, 메신저 서비스와 Social Network Service (SNS)를 통한 뉴스 이용률은 전년대비 각각 5.2% 포인트, 1.9% 포인트 증가했다. 이와 같은 현상은 모바일 인터넷 및 메신저 서비스 이용률 증가와 맞물려, 기존 메신저 서비스에서 뉴스 정보를 제공하고 메신저와 연동하여 뉴스를 볼 수 있는 기능이 추가되어 발생된 변화라고 볼 수 있다. 또한, SNS 내에서도 다양한 언론사 페이지 및 계정을 통해 뉴스 정보를 노출시킴으로써 20, 30대 사용자들을 겨냥한 전략이 반영되었다고 분석된다.

이처럼 디지털화된 뉴스 플랫폼 내에서 생산되는 뉴스의 가장 큰 특징으로는, 기사와 기사의 양식을 자동으로 만들어내는 ‘자동화’ [1][2], 사용자의 관심사를 파악하여 알맞은 기사를 추천 및 노출시키는 ‘개인화’ [3]로 나뉠 수 있다. 그 중에서도 뉴스의 개인화는 기존의 뉴스 제공 방식은 물론 플랫폼 활용 자체의 변화로 만들어 내었는데, 기존의 미디어는 추천 알고리즘, 빅데이터 분석 등 새로운 기술을 활용하여 사용자가 알고 싶어 하는 뉴스를 맞춤형으로 공급하는 시도를 하고 있다.

이처럼 급속도로 증가한 모바일 인터넷 및 메신저 서비스 이용률에 발맞춰 모바일 내에서 정보 습득 및 뉴스 구독 행태 역시도 증가하였다. 이러한 환경에 최적화된 시스템으로 챗봇이 주목받고 있다. Google, Facebook, Microsoft, Naver, Kakao 등 국내외 IT 기업들은 앞다투어 자체 챗봇 시스템을 구축하였고, 기존 산업 인프라와 결합한 소프트웨어를 시장에 출시하였다. 또한, 챗봇 개발 환경 및 개발 Tool도 제공하며 자체 챗봇 개발을 장려하는 전략도 펼치고 있다. 아직 챗봇을 활용한 명확한 킬러앱이 나오지 않은 상태에서 국내외 굴지의 기업들은 다양한 시도를 하고 있는 현황이다. 실제로 미래창조과학부에 따르면 국내 인공지능 시장의 전망은 2018년 약 7.5조 원에서 2020년 11.1조 원으로 2년 간 약 1.5배 증가할 것으로 예상하였다. 테크나비오는 2016~2021년까지 전 세계 챗봇 시장이 연평균 37% 이상 성장할 것으로 예측하였고, 그랜드뷰리서치 연구결과에 따르면 2020년 챗봇 시장의 규모는 약 1조 3,600억 원에 달할 것으로 전망하였다. [4] 이처럼 챗봇 시장이 빠르게 진화하고 있는 이유는 딥러닝, 자연어 처리 기술 등 인공지능 기반 기술을 사용자가 가장 쉽게 체감할 수 있는 기술이기 때문이다.

챗봇은 대화형의 인터랙션 방식을 사용하기 때문에 메신저 앱의 영향력이 점차 확대되어가고 있는 최근 들어 더욱 발전하였다. Facebook messenger, WhatsApp, LINE 등 메신저 앱이 기존 SNS의 서비스 이용자 수가 증가하면서 해당 서비스들에는 챗봇을 활용한 다양한 콘텐츠들이 등장했고 관련 기술들도 성장하였다. 챗봇은 이용자들의 시간을 절약해준다는 장점과 사용자 경험을 개선해준다는 점, 정보 역량(digital literacy)에 관계없이 원하는 결과를 획득할 수 있다는 점에서 기존 서비스 제공보다 더 효율적이고, 기존 방식보다 좀 더 개인화된 정보를 제공할 수 있게 되었다.

본 연구는 이러한 변화에 따라, 뉴스 이용 및 정보 취득 방법에 대해 연구한 결과와, 챗봇 활용 방법에 대한 연구 결과로써, 환경과 기술의 변화에 따른 새로운 뉴스 콘텐츠 제공 방식, 즉 챗봇을 활용한 시스템을 제안해본다. 또한 이러한 시스템 내에 사용자 개개인의 관심사를 분석할 수 있도록 인공지능 알고리즘을 활용하여 궁극적으로 실제 활용 가치를 가질 수 있는 새로운 뉴스 구독 시스템과 새로운 사용자 경험을 만들어낸다.

본 시스템은 단순 뉴스 제공이 아니라, 사용자의 관심사를 통해 새로운 관심사가 될 수 있는 키워드를 유추하고, 이를 사용자에게 대화형의 인터랙션으로 뉴스를 전달한다. 이를 통해 사용자에게 보다 개인화된 뉴스 정보를 보다 친숙한 방식으로 제공함으로써 뉴스 구독을 유도하고 정보 전달력을 향상시키는 효과를 기대할 수 있을 것이다.


Ⅱ. 관련 연구

챗봇(Chat-Bot)이란 사람과의 대화를 통해 응답하며 문자로 되어 있는 사용자의 질문에 알맞은 답이나 각종 연관 정보를 제공하는 ‘인공 지능 기반의 커뮤니케이션 소프트웨어’를 말한다. [5] 대화형 에이전트가 하나의 커다란 개념이었다면, 대화형 인터랙션을 이끌어내는 방법이자 하나의 시스템 종류, 즉 하위 개념으로 볼 수 있다. 또 다른 연구에서는, 대화형 에이전트는 태스크를 수행한다는 기능적 측면을 특징으로 설명하는 반면, 챗봇은 메모리 혹은 지식 없이 한정된 응답 세트 중에서 대답을 제시하는 방식으로 단순히 대화를 모방한다는 특징으로 설명하고 있다. [6]

챗봇 시스템은 사용자의 발화 내용을 텍스트로 변환시키는 자연어 처리 기술을 기반으로 한다. 또한, 사용자와의 상호작용을 고려한 대화 컨트롤러와, 결과적으로 사용자에게 전달할 답변을 만드는 기술, 즉 인공지능 기술도 필요하다. [7] 이와 같이 여러 기술이 복합적으로 구성되어 있는 챗봇은 대화를 중심으로 하는 모바일 메신저 사용의 증가로 급속도로 연구가 발전되고 있다. 앞서 설명한 사용자의 발화 내용을 정확하게 처리하여 인지할 수 있는 자연어 처리 기술(Natural Language Processing)과 더불어, 프로그래밍되어 전달되는 챗봇의 답변 같은 사용자와의 인터랙션에 대한 연구도 많이 이루어지고 있다.

현재 대다수의 국내외 글로벌 메신저 기업들이 대화형 챗봇을 다양한 분야에 적용하고 있으며, 이러한 챗봇은 사용자들이 온, 오프라인 매장에 방문 및 접속할 필요 없이 메신저나 챗봇 앱을 통해 대화로 소통하며 필요한 정보를 얻을 수 있기 때문에 차별화된 서비스를 제공할 수 있다. 앞서 언급한 챗봇과 사용자 간의 인터랙션의 중요성은 바로 이 부분에서 발생한다. 기존의 연구에서는 사용자가 실제 다른 사람과 사회적 상호작용을 하는 경우와 동일한 방식으로 대화형 에이전트에게 응답한다고 주장하였다. [8] 하지만 Shechtman와 Horowitz는 실험 참여자들이 그들의 대화 상대가 사람이라 생각했을 때, 친근한 관계, 적대적 관계, 직업적 관계, 사적인 관계 등을 유지하기 위한 목적, 즉 관계 목적을 달성하기 위한 표현을 더 자주 사용하며, 대화에 더 적극적으로 관여하는 등 상대와의 대화에 더 많은 노력을 기울이는 것을 발견하였다. [9] 이와 같은 연구 결과는 챗봇이 사용자에게 답변을 주는 피드백 방법과 인터랙션 가이드라인에 대한 연구의 필요성을 보여주었다. 사용자가 챗봇과 대화하며 자신이 대화를 나누고 있는 상대가 시스템이 아닌, 하나의 교류의 대상, 인격체 및 자신과 같은 사람으로 인지하게 만드는 것이 챗봇 인터랙션 연구가 가진 하나의 목적이 되었다.

최근 챗봇을 비롯한 대화형 에이전트가 사용자 본인의 상태를 논의할 때 정서적 또는 사회적인 측면에서 일반 기술을 사용하는 것보다 더 자연스러운 매체라는 연구 결과[10]에서도 알 수 있듯이, 실제로 사용자의 이야기를 들어주고, 이를 모방하며, 이에 따른 행동을 할 수 있는 챗봇을 통해 사용자와의 연결감과 친밀감을 증가시키는 시도와 연구들이 늘어나고 있다. [11][12] 챗봇이 제공하는 사용자 인터랙션의 방법에 따라 이끌어낼 수 있는 핵심적인 심리 요인으로는, 친밀감(rapport)과 익명성(anonymity)을 꼽을 수 있는데, 이는 사용자에게 자신을 더 적극적으로 표현할 수 있게 만들고 자신의 사적인 정보까지 공개하게 만드는 자기 노출을 더 많이 이끌어낼 수 있다는 것 역시 선행 연구를 통해 확인할 수 있었다. [12] 또한, 사용자가 대화형 에이전트를 인격체로 인식하고 대화상대나 친구와 같이 사회적 관계 정도가 높다고 인식할수록 제품 및 서비스에 대한 만족도가 높아지는 상관관계를 보이기도 하였다. [13]

이러한 연구 동향과 결과들로 미루어보았을 때, 챗봇을 비롯한 대화형 에이전트 내에 포함되는 인공지능 알고리즘과 더불어 이를 어떠한 방식을 통해 사용자에게 제공하고, 이를 통해 어떠한 사용자 인터랙션을 이끌어내어, 궁극적으로 어떠한 사용자 경험을 만들어내는지에 대한 연구도 점차 중요해지는 것을 알 수 있다. 챗봇이 점차 발전하면서 사용자가 전달하는 수많은 발화 속 의미 있는 데이터를 분류 및 인지하는 것만큼, 대화 방식, 즉 인터랙션 방식을 통해 의미 있는 데이터가 될 수 있는 발화를 역으로 이끌어내는 방법도 계속해서 연구되어야 할 것이다.

본 연구에서는 이러한 챗봇의 특성인 연결감과 친밀성을 활용하여 사용자의 챗봇 사용을 이끌어내고, 익명성을 기반으로 자신의 관심사와 생각, 가치관 등을 조금 더 자유롭게 표현하며 정보를 취득할 수 있는 챗봇 시스템을 개발하였다. 이를 통해 사용자에게 조금 더 의미 있는 발화 데이터를 유도하고, 이를 한 번 더 처리하여 역으로 사용자의 관심사까지 분석하여 뉴스를 제공한다. 챗봇의 특성을 살려 뉴스 제공의 방법 역시 기존의 일방향적인 정보 제공 방식이 아닌, 대화형으로 제공함으로써 사용의 지속성과 만족감, 자기 표현감을 증가시킬 수 있는 시스템을 설계하였다.


Ⅲ. 대화형 뉴스 챗봇 시스템 개요

본 논문에서 개발한 사용자 관심사 분석에 기반한 대화형 뉴스 챗봇 시스템은 사용자가 평소 구독하는 뉴스 플랫폼을 카카오톡, 네이버 라인, 페이스북 메신저와 같은 메신저 플랫폼으로 옮기고, 이를 이용해 대화를 나누어 사용자의 관심사를 파악하고, 분석이 완료된 사용자의 관심사에 따라 특정 소재 및 주제의 뉴스를 보여주는 시스템이다.

뉴스 정보를 얻기 위한 사용자가 기존의 플랫폼에서는 뉴스 정보까지의 단계가 3단계 이상으로 복잡하고, 사용자의 관심사를 포함한 뉴스 정보를 탐색하는 데에도 많은 시간이 소요된다. 즉, 이러한 이유로 발생하는 정보 접근성 저하와 비효율적인 시간 활용 문제가 발생하게 된다. 또한, 포털 사이트와 모바일 플랫폼 내에서 메인에 보여주는 뉴스를 주로 접하는 사용자에게는, 이렇게 제공받은 뉴스 정보가 뉴스 제공 플랫폼 내에서 일방적으로 사용자에게 보여주는 정보이기 때문에 뉴스 정보와의 상호작용 및 주체적인 뉴스 정보 취득으로 발생하는 자기 만족감이 떨어질 수 있다.

하지만 사용자 관심사 분석에 기반한 대화형 뉴스 챗봇 시스템은 직접 평소 대화나 보고 싶은 뉴스가 생겼을 때 챗봇과 나누는 명령 및 대화를 통해 관심사를 사전에 분석하고, 이렇게 저장된 데이터를 기반으로 수많은 뉴스들 중 사용자에게 최적화된 뉴스를 추출해주기 때문에 정보 취득의 접근성과 시간의 효율성을 높여줄 수 있다. 또한, 사용자가 실제 지인과 이야기를 나누며 얻는 지식과 정보처럼 챗봇과 이야기를 나누며 얻은 뉴스를 통해 정보의 주체적 취득 경험과 이를 통한 자기 만족감 및 뉴스 제공 서비스를 통한 새로운 사용자 경험을 만들어낼 수 있다.

전체 시스템은 Naitive App으로서 Android 환경과 iOS 환경 모두 동작과 사용이 가능하도록 설계하였다. 카카오톡과 같은 기존 메신져 App 내에 있는 챗봇을 활용할 수 있지만, 추후 사용성 평가, 활용도 검사, 사용자 분석 등의 후속 연구를 진행하기 위해서는 자체적인 Native App 내에서의 자유로운 기능 설계 및 추가가 필요할 것으로 판단하여 이와 같은 플랫폼을 만들었다. 또한, Flutter SDK와 Danbee AI API를 활용 및 수정하여 App을 구현하였고, 사용자 정보와 기사 정보 저장 및 추천 시스템을 위해 자체 서버인 Amazon Web Service (AWS)를 증축하여 사용하였다.

사용자 관심사는 챗봇과의 대화를 통해 쌓이는 대화 데이터 및 초기 사용자 정보값들을 활용하여 분석되기 때문에, 해당 데이터들을 실시간으로 분석하여 사용자 데이터를 업데이트 및 저장해두어야 할 것이다. 따라서, 이러한 추천 시스템을 구현하기 위해서 Tensorflow의 Keras 딥러닝 프레임워크를 활용하였고, 사용자 관심사 분석을 위해서는 콘텐츠 간 유사도 검증, 사용자 관심사 간 유사도 검증을 실시하도록 알고리즘을 설계하였다. 이때 사용되는 알고리즘들에는 TF-IDF 알고리즘과 cosine similarity 알고리즘을 변형하여 구현하였다.

챗봇에 사용되는 기본적인 대화체의 구조와 상황(문맥) 파악, 사용자의 의도 파악 등은 기존 Danbee AI API가 제공하는 기능을 추가, 수정하여 사용하였다. 사용자의 의도를 파악하거나 상황에 맞게 사용자에게 알맞은 답변을 주기 위해서는 자연어 처리 알고리즘이 필요하기 때문에, 추후 뉴스에 대한 사용자의 피드백과 같이 특수한 용어와 특정 의도 해석이 필요한 부분들은 Danbee AI API에 자연어 처리 알고리즘을 추가하여 사용하였다.


Ⅳ. 대화형 뉴스 챗봇 시스템 설계

4-1 챗봇 시스템 설계 요소

본 연구에서 개발한 챗봇 시스템을 설계하기 위해서는 기존 뉴스 구독자와 뉴스 플랫폼 등을 이용하는 사용자에 대한 사전 연구가 필요하다. 따라서 문헌 연구를 통해 챗봇으로 뉴스를 구독하기 위한 사용자에게 제공해야 하는 사용자 경험적인 측면에서의 설계 요소들을 도출해내었다.

먼저, 뉴스라는 정보를 취득하는 사용자가 가지고 있는 ‘사용의 주체성’이다. 이용과 충족이론에 의하면 정보의 수용자는 단지 미디어 메시지를 받아들이는 피동적인 존재가 아니라, 여러 장르나 내용의 미디어를 이용하여 자신의 사회 심리적 욕구를 충족시키려고 하는 적극적이고 목적지향적, 능동적 존재이다. [14] 따라서 단순 정보를 제공하는 것에서 더 나아가 이러한 정보 취득을 통한 사회 심리적 욕구를 충족시켜줄 수 있는 챗봇 자체적인 피드백이 필요하다.

두 번째는 사용자가 가지고 있는 ‘자기 표현성’이다. 인터넷 상에서 뉴스나 정보를 접할 때, 직접 참여하고자 하는 사용자의 동기는 자아정체성 [15], 자아추구 동기 [16], 자기표현 동기 [17] 등으로 나뉘는데, 이처럼 정보를 찾아 습득하고 생각하는 일련의 과정과 능동적인 행위를 통해, 사용자는 자신의 자아를 표현할 수 있다. 이는 자아 추구를 통한 만족감을 만들어내고 이는 곧 제품과 서비스에 대한 만족도로 귀결되기 때문에, 챗봇 설계 시에도 사용자가 이러한 자기 표현을 주체적으로 수행하고 있다는 피드백과 실제 사용자의 가치관, 성향, 생각들을 표현할 수 있도록 유도하는 질문 등이 필요하다.

마지막으로는 ‘상호작용성’이다. 대부분의 미디어 사용자들의 충족유형을 나누어 보면, 기분전환, 사회 정보 취득, 상호작용으로 설명할 수 있다. 그 중에서도 상호작용은 사용자들의 커뮤니케이션을 하고 싶어하는 욕구가 미디어의 이용을 가져오고, 여기서 만족을 얻으면 또다시 욕구와 미디어의 이용이 순환적으로 되풀이 되기 때문에 중요한 요소이다. [18] 하이퍼텍스트성(hypertextuality), 멀티미디어성(multimediality)과 함께 온라인 뉴스 미디어의 특징인 상호작용성(interactivity)은 단순히 이용자의 반응만을 의미하는 것이 아니라 [19][20], 이용자의 적극적이고 능동적인 행위를 바탕으로 이용자가 커뮤니케이션 행위의 주체가 되는 것을 의미한다. [21] 따라서, 챗봇 설계 시에도 이와 같은 상호작용성을 극대화할 수 있는 인터랙션으로 단순 일방적인 정보 취득이 아닌, 양방향적인 소통을 통한 정보 교류의 성격을 띄도록 설계해야 한다.

4-2 챗봇 시스템 구성 요소

앞서 설명한 본 시스템의 구성은 아래 그림 1. 과 같다.

Fig. 1.

Conversational News Chatbot System Diagram

먼저 챗봇을 모바일 app 으로 만드는 개발 도구는 Flutter를 사용하였다. 안드로이드와 iOS 동시 개발이 가능하고, 사용자 경험을 해치지 않는 고성능 위젯이 있기 때문에 챗봇의 특성인 마이크로인터랙션을 구현하기에 적합하였다. 또한, Optimistic UI를 활용하여, 추천 알고리즘이 모두 처리될 때까지 기다린 후 사용자에게 결과를 보여주는 게 아니라, 중간 중간 결과를 보여주는 구현 및 대화형 인터페이스 구현이 가능하기 때문에 개발에 용이하였다. Flutter를 이용해 개발된 챗봇 app은 채팅 서버 API와 직접 소통하고, 기사 Database (DB) 서버 및 추천 시스템과는 API-Gateway를 거쳐 통신하도록 구현하였다.

Firebase Cloud Message (FCM)은 push 메시징 서버로서, 사용자에게 먼저 기사 추천을 제안하거나 기사 소식을 알려주는 등의 Lazy한 추천 시스템을 구현하는 데에 사용된다. FCM은 독립적으로 존재하며 추천 알람 서비스가 필요할 때 간헐적으로 호출된다.

DB – AWS DynamoDB는 해당 챗봇 시스템의 주 서버로, NoSQL방식의 DB이고 빠른 속도를 보이며 Scheme를 유연하게 적용할 수 있기 때문에 군집형 데이터에 적합한 서버 설계 및 구현이 가능하다. 본 연구에서는 기사 데이터를 고정된 형식이 아닌, 필요에 따라 형식을 바꿔가며 관리할 수 있어야 하고, 빠른 처리 속도로 추천 시스템을 구현해야 하기 때문에 이와 같은 서버가 적합하였다.

챗봇 app 내에서 사용자의 답변을 처리하고, 사용자에게 피드백 하기 전에 이 서버에서 필요한 기사를 선별하여 가져가는 방식으로 서버와 app 사이의 관계를 구현하였다.

Term Frequency- Inverse Document Frequency (TF-IDF)는 문서 유사도 검사 알고리즘으로써, 본 연구에서는 Python의 wordToVec를 이용하여 구현하였다. TF-IDF 알고리즘은 구글, 네이버 등 검색 엔진의 기반이 되는 알고리즘으로 널리 활용되는 알고리즘으로, 뉴스 챗봇의 특성상 기사 간 유사도를 파악하거나 기사 내의 주요 단어들을 추출하여 비교, 분석하기 위해 수정하여 사용하였다. 기사의 모든 내용을 파악하기는 어렵기 때문에 주요 키워드를 추출하여 문맥을 파악할 수 있도록 자연어 처리를 효율적으로 구현하였다.

본 연구에서는, 사용자의 관심사와 뉴스에 담긴 정보의 성격 모두를 카테고리화 및 군집화 시켜야 하고, 뉴스 데이터라는 방대한 데이터를 처리해야 하기 때문에, 콘텐츠 기반 필터링 기법 중 TF-IDF기술을 활용하여 사용자의 취향, 성향, 관심사 분석을 처리하였다. 또한, 사용자의 관심사에서 뉴스에 담긴 정보로 넘어가는 중간 단계에 잠재 노드(latent node)를 추가함으로써 뉴스 추천을 정교화시켰다.

이와 함께 사용한 대표적인 알고리즘이 코사인 유사도 관련 알고리즘이다. 데이터 간 응집도를 파악하여 기사 간의 비교, 사용자 간의 비교를 구현하였다. 유사도를 벡터화 하여 분석하기 때문에 단어 혹은 문서 내에서 발견되는 유사 entity들을 숫자로 변환하여 확인이 가능하다. 이는 벡터의 크기가 중요하지 않을 때 유용한 방법으로, 기사의 내용이 방대하거나 짧더라도 영향을 받지 않을 수 있다. 이 알고리즘을 바탕으로 단어를 중심으로 한 하나의 기사 분류를 나누고, 이러한 분류들 간의 유사도를 판단하여 보다 효율적인 추천을 빠른 시간 안에 만들어낼 수 있다.

4-3 챗봇 시스템 및 Database 설계

Conversational News Chatbot System Flow Chart

앞서 설명한 본 뉴스 챗봇 시스템의 설계 요소들을 종합하여 Flow Chart를 설계하고, 챗봇의 대화형 인터랙션과 구현 기능, 데이터 처리를 계획하였다. 챗봇 시스템의 Flow Chart를 설계하기 위해 Conversational User Interface 디자인 가이드라인을 활용하여 논리적 모델(Rational Model) 내의 모델링 단계를 참고하였다. 이를 기반으로 사용자 시나리오를 최대 7단계로 분류하고, 이에 대한 시스템 인터랙션을 그림 2.와 같이 구현하였다. [22]

Fig. 2.

Conversational News Chatbot System Database Diagram

인터랙션의 Flow Chart와 더불어 서버, 챗봇 app 내에서의 데이터 이동과 처리를 설계하기 위한 Database 구성도도 설계하였다. 이를 통해 데이터 처리를 위한 최소 단위인 entity의 구성과 범위를 설정하였고, 시스템 내에서 데이터 흐름을 주도하는 역할을 하게 된다. 본 연구에서는 entity를 사용자 분석에 필요한 사용자 특성을 가진 집합, 또는 기사 추천을 위해 기사가 가진 특성과 성격의 집합으로 정의하였다. 사용자 특성 entity는 기사 entity와 n:n 관계를 이루며 처리된다. 결과적으로 이러한 entity들을 기반으로 기사 간 유사도 분석에 활용하거나, 사용자가 특정 요청을 보낼 때 적절한 기사를 찾아낼 때, 사용자에게 먼저 추천 및 제안을 할 때 활용되어진다.

본 시스템에서 사용한 Keras는 파이썬 기반의 딥러닝 프레임워크로서 Tensorflow를 백엔드 엔진으로 사용되기 때문에 파이썬으로 개발하였다. Keras는 문서 유사도 분석을 하거나, 기사를 다중으로 분류하는 코사인 유사도 분석과 함께 사용되었다.


Ⅴ. 대화형 뉴스 챗봇 시스템 구현 및 테스트

5-1 챗봇 시스템의 기술적 구현

Fig. 3.

News Chatbot System Implement Part 1

뉴스 챗봇 시스템의 기술적 구현을 위해서는 추천 알고리즘을 활용하여 사용자가 가진 관심사를 파악하고, 이에 대한 뉴스 기사를 추천해주는 것이 가장 중요하다. 따라서 본 연구에서는 이 부분의 구현을 앞서 설명한 TF-IDF 알고리즘을 기반으로 해당 챗봇의 목적에 맞게 수정하여 구현하였다. 코드 구현의 전반적인 내용을 담은 일부분을 발췌해보면 위 그림 4. 와 같다.

Fig. 4.

News Chatbot System Implement Part 2

본 뉴스 챗봇 시스템에서는 크게 두 가지의 entity가 존재하는데, 먼저 뉴스 정보로 제공되는 뉴스 기사가 가진 성격과 주제 등을 저장하는 기사 entity가 저장되고, 나머지 하나로는 사용자의 특성, 기본 정보, 대화를 통한 관심사 entity가 저장된다. 이 두 개의 entity가 서로 일치하면 사용자의 관심사에 부합하는 기사로 판별되어 사용자에게 해당 뉴스 기사를 제공하게 된다.

기사 DB에는 entity 기준으로 인덱싱이 되어 있어, entity에 해당하는 전체 데이터를 받아와도 300ms 이내로 빠른 시간 내에 조회가 가능하다. Danbee AI의 자연어 해석을 통해 추출된 entity와 일치하는 전체 기사를 DB에서 불러온 후 기사를 가공하게 된다.

그림 4. 의 코드에서도 사용자 개인 데이터를 통해 기사를 가공하는 부분을 구현하였다. 최근 사용자가 보았던 기사와 더불어, 유사한 기사를 분별해내고, 이렇게 만들어진 우선 순위를 기반으로 사용자에게 기사를 제공한다.

더불어, 추천 알고리즘은 단순히 우선 순위가 높은 기사만을 제공하기 보다는, Serendipity, 즉 우연성에 기반한 값을 지표로 활용하여 랜덤한 우선순위의 기사를 추천 및 제공함으로써, 사용자가 계속 같은 기사를 추천 받지 않도록 무작위성을 만들어낸다.

이를 통해 사용자가 같은 기사만 추천 받아 서비스에 대한 흥미도가 떨어질 가능성을 줄일 수 있다.

또한, 기사를 제공할 때에도 최대한 대화형 인터랙션을 구현하기 위해, 기사 링크를 보내거나 기사의 제목을 보여주는 것만이 아닌, 기사의 내용을 짧게 요약하여 실제 대화 형태, 즉 한 편의 이야기처럼 들려주는 정보 형태로 변형하여 제공한다. 이를 구현하기 위해 그림 4. 의 ‘기사 최종 가공’ 부분을 챗봇 시스템에 추가하였고, Danbee AI를 통해 한 번 더 자연스러운 언어로 변형되게 된다. 최종적으로는 사용자에게 대화형 기사 내용, 기사 링크가 제공되도록 만들었다.

사용자의 관심사는 매일, 매시간 변할 수 있다. 따라서 이에 대한 트래킹이 반드시 필요하며 이는 뉴스 기사 추천에 실시간으로 반영되어야 한다. 기사를 추천하는 시점에 즉각적으로 이 데이터를 처리할 수 있으면 좋지만, 시간이 과도하게 오려 걸려 사용자에게 적절한 시점에 응답을 줄 수 없게 된다. 따라서 사용자의 행동이 있을 때, 행동에 따른 데이터를 지속적으로 갱신하는 방법으로 채택하여 구현하였다.

이를 기술적으로 구현하기 위해서는 사용자에게 뉴스 기사를 제공한 뒤에 이뤄지는 피드백을 데이터로 변형하여 저장하고, 이를 사용자 정보로 갱신하여야 했다. 따라서 사용자에게 하나의 entity를 포함한 뉴스 기사를 제공한 뒤 ‘추가적으로 해당 entity의 기사를 보고싶은지’, ‘완전히 다른 entity의 기사를 요청하는지’를 파악한다. 이렇게 파악된 사용자의 행동들은 하나의 데이터로서 사용자 문맥 데이터로 저장된다.

Fig. 5.

News Chatbot System Screenshot – Start Page

그림 5.‘docsContext’ 부분이 본 연구에서 자체적으로 이를 구현해놓은 부분이며 이 부분에 사용자의 문맥 정보를 저장하여, 사용자가 또 다시 같은 행동을 했을 경우 이 부분을 기반으로 사용자의 행동을 예측하여 기사를 추천하는 데에 사용한다. 또한, 사용자에게 제공된 뉴스 기사가 얼마나 만족스러웠는지를 정량적으로 체크하여 이를 기록해둠으로써 사용자 관심사 entity의 우선 순위를 갱신한다. 이 두 가지의 사용자 행동을 통해 데이터를 생성 및 갱신하는 함수로서 ‘contextService.update’를 사용하여 구현하였고, 이는 거의 실시간으로 서비스에 반영되어진다.

5-2 챗봇 시스템의 UI/UX 구현

뉴스 챗봇 시스템의 초기 화면은 직관적인 UI와 신뢰감 있는 색감을 사용한 디자인을 사용하였고, 초기에 시스템의 성격을 나타내는 안내 문구가 표출된다.

초기 뉴스 챗봇 시스템 내에서 사용자의 관심사를 판단하여 뉴스 기사를 추천하기 위해서는 기본 정보가 필요하다. 사용자의 나이와 성별, 초기 관심사 등 기본 정보 데이터를 통해 같은 나이대와 성별에 따른 관심 기사를 추측하여 작동한다. 추후 기사를 지속적으로 제공하면서 챗봇과 대화를 나누면 이에 대한 대화 데이터가 쌓여 사용자의 관심사 데이터를 계속해서 갱신된다. 시스템 처리 측면에서는, 이러한 기본 정보 입력이 새로운 사용자 데이터의 생성을 의미하고, 이는 곧 앞서 설명한 하나의 entity를 만들게 되고, 관심사와 관련된 entity는 추후 기사가 가진 entity와 비교하여 뉴스를 추천하는 데에 사용되기 때문에 시스템의 주요 구성 요소로 작용하게 된다. 이러한 사용자 정보들은 추후 연구 및 사용자 분석에도 활용할 수 있을 것이다.

Fig. 6.

News Chatbot System Screenshot – Initial User Settup

Fig. 7.

News Chatbot System Screenshot – Q&A Situation

뉴스 챗봇 시스템 사용 초기에는 사용자의 기본 정보로서 초기 관심사를 알아내기 위한 Open Question을 제공하고, 이를 통해 초기 설정된 관심사를 바탕으로 뉴스 기사들을 추천한다. 이후 지속적으로 제공할 기사를 선별할 수 있는 질문들을 표출시키면서 사용자의 관심사를 갱신할 수 있도록 하였다. 뉴스 기사는 단순히 연결될 링크만 제공하는 것이 아닌, 뉴스 기사를 한 눈에 알아볼 수 있도록, 실제 사람이 정보를 알려주는 대화체를 사용하여 뉴스 기사 내용을 정리하여 제공한다. 만약 사용자가 해당 내용에 관심이 있거나, 추가적으로 자세히 알고 싶다면 ‘더 알아보기’ 버튼을 눌러 뉴스 링크의 페이지로 이동하고, 뉴스 페이지는 기존 ‘열두시반’ 뉴스 제공 플랫폼 내의 기사로 연결되어 제공되어진다.

뉴스 기사를 제공한 뒤, 사용자가 해당 기사를 읽고 또 다른 관심사가 생기지는 않았는지, 해당 관심사에 대한 다른 뉴스 기사를 보고 싶지는 않은지에 대한 피드백을 요청한다. 사용자가 해당 뉴스 기사를 읽고 같은 관심사를 주제로 한 다른 뉴스 기사를 원한다면, 해당 관심사라는 entity를 포함하는 기사들을 무작위로 제공한다. 만약 완전히 다른 관심사, 즉 다른 entity를 포함한 기사를 원한다면, 이에 대한 기사를 추천하되 이러한 사용자의 행동은 사용자 정보 entity와는 별개로 저장된다. 이러한 정보들은 앞서 설명한 context, 즉 사용자의 문맥 데이터로 저장되어지고, 만약 사용자가 A라는 entity를 가진 기사를 읽고 B라는 entity를 가진 기사를 요청하였다면, 다음 A의 기사를 읽은 뒤에는 B의 기사들 중 하나를 추천해줄 수 있다. 따라서, 기사를 제공한 뒤에 요청하는 피드백에 따라 사용자 관심사 entity가 갱신되고, 사용자 문맥 데이터 또한 새롭게 생성된다.

Fig. 8.

News Chatbot System Screenshot – Feedback Situation 1

Fig. 9.

News Chatbot System Screenshot – Feedback Situation 2

뉴스 기사를 제공한 뒤, 사용자가 해당 기사에 대해 얼마나 만족했고, 원하는 정보를 취득했는지에 대한 피드백 또한 요청한다. 사용자가 또 다른 요청을 하지 않거나, 같은 entity를 포함한 뉴스 기사를 연속적으로 취득한 뒤에는 이에 대한 피드백을 통해 해당 관심사의 만족도를 측정한다. 측정된 값을 통해 기존 사용자 관심사 entity는 갱신되고 이는 시시각각 변화되기 때문에 대화 단위로 갱신을 요청하도록 설계했다. 추후 대화형의 만족도 요청을 선택지로도 변형하여 제공할 수 있으므로, 보다 편리하게 사용자의 피드백을 구현할 수 있을 것이다.


Ⅵ. 결론

본 논문에서는 뉴스라는 정보 취득을 대화형 인터랙션을 통해 제공받을 수 있는 대화형 뉴스 챗봇 시스템을 개발하였다. 챗봇이라는 새로운 방식의 뉴스 정보 제공 플랫폼은, 기존에 수많은 뉴스 정보들 사이에서 뉴스를 선택하는 과정을 통해 발생되는 시간적 비효율성과, 사용자 자신의 관심사 파악의 모호성, 일방적인 정보 제공을 통해 발생되는 주체성 및 상호작용성 저하와 같은 문제점을 해결할 수 있었다. 이를 구현하기 위해 추천 알고리즘인 TF-IDF와 코사인 유사도 알고리즘을 활용하여, 사전에 파악된 사용자의 특성, 대화를 통해 알아낸 사용자의 관심사 등을 기반으로 최적의 기사를 제공하였다.

뉴스는 기존에, 지면, 인터넷 포털 사이트에서 SNS, 메신저 플랫폼까지 점차 영역을 확장함과 동시에 치열하게 사용자를 이동시키고 있다. 새로운 플랫폼에서의 뉴스 구독 행태는 사용자들에게 새로운 사용자 경험을 만들어주고, 점차 증가하는 플랫폼 시장에서 뉴스 구독과 같은 서비스 역시도, 이러한 사용자 경험을 고려하지 않는다면 단순 정보 제공만을 하는 서비스에 그치고 말 것이다. 본 연구에서 개발한 뉴스 챗봇 시스템은 설계부터 이러한 사용자의 경험, 정보 취득의 목적을 기반으로 설계되었고, 이를 극대화 시키기 위한 플랫폼으로서 챗봇 시스템을 구현하였다는 점에서 연구의 의의를 갖는다. 또한, 챗봇이라는 새로운 플랫폼 내에서의 뉴스 정보 구독 행태를 구현함으로써 앞으로 뉴스 정보를 취득할 수 있는 다양한 플랫폼 중 대화형 인터랙션에 기반한 플랫폼에서의 UI/UX 가이드라인을 마련할 수도 있을 것이다.

추후 본 연구에서 개발한 뉴스 챗봇 시스템을 활용하여, 구체적이고 체계적인 사용자 평가 및 사용자 연구가 필요할 것이다. 이는 뉴스 챗봇 시스템을 설계할 때 고려하였던 설계 요소를 객관적으로 검증할 수 있는 연구이기 때문에 이에 대한 결과를 바탕으로, 대화형 인터페이스를 가진 뉴스 구독 플랫폼의 발전이 가능할 것으로 기대한다. 또한, 대화형 인터페이스를 활용해 정보를 제공받았을 때 발생되는 새로운 사용자 경험에 대한 연구를 통해 챗봇 이외에 인공지능 스피커, 인공지능 비서 서비스 등에도 접목시킬 수 있을 것이다.

참고문헌

  • Underwood, C., (2018, January, 17), Automated journalism ᐨ AI applications at New York Times, Reuters, and other media giants [Internet], Available: https://www.techemergence.com/automated-journalism-applications/.
  • Clerwall, C., Enter the robot journalist, Journalism Practice, 8(5), p519-531, (2014). [https://doi.org/10.1080/17512786.2014.883116]
  • Liu, J., P. Dolan, and E. R. Pedersen, Personalized News Recommendation Based on Click Behavior, Proceeding of international conference on Intelligent user interfaces, p31-40, (2010).
  • Business Insider Intelligence, BI Intelligence, (2016, September), “Messaging apps are now bigger than social networks”, BUSINESS INSIDER [Internet], Available: https://www.businessinsider.com/the-messaging-app-report-2015-11.
  • Seo, Kyori, Analysis of Domestic and Global Trends and Development Prospects of Artificial Intelligence-based Chatbot Service, National Informaton Society Agency (NIA), D.gov Trend & Future, (2018).
  • Wilks, Y., “Is a Companion a distinctive kind of relationship with a machine?”, In Proceedings of the 2010 Workshop on Companionable Dialogue Systems, Association for Computational Linguistics, p13-18, (2010, July).
  • James Lester, Karl Branting, Bradford Mott, Conversational Agents, Practical Handbook of Internet Computing, CHAPMAN & HALL/CRC, p2-3, (2004, September).
  • Reeves, B., & Nass, C., How people treat computers, television, and new media like real people and places, Cambridge, UK, CSLI Publications and Cambridge university press, p19-36, (1996).
  • Shechtman, N., & Horowitz, L. M., “Media inequality in conversation: how people behave differently when interacting with computers and people”, In Proceedings of the SIGCHI conference on Human factors in computing systems, p281-288, (2003, April).
  • Fitzpatrick, K. K., Darcy, A., & Vierhile, M., “Delivering cognitive behavior therapy to young adults with symptoms of depression and anxiety using a fully automated conversational agent (Woebot): a randomized controlled trial”, JMIR mental health, 4(2), (2017, April). [https://doi.org/10.2196/mental.7785]
  • Bickmore, T. W., Caruso, L., Clough-Gorr, K., & Heeren, T., “It’s just like you talk to a friend’, Relational agents for older adults, Interacting with Computers, 17(6), (2005, December).
  • Gratch, J., Kang, S.-H., & Wang, N., “Using social agents to explore theories of rapport and emotional resonance”, In J. Gratch, & S. Marsella, (Eds.)Emotion in nature and artifact, Oxford University Press, p181-197, (2014, January).
  • Purington, A., Taft, J. G., Sannon, S., Bazarova, N. N., & Taylor, S. H., ““Alexa is my new BFF”: Social roles, user satisfaction, and personification of the Amazon echo“, Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems, (2017, May).
  • Katz, Blumler, Gurevitch, Uses and Gratification research, Public Opinion Quarterly, 37(4), p509-523, (1974).
  • Kim, Kyunghee, Park, Jiyun, A study of Motivation and Attitud to Inernet Commnity Service for Female-only, Korean Association for Broadcasting & Telecommunication Studies, 18-3, p432-474, (2004, September).
  • Kwang-Soon Park, A Study of the Characteristics of an Early Audience in the Digital Satellite Broadcasting, Korean Journal of Journalism & Communication Studies, 48(1), p84-111, (2004).
  • Zizi Papacharissi, The virtual sphere: The Internet as a Public Sphere, News & Society, 4(1), p9-27, (2002, February).
  • LOUIS LEUNG, RAN WEI, Who are the Mobile Phone Have-Nots?: Influences and Consequences, New Media & Society, 1(2), p209-226, (1999, August). [https://doi.org/10.1177/14614449922225564]
  • Joseph B. Walther, Geri Gay, Jeffrey T. Hancock, How Do Communication and Technology Researchers Study the Internet?, Journal of Communication, 55(3), p632-657, (2005, September). [https://doi.org/10.1093/joc/55.3.632]
  • John E. Newhagen, Sheizaf Rafaeli, Why Communication Researchers Should Study the Internet: a Dialogue, Journal of Computer-Mediated Communication, 1(4), (1996, March). [https://doi.org/10.1111/j.1083-6101.1996.tb00172.x]
  • Matthew Lombard, Jennifer Snyder-Duch, Interactive Advertising and Presence, Journal of Interactive Advertising, 1, p56-65, (2013, July).
  • Pearl, C., Designing Voice User Interfaces: Principles of Conversational Experiences, O'Reilly Media, Inc, (2016).

저자소개

김재중(Jae-Joong Kim)

2017년 : 서강대학교 지식융합학부 Art&Technology 학과 (공학학사)

2019년 : 연세대학교 산업공학과 석사과정 재학 중

조형재(Hyeong-Jae Jo)

2016년 : 서강대학교 융합소프트웨어 (공학학사)

2016년 ~ 2018년 : 쿠팡 소프트웨어 개발

2018년 ~ 현 재 : 웨이비 (WAVY)

Fig. 1.

Fig. 1.
Conversational News Chatbot System Diagram

Fig. 2.

Fig. 2.
Conversational News Chatbot System Database Diagram

Fig. 3.

Fig. 3.
News Chatbot System Implement Part 1

Fig. 4.

Fig. 4.
News Chatbot System Implement Part 2

Fig. 5.

Fig. 5.
News Chatbot System Screenshot – Start Page

Fig. 6.

Fig. 6.
News Chatbot System Screenshot – Initial User Settup

Fig. 7.

Fig. 7.
News Chatbot System Screenshot – Q&A Situation

Fig. 8.

Fig. 8.
News Chatbot System Screenshot – Feedback Situation 1

Fig. 9.

Fig. 9.
News Chatbot System Screenshot – Feedback Situation 2

Table. 1.

Conversational News Chatbot System Flow Chart

Initial installation Situation Chatbot talk first Users talk first
Case 1 Case 2 Situation with a particular topic in question Situation without a particular topic in question
1st
Step
First greeting Say hello Say hello Questions on a specific topic Questions topic based on interests
2nd
Step
Initial setting uer's information (sex, age) Question about user's current status Recommendation news based on user's interests Recommendation news based on user's interests Recommendation news based on user's interests
3rd
Step
Initial setting user's interest Questions about users interest Question about opinion on the news Question about opinion on the news Question about opinion on the news
4th
Step
Explain chatbot guideline Recommendation news based on user's interests Present other user's opinions about news & question about this Present other user's opinions about news & question about this Present other user's opinions about news & question about this
5th
Step
Question about opinion on the news Ask whether to providing news on other topics or same topics Ask whether to providing news on other topics or same topics Ask whether to providing news on other topics or same topics
6th
Step
Present other user's opinions about news & question about this
7th
Step
Ask whether to providing news on other topics or same topics