aSSIST 빅데이터MBA 지상중계: 추천 시스템 구축 원칙

성공의 핵심 요소로 떠오른 ‘추천 시스템’
비즈니스의 본질 먼저 꿰뚫는 것을 추천!

253호 (2018년 7월 Issue 2)

Article at a Glance
넷플릭스에서 ‘대여’(?)되는 영화의 3분의 2가 고객에게 추천된 영화이고, 아마존의 경우 매출의 35%가 추천을 통해 발생하고 있다. 추천 시스템 구축은 각자가 속한 비즈니스가 어떤 영역에 속해 있고, 어떤 고객을 얼마만큼 확보하고 있는지에 따라 구축 목적부터 활용하는 모델에 이르기까지 완전히 다른 형태를 띠게 된다. 또한 추천 시스템을 완벽하게 구축한 것처럼 보이더라도 그게 곧 비즈니스의 성공으로 이어지는 것도 아니다. 경영에 필수적인 인프라로, 때로는 핵심 경쟁력의 구성 요소로 자리매김하고 있는 추천 시스템의 성공적 구성과 운영에 성공하려면 내가 속한 비즈니스의 본질부터 깊이 들여다볼 필요가 있다.


편집자주

DBR은 4차 산업혁명 시대를 맞이해 급변하는 빅데이터 분석의 트렌드를 제시하고자 aSSIST(서울과학종합대학원) 빅데이터MBA학과와 협력해 2018년 강의 중 핵심 내용을 지상 중계합니다. 과정 문의: sybae@assist.ac.kr



‘알파고 등장’ 이전부터 우리 주변에 조용히 침투해 들어왔던 인공지능. 어쩌면 이미 거의 10년, 아마도 그 이상의 기간 동안 우리의 구매결정에 암암리에 영향을 미쳐왔던 그것. 바로 ‘추천 시스템’이다.

인터넷 교보문고에서 책을 살 때, 대형 온라인 마켓에서 생필품이나 옷 혹은 전자기기를 살 때 끊임없이 내 앞에 떠오르는 ‘내가 관심 있어 할 만한 상품과 서비스’, 방문하는 사이트마다 나를 쫓아다니는 배너광고들은 너무도 당연한 우리의 일상이 돼 버린 지 오래다.

그러나 정작 추천 시스템이 어떤 알고리즘과 원리로 구현되고 있고, 어떤 일에 쓰일 수 있는지, 제대로 된 추천 시스템을 구축하기 위해서는 무엇이 필요한지에 대해서는 정확하게 아는 사람이 드물다. 이 분야 국내 최고 전문가로 꼽히는 이진형 분석가가 서울과학종합대학원 빅데이터MBA 과정에서 24시간에 걸쳐 진행한 강의를 DBR에서 요약해 싣는다. 이진형 분석가는 머신러닝 기반 빅데이터 분석 비즈니스 예측 및 컨설팅 기업 위세아이텍의 인공지능팀 수석으로 일하고 있다.

실제 알고리즘을 짜는 실습 등은 제외하고 어떤 시스템을, 왜, 어떻게 구축해야 하는지 강의한 내용을 중심으로 정리했다.

추천 시스템의 목표와 역사
먼저 추천 시스템의 목표부터 확실히 정의 내릴 필요가 있다. ‘추천’이라는 단어가 갖는 범용성으로 인해 오해의 여지가 크기 때문이다. 추천 시스템의 목표는 ‘사용자 기록 정보, 거래 상세 정보, 상호작용 로그와 같은 사용 가능한 사용자의 인터넷 활용 정보와 제품 사양, 사용자 후기, 다른 제품과의 비교 등을 아우르는 제품 정보를 고려해 좀 더 개인화된 추천을 하는 것’으로 정의할 수 있다. 사용자 관점에서 보면 결정을 내리는 데 신뢰할 수 있는 데이터로부터 관심 있을 만한 아이템을 받는 것이 중요하다. 제공자 관점, 즉 추천을 하는 기업 입장에서 보면 사용자에게 개인 맞춤 수준으로 추천을 하는 게 중요하다. 매출이나 조회 수, 사용자 수 등을 원하는 목표만큼 끌어올리기 위해서다. 좀 더 큰 관점으로 추천 시스템을 정의할 수도 있다. 아이템 구매나 조회 수 증가뿐만 아니라 사용자가 최상의 의사결정을 할 수 있도록 도와주는 시스템으로 정의하면 신용카드 사기 거래 탐지(분실 카드를 이용한 것으로 추정되는 거래 내역을 찾아주는), 주식 가격 예측(내가 사야 할 만한 종목을 추천해주는), 옷 이미지 인식(내가 좋아할 만한 옷을 이미지 인식을 통해 알려주는), 고장 예측(비행기 엔진에서 고장 날 것으로 예상되는 부분을 찾아주는) 등 다양한 분야로 확장된다. 추천은 결국 완전히 인공지능의 영역이 된다.

