본문 바로가기
DAta 이론/데이터 분석 알아보기

[데이터 분석 알아보기] 1-2. 추천 시스템 어떻게 만들까

by DAkimble 2024. 8. 16.

추천 시스템은 데이터 업무 중에서 가장 알짜배기면서 논란도 많은 일이예요

 

  구글이나 메타같은 세계적 빅테크 기업들의 주요 수입원이 직간접적으로 연관이 있을만큼 추천 시스템은 소위 '요즘 돈이 되는' 일입니다. 다른 제조업 회사들이 발로 뛰며 조사하고 시제품을 만들고 시장에서 실패를 겪어가며 비싼값을 치르고 알아내는 고객들의 취향을 빅테크 회사들은 자신들의 거대 플랫폼에서 활동하는 고객들의 흔적으로 알아내고 적극적으로 추천이라는 일종의 마케팅까지 해내는거죠. 이런 요즘 IT 회사들의 비즈니스 모델은 고객의 행동을 몰래 조사해서 상업적으로 이용한다며 '감시 자본주의'라거나 '빅 브라더'라고 대대적으로 비판받기도 해요.

  저는 고객의 개인정보를 이용하는 일이 기업이 사회적 책임을 다해야 한다는 ESG 윤리경영의 차원에서 신중을 기해야 하며 그래야 더 진보한 차원의 추천 시스템을 만들 수 있다고 생각합니다. 하지만 이번 글에서는 추천시스템, 그것이 알고싶다 아티클을 정리하며 기본적으로 추천 시스템이 무엇이고 어떤 구성과 종류를 갖고 있는지 알아보려해요. 그래야 데이터 분석의 주요 업무를 알아볼 수 있고, 말씀드린 더 나은 차원의 추천 시스템을 만드는 초석도 될 수 있겠지요!

 

 


 

 

1. 추천 시스템이 뭘까?

추천 시스템이란 온라인에서 수집한 사용자의 정보 데이터를 분석해서 그 취향에 맞는 제품이나 서비스를 추천하는 알고리즘을 말해요. 추천 시스템을 통해 기업들은 고객에게 최적의 상품을 제시할 수 있을 뿐만 아니라 놀랍게도 고객의 소비 자체를 촉진할 수도 있습니다. 예를 들어 추천 알고리즘으로 인해 유튜브 시청 시간의 70%이 발생하고 도입 이전보다 시청 시간이 20배 이상 증가했다고 해요. 넷플릭스 매출의 75%도 추천시스템에 의해 발생한다고 하구요. 유튜브 화면을 볼 때마다 재밌는 영상들이 떠서 밤잠 설치는게 내 얘기만이 아니라는거죠.

 

 

2. 추천 시스템의 구성: 데이터 종류와 유사도

1) 데이터의 종류

추천 시스템에 이용하기 위해 수집하는 데이터의 종류는 크게 명시적(Explicit) 데이터와 암시적(implicit) 데이터가 있어요.

  • 명시적 데이터: 사용자가 스스로 선호도를 직접적으로 표현한 데이터 Ex) 평점, 좋아요
  • 암시적 데이터: 선호도가 간접적으로 표현된 데이터 ex) 사용자 행동 로그 데이터, 검색 및 클릭 기록

이 데이터들에는 각각 장점과 약점이 있어요. 명시적 데이터가 고객 취향을 정확하게 반영하지만 실무에서 얻기는 쉽지 않아요. 빅테크나 거대 커머스 기업들도 조금이라도 눈치보면서 수집하는 정보인데 아무나 접근하기는 더더욱 어려우니까요. 그래서 간접적이지만 비교적 얻기 쉬운 암묵적(implicit) 데이터를 잘 이용할 필요가 있습니다.

 

2) 유사도 개념

유사도란 영상 이미지, 추천수 등 다양한 종류의 아이템 정보 데이터를 측정한 벡터(크기와 방향을 함께 갖는 양)가 아이템 간에 얼마나 유사한지 측정한 값이예요. 예를 들어 자카드 유사도는 아이템 집한 간 교집한 크기를, 코사인 유사도는 아이템들의 벡터 사이의 각도를, 유클리디안 거리는 백터 사이의 거리를 이용해서 유사도를 측정합니다.

 예를 들면 자카드 유사도에서 분홍색 반팔티를 구매했던 고객에게 파란색 반팔티를 추천한다면

(두 아이템 교집합)/(두 아이템 합집합) = (상의 ,반팔티, L)/( 상의, 반 팔티, L, 분홍색, 하늘색) = 3/5 으로 유의미한 자카드 유사도를 보이기 때문이죠.

 

3. 추천 시스템의 종류

추천 시스템에는 기본적으로 컨텐츠기반 필터링, 협업 필터링, 하이브리드 추천시스템, 그리고 더 심화된 알고리즘의 딥러닝이 있습니다. 그 중에서 서로 상보적 관계가 될 수 있는 컨텐츠기반 필터링과 협업 필터링에 대해 알아봅시다.

 

1) 컨텐츠기반 필터링

기존에 사용자가 선택하거나 구매한 아이템과 유사한 아이템을 추천합니다.

  ex) 사과를 구매했던 고객에게 종류가 비슷한 베를 추천\

 

2) 협업 필터링
비슷한 취향을 갖는 사용자가 좋아한 아이템을 다른 사용자에게도 추천하는 방식입니다.

  ex) 동일하게 피자를 좋아한 a,b가 있는데 a가 피자도 좋아했다면 b에게도 피자 추천

 

4. 추천 시스템의 한계점

추천 시스템이 항상 유용할것 같지만 몇가지 한계점도 있어요. 

  • 콜드 스타트 문제: 기존 데이터가 없는 신규 고객에게는 추천이 어려움
  • 계산 효율성 저하: 반대로 협업 필터링 등에서 서로 간의 관계 등에 의해 데이터량이 많아지고 계산이 복잡해진다면 알고리즘 도출에 장기간 소요될 수 있음
  • 롱테일 문제: 추천이 계속되다보면 소수의 인기 콘텐츠에 비해 노출 정보가 부족한 다수의 콘텐츠들이 더욱 외면받을 수 있음

 

그리고 이러한 한계점의 보완책으로 2개 이상의 다양한 종류의 시스템을 적용하여 추천하는 하이브리드 추천시스템이 있어요. 각 추천시스템을 이용하면서 약점을 보완할 수 있는 다른 시스템을 같이 쓰는거죠. 예를 들어 컨텐츠기반 필터링이 기존 정보가 없는 신규 고객에게 추천을 잘해주지 못한다면 협업기반 필터링을 먼저 그와 비슷한 고객의 취향으로 유추해서 상품을 판매해본 후에 컨텐츠기반 필터링을 같이 사용하는거죠.

 

결론: Be good evil

앞서 말씀드렸듯이 최근에 빅테크 기업들이 개인정보를 무분별하게 상업적으로 이용한다는 비판이 빈번하게 들립니다. 그리고 어느 분야에서든 데이터를 통한 ‘예측’은 큰 가치를 갖는만큼 주관성 혹은 현실조작성을 띌 수 있으므로 조심해서 이용해야 하죠. 하지만 그것이 고객의 동의를 기반으로 하고 거대 기업의 자금줄이 되는 한 이는 거부할 수 없는 흐름이기도 합니다. 그렇다면 고객의 특성을 최대한 입체적으로 분석해서 적절하게 추천해야 합니다. 그저 많은 수의 추천이 추천을 만들어내는 롱테일 문제가 생기지 않게 말이죠. 구글처럼 마냥 ‘Don’t be evil’이 되는 것을 사양한다면 good evil이 됩시다!