사용자 기반 필터링 (User-based filtering)을 중심으로
Netflix에서 영화나 드라마를 보는 소비자들 중 60%는 Netflix가 추천해준 영화나 드라마를 시청한다고 합니다. 그 만큼 개인의 취향에 맞춰 추천해준다는 것인데요.
그렇다면, 넷플릭스는 개인의 취향을 어떻게 알고 추천해주는 것일까요? 바로, 데이터마이닝 알고리즘 중 크게 ‘협업 필터링(Collaborative filtering)’ 기법을 사용합니다. ‘협업 필터링’ 기법은 ‘사용자 기반 필터링(User-based filtering)’ 과 ‘아이템 기반 필터링(Item-based filtering)’으로 나뉩니다.
두가지 세션으로 나눠서 알아볼텐데요. 오늘은 ‘협업 필터링(Collaborative filtering)’ 기법 중 사용자 기반 필터링(User-based filtering)과 아이템 기반 필터링(Item-based filtering)이 무엇인지 알아보고 예시와 함께 사용자 기반 필터링을 이해해보겠습니다.
먼저 사용자 기반 필터링과 아이템 기반 필터링이 무엇인지 알아봅니다.
고객 간의 선호도를 분석하여 나와 유사한 성향의 고객이 좋아한 상품/콘텐츠를 추천하는 기법입니다.
우리는 흔히 쇼핑몰의 연령대별 관심 상품 추천이나 영화/도서 추천과 같은 서비스들을 통해 경험하고 있죠. 아래 이미지는 제가 자주 이용하는 인터넷 서점 사이트입니다.
‘이 책을 구입하신 분들이 함께 산 책’, ‘이 책을 구입하신 분들이 많이 산 책’은 저와 유사한 책을 구매한, 그러니까 유사한 선호도(구매)을 가진 분들의 상품/콘텐츠(책)를 추천해주는 것이죠. ‘이 책을 구입하신 분들이 많이 산 책’ 추천 목록에서는 실제로 제가 이미 갖고 있는 책들, 구매하려고 했던 책들이 포함되어 있었습니다.
영화나 드라마 자체의 아이템들의 유사도와 사용자의 선호도를 기준으로 추천하는 기법입니다. 예를 들면, 선호 장르를 분석해서 영화 추천이나 유사 기사 추천같은 서비스를 경험하신 적이 있을 겁니다.
이제 하나씩 예시를 통해 알아보겠습니다. 협업 필터링 기법을 기술적인 관점에서 살펴보겠습니다.
신규 상품 ‘녹용’이 출시된 후, 아래와 같이 구매한 고객과 구매하지 않은 고객이 있다고 가정해보겠습니다. 우리는 어떤 유저에게 ‘녹용’을 추천해줘야 할까요?
유저별 선호도 점수를 보고 눈으로 답을 찾아보겠습니다.
– Item 별 선호도 점수를 보니, 반대성향인 것 같습니다.
– 비슷한 듯 하기도 하고, 아닌 것 같기도 하고.. 그래도 User Ok은 User Lee 보다는 User Koo와 유사해 보입니다. 그렇다면, User Ok 은 ‘녹용’에 대한 선호도 점수를 ‘5’점을 주었는데, 2)번 질문처럼 User Ok은 User Jung 과 유사해 보이니 User Jung에게 ‘녹용’을 추천해야 할까요?
자, 기술적 접근으로 그 답을 찾아보겠습니다.
아이템에 대한 선호도 평가치를 이용하여 다른 유저와의 선호도 유사정도를 피어슨 상관계수로 정의하여 선호도 평가치를 예측해보겠습니다.
결과는 -0.8로 서로의 선호도가 다름을 알 수 있습니다.
User Koo의 신제품 ‘녹용’의 선호도 예측 점수는 4.56입니다.
User Ok이 ‘녹용’에 준 선호도점수 5점과 유사하게, ‘녹용’제품을 선호할 것이라는 결과가 나옵니다.
결론적으로 우리가 눈으로 계산한 상식선의 선호도 예측 값과 협업 필터링을 통해 기술적으로 예측한 값이 크게 다르지 않았습니다. ‘에이~ 눈으로 보고 확인한 거랑 별반 다르지 않네. 그럼 감으로 일해도 되겠구나? 그런데 회원별로 선호도를 눈으로 다 조합해서 추천할 수도 없고… 사람이 하지 않고 자동화할 수는 없나?’ 아마 이런 생각들을 하실 것 같습니다. 하지만 현실에서는 실제 고객관리나 마케팅에 활용하기에는 먼 이야기처럼 느껴지고 또 전문 역량을 가진 데이터 분석가나 개발자가 있어야만 할 것 같은 생각이 앞섭니다.
이러한 어려움을 최소화하고 여러분의 비즈니스 성과향상을 돕고자 비즈스프링은 협업 필터링을 통한 알고리즘을 연구중입니다. 비즈스프링의 추천엔진을 통해 고객별 상품/콘텐츠에 대한 선호도를 분석하고, 유사한 성향의 고객이 좋아한 상품/콘텐츠를 추천할 수 있게 됩니다. 많은 관심 부탁드립니다.
이번에는 데이터 마이닝 알고리즘 중 사용자 기반 필터링과 아이템 기반 필터링이 무엇인지 알아보고, 예시를 통해 협업 필터링을 맛보았습니다. 이어서 ‘아이템 기반 필터링’에 대해서 알아보겠습니다 :)