다시 우리가 물건을 구매하거나 콘텐츠를 소비할 때마다 마주치게 되는 ‘협의’의 추천 시스템 얘기로 돌아가보자. 추천 시스템은 크게 (1) 협업 필터링 모델, (2) 콘텐츠 기반 모델, (3) 하이브리드 추천 모델로 나뉜다.

(1) 협업 필터링 모델은 추천 시스템 1세대에 해당한다. 사용자들의 행동 이력에 기반해 추천을 해준다. 두 명의 사용자가 과거에 동일한 관심사를 공유하고 있었다면 미래에도 유사한 취향을 가질 것이라는 가정이 전제돼 있다. 예를 들어 A라는 사람이 ‘머신러닝’과 관련한 책을 검색해 구입했다면 A와 유사한 구매패턴, 나이대, 학력 등을 가진 B라는 사람이 접속했을 때, A가 구매한 책을 추천해주는 방식이다. 가장 오래되고 우리 모두가 접해본 가장 흔한 추천 시스템으로 성능이 매우 좋은 편이다. 아마존이나 교보문고에서, 옥션이나 이베이에서 우리에게 뜨는 추천 상품 리스트가 대부분 이 시스템에 바탕을 두고 운영된다. 그런데 이 시스템은 큰 문제를 하나 갖고 있다. 바로 ‘콜드 스타트’ 문제다. 어느 정도 시간 동안 충분한 사람들이 자료를 쌓지 않으면 아예 추천이 불가능하다. 또 어느 정도 자료가 쌓인 이후에도 마찬가지 이유로 처음 보는 패턴의 소비자가 나타나거나, 새로운 유형의 제품이나 서비스가 나타났을 때 비교할 만한 대상이 없기에 아예 추천이 작동하지 않는 문제가 있다.

(2) 콘텐츠 기반 모델은 이 문제를 해결하기 위해 등장했다. 사용자와 아이템의 속성에 기반해 추천을 하는 것으로 주로 유튜브 동영상을 볼 때 활용된다. 콘텐츠 그 자체의 연관성과 유사도를 중심으로 추천이 이뤄진다. 만약 ‘류현진 출전 경기’ 동영상을 하나 보고 나면 그 이후 관련 콘텐츠로 류현진의 다른 경기, 하이라이트, 메이저리그 다른 경기 등을 계속 추천하는 것이다. 그러나 이 경우 다른 스포츠, 혹은 스포츠를 벗어난 다른 영역으로 확장된 새로운 아이템을 추천하는 건 거의 불가능한 시스템이다. 협업 필터링 추천 방식과 콘텐츠 기반 모델 등 다양한 모형을 섞어서 추천 정확도를 향상시킨 게 바로 (3) 하이브리드 추천 모델이다.

지금까지 설명한 세 가지 추천 모델을 활용할 때에 주의해야 할 점이 있다. 역사적으로는 1세대 협업 필터링부터 콘텐츠 기반 모델, 하이브리드 추천 시스템 순으로 발전해왔지만 어느 하나가 특별히 우월한 것도 아니고, 각각 필요에 따라 쓰임이 다를 뿐이라는 것이다. 하이브리드 추천 모델로 추천 시스템을 구축할 때에도 마찬가지로 무조건 좋은 모형을 마구 다 섞기보다는 실제 내가 어떤 추천을, 어떤 고객에게, ‘왜’ 하는지를 잘 생각해 설계할 필요가 있다. 이미 엄청난 사용자 데이터와 아이템 구매/소비 데이터가 쌓여서 거의 모든 패턴을 확보한 상태인데 굳이 협업 필터링 시스템을 버릴 필요는 전혀 없다는 얘기다.

추천 시스템을 구축할 때 염두에 둬야 할 것들
많은 비즈니스 영역에서 이미 추천 시스템은 단순히 필요한 수준이 아니라 거의 핵심적인 경쟁력의 구성요소가 됐다. 세계 최고의 콘텐츠 기업으로 성장하고 있는 넷플릭스에서 ‘대여’(?)되는 영화의 3분의 2가 고객에게 추천된 영화다. 세계 최대의 유통 채널이자 생활 플랫폼으로 진화하고 있는 아마존의 경우 매출의 35%가 추천을 통해 발생하고 있다. 아마존은 앞서 말했듯 엄청나게 새로운 모형을 이것저것 가져와 뒤섞어서 추천 시스템을 만들지도 않는다. 이미 충분히 데이터가 쌓여 있기에 아이템을 위주로 한 기본적인 협업 필터링 모델을 개량해가면서 추천 시스템을 개선하고 있다. 넷플릭스는 좀 더 다양하게 새로운 기법을 도입하지만 아주 특별한 기술을 쓰는 건 아니다. 중요한 건 ‘적재적소’라는 얘기다.

이 강의를 듣는 여러분이 어떤 비즈니스에 속해 있는지, 어떤 업무에 종사하는지 등에 따라 어떤 시스템을 구축해야 할지도 달라진다. 어쩔 수 없이 ‘케이스 바이 케이스’로 추천 시스템을 구축해야 할 텐데 그럼에도 불구하고 염두에 둬야 할 기본 원칙이 있고 그걸 정리해두고 자신의 비즈니스에 맞게 구축하면 좋을 것이다.

