''추천 시스템(Recommendation System)에 관한 고찰'이라니, 너무 방대하잖아?' 🤨
'정말, 추천 시스템에 관한 고찰이라니. 뭐, 어떻게, 뭐를, 얼마나, 고찰하겠다는 것인가.'🤔
방대하고 두루뭉술한 제목만큼이나, "추천 시스템"은 매우 넓은 주제에 해당한다. 누구에게, 무엇을, 언제, 얼마나, 어떻게, 그리고 왜 추천 할 것인지도 정의해야하고, 그 외에도 굵직굵직한 것에서부터 자잘한 것까지 무수히 많은 탐색과 결정이 (당연히) 필요하다.
그렇기에 작은 주제 하나로 그치고 싶지 않았다. 추천 시스템으로 유명한 알고리즘을 설명하는 좋은 글들은 정말 (감사하게도) 많다. 하지만 나는 이 알고리즘들이 만들어 낼 진짜 Impact, 그리고 변화. 이런 것들을 더 무겁게 여긴다. 그러기에 편리함의 뒤에 그리고 그것의 필요한 추천 서비스로 적용하기 위해서는 생각보다 다양한 부분에서 고민이 필요하다.
데이터 사이언티스트로서 필자는, 정말 운이 좋게도, 커리어 시작과 함께 몇몇 추천 시스템을 개발할 기회가 있었다. 하지만 모든 실무가 그렇듯, 단순히 유명한 알고리즘 몇 개 들고와서 마법같이 해결 할 수 있는 것은 없었고(당연히도), 그 과정에서 내 관점을 보다 날카롭게 연마해준 질문들이 참 많았다.
그 질문에 답하기 위해 이것저것 찾아보고 나름의 답을 내려본 것들이, 개인적으로는 무척 소중하다. (내가 직접 만든 요리는 뭔들 맛이 없겠는가마는). 그래서 일차적으로는 까먹지 않고 나중에 다시 꺼내보기 위해 정리하는 것이고, 부차적으로는 비슷한 고민을 갖고 이 글을 찾게된 분들께 좋은 질문거리를 공유하는 계기가 되었으면 하는 바람이다.
그래서, 추천 시스템에 대해 '보다 부수적인, 지극히 개인적인' 생각 갈무리를 하나씩 모아 정리할 생각이다.
- 추천 시스템이 무엇인가.
- 추천 시스템이 왜 필요한가.
우선, 추천 시스템이 무엇인가. 위키에서는 추천 시스템을, 어떤 사용자가 특정 품목(item)에 대해 평가할 '평점' 또는 '선호도'를 예측하고자 하는 시스템 이라고 정의하고 있다. 평점과 선호도는 어떤 품목에 대해 고객이 '얼마나 마음에 들었는가'를 나타내는 값이라는 점에서, 추천 시스템은 결국, 고객이 아직 경험하지 못한 품목들 가운데, 좋아할 (것으로 예상되는) 품목과 그렇지 않은 품목을 구분하기 위한 도구라고 볼 수 있다.
그럼, 추천 시스템이 왜 필요한가. 이 질문에 대해서는, "이 집 추천 잘한다"는 간증(?)글로 유명한 '추천 맛집'(?) 사례로 비추어보자.
(YouTube는 못 참지!!!😳)
YouTube 안에서는 '알고리즘이 나를 여기로 이끌었다'는 간증(?) 댓글을 심심치 않게 볼 수 있는데, 이 유행어를 조금만 풀어보면 두 가지 의미를 엿볼 수 있다. 하나는 '이런 영상이 있는지 몰랐다🤔'는 것이고, 다른 하나는 '근데 내가 이걸 왜 보고 있지?🙄'이다.
다소 가벼운 예를 들었지만, 이것만 비추어보아도 유튜브 추천 시스템의 한 가지 목적은 분명히 말 할 수 있다. 바로, '잠재수요를 이끌어 내어 동영상 시청 시간을 늘리는 것' 이다. 여기서 '동영상 추천'이 고객의 잠재수요(hidden-needs)를 깨우는 방아쇠(trigger)가 되어, 새로운 동영상을 더 보게하고, 이런 과정이 가능한 오래 지속되도록 만들어, 결국엔 YouTube 플랫폼에 되도록 오래 체류하도록 만드는 것이다. (시청 시간이 늘어날 수록 광고 수익도 당연히 늘어날 걸로 기대할 수 있기 때문에!)
결국 추천 시스템은, 당사의 다른 product를 고객에게 더 제안함으로써 소비를 늘리기 위한 목적에서 필요하며, 이는 (과장을 조금 보태어) '수익 극대화' 목표가 있는 모든 영리의 비즈니스라면 예외가 없을 것이다. ( * 더 나아가, 넓은 의미에서 추천 시스템은, 많은 부문에서 이미 암묵지(tacit-knowledge)/형식지(explicit-knowledge) 형태로 찾아볼 수 있다. 마케팅 관점에서도 Up/Cross-Selling 증대를 위한 캠페인을 설계하며 '추천 방법'을 고민하고, 영업Sales 부문의 많은 경험과 노하우도 다 '추천의 기술'이지 않은가.)
위에서 간략히 소개했듯이, 추천 시스템은 많은 비즈니스에 중요하다. 하지만, 비즈니스의 이윤 추구 관점보다 앞선, '추천'의 본질적인 목적은 무엇일까. 추천이 애초에 왜 필요할까. 오늘날 왜 추천이 더 필요한 행위가 되었을까.
추천은, 큐레이션(Curation)에서부터 출발한다. 큐레이션이란, 어떠한 목적에 맞게 다양한 컨텐츠들을 수집, 분류 및 선별하는 등의 행위를 통칭하여 일컫는 말로, 오늘날 정보 과잉 문제가 대두되면서 '방대한 양의 정보를 필요에 맞게 선별(Selecting) 및 조직(Organizing)하는 능력' 또한 중요하게 여겨지면서 더 주목받는 개념이 되었다.
여기서 유추할 수 있는, 추천 시스템은 본질은 -
첫 번째, 방대한 정보 모수(Population) 가운데 목적에 맞는 정보를 선별 및 조직할 줄 아는 domain 전문가와 같은 능력을 가지고
두 번째, 어떠한 사용자의 필요를 파악해 그에 적합한(suitable) 정보를 이어주는(mapping) 것이다.
(TBD...)
추천 시스템에 대해 다루고 싶은 주제가 정말 많다. 그동안 개인적으로 추천 시스템을 개발하면서 찾아 본 주제와, 그걸 반영하기 위해 했던 고민거리들이 참 많았다. 그 소중한 경험들을 잊지 않고자, 그리고 미래에 새로운 추천 시스템을 개발할 때 참고하고자, 혹은 그와 같은 임무를 맞닥뜨린 다른 모델러에게 미약한 도움이나마 되고자, 이 시리즈를 기획했다.
앞으로 다루고 싶은 주제들은 아래와 같다.
📌 추천 시스템에 관한 고찰 - 그리고, 고민거리🤔
1. 무엇이 '추천 시스템' 인가
2. '누구'에게 추천 할 것인가
3. '어떻게' 추천 할 것인가
4. 좋은 추천을 위한 생각거리
(* 목차는 수정될 수 있습니다.)
추천 시스템은 단순히 한-두번의 정리로 끝낼 수 있는 주제가 아니라고 생각한다. 그만큼 이 주제에 대해, 이 시리즈 안에서 지속적으로 내용을 추가/수정하면서, 좋은 고민거리를 많이 나누는 포스팅으로 발전시켜보려 한다.