우선, 너무도 당연한 얘기지만 추천 시스템 구축을 위해서는 세 가지가 필요하다. 첫째, 도메인 지식이다. 예를 들어 내가 유통과 관련된 일을 한다면 유통업에 대한 전문적 지식에 더해 아마존에서는 언제, 어떻게, 무슨 추천 시스템을 도입해 어떤 성과를 냈는지 등도 파악한 상태여야 한다. 미디어에 있다면 페이스북, 콘텐츠 서비스 기업에 있다면 자신의 분야 전반에 대한 도메인 지식에 넷플릭스의 시스템에 대한 연구가 선행돼야 할 것이다. 두 번째로, 당연하게 데이터가 필요하고, 세 번째로 그 데이터가 쌓이면 분석할 수 있는 인프라가 필요하다. 이 세 가지가 없으면 아무리 아이디어가 좋고, 적합한 알고리즘을 짜더라도 제대로 된 추천 시스템은 구축할 수가 없다.

그리고 그다음에 ‘내가 추천 시스템을 구축하려는 목적’이 무엇인지 정확하게 분류할 수 있어야 한다. 추천 시스템 구축 목적은 보통 네 가지 중 하나다. 하나는 가장 잘 팔리는 상품 즉, ‘베스트 상품’을 추천하는 것이고, 다른 하나는 관심 있는 상품과 유사한 상품을 추천하는 것이다. 서점에서 베스트셀러를 추천하는 것이 첫 번째 추천 시스템의 전형적인 사례고, 어떤 상품을 조회한 고객에게 같은 것을 조회한 고객이 산 다른 상품도 볼 수 있도록 하는 게 두 번째 추천 목적을 구현하는 대표적인 예다. 세 번째로 생각해볼 수 있는 추천 시스템 구축 목적은 ‘특정인에게 개인화된 상품을 추천하는 것’이다. 즉 ‘xxx 님만을 위한 추천’이 그 목적이다. 마지막으로 생각해볼 수 있는 추천 목적은 ‘상황에 적합한 추천’을 하는 것이다. 봄이 되면 ‘벚꽃 엔딩’이라는 노래를 추천하거나 비가 오는 날에 ‘비처럼 음악처럼’과 같은 곡을 추천하는 것 등을 떠올리면 된다. (표 1)



그리고 이 모든 것을 자신의 비즈니스에 맞게 구축한 뒤 추천 시스템이 너무나 잘 돌아가는 것 같을 때 돌아보고 점검해야 하는 부분이 있다. 이건 많은 비즈니스 리더가 놓치는 부분이다. 바로 ‘추천의 다양성’ 확보다. 별거 아닌 것 같지만 한 번 데이터가 쌓이고 추천 시스템이 돌아가기 시작하면 그 안에서 계속 맴돌아 얼핏 보기엔 굉장히 적합도 높은 시스템이 돌아가는 것 같지만 고객들은 뭔가 불만을 느낄 수가 있다. 먼저 ‘리스트 간 유사성’을 점검할 필요가 있다. 어떤 고객이 여러 번 접속하거나 검색했을 때, 즉 여러 번의 추천 요청이 자동으로 이뤄졌을 때 추천 시스템 알고리즘이 계속 같은 아이템을 제공하고 있지는 않은지 점검하라. 고객이 계속 검색을 다시 한다는 건 그 고객이 원하는 게 안 나온다는 뜻이다. 또 ‘리스트 내 유사성’도 살펴봐야 한다. 추천 결과로 제공되는 제품이나 서비스 아이템이 모두 비슷한 속성으로만 이뤄져 있을 경우 잠재고객을 놓칠 수가 있다.

지금까지 살펴봤듯 추천 시스템 구축은 각자가 속한 비즈니스가 어떤 영역에 속해 있고, 어떤 고객을 얼마만큼 확보하고 있는지에 따라 그 구축 목적부터 활용하는 모델에 이르기까지 완전히 다른 형태를 띠게 된다. 또한 추천 시스템을 완벽하게 구축한 것처럼 보이더라도 그게 곧 비즈니스의 성공으로 이어지는 것도 아니다. 경영에 필수적인 인프라로, 때로는 핵심 경쟁력의 구성요소로 자리매김하고 있는 추천 시스템의 성공적 구성과 운영에 성공하려면 다시 여러분이 속한 비즈니스의 본질부터 깊이 들여다볼 필요가 있다. 내 비즈니스에 대한 본질적 이해 없이 특정 시스템 구축에만 매달리거나 화려하고 현란해 보이는 기술에만 집착하면 세계 최고의 추천 시스템에 세계 최다 데이터를 투입해도 비즈니스를 성공으로 이끌 수 없다.
동아비즈니스리뷰 292호 Hyper-personalization 2020년 3월 Issue 1 목차보기