본문 바로가기
DataScience/Recommendation System

추천시스템의 고전적 방법들

by mkk4726 2023. 7. 7.

저는 영상을 보는걸 워낙 좋아해 유튜브, 넷플릭스, 티빙, 디즈니플러스와 같은 OTT를 즐겨 사용하는데,

" 어떻게 이런 걸 추천해주는걸까? " 라는 궁금증이 있었고 이에 대해 공부를 하고 있습니다.

 

저는 추천시스템이 참 매력적이라고 생각합니다.

유저에게 가장 큰 영향을 끼치면서, 회사와 유저에게 모두 윈-윈인 방법이기 때문입니다.

 

우리가 소비할 수 있는 제품보다 훨씬 더 많은 제품이 있는 상황에서 무엇이 나에게 적합한지 필터링을 해줘 맘 편히 선택을 할 수 있게 되어 좋고,

회사는 이를 통해 유저가 제품을 더 구입하거나 오래 머물러있게 되니 좋습니다.

 

추천시스템에는 많은 방법들이 있는데, 결국 이것들은 "어떻게 유저에게 좋은 제품을 소개시켜줄까?"에 대한 답들입니다.

여러 답 중 고전적인 방법들에 대해 정리해보려 합니다.

 


쿠팡 판매량 순 정렬 , 멜론 탑 100

- 인기도 기반 추천 (Popularity Based)

 

가장 기본적으로 생각해볼 수 있는 방법은 best seller를 추천해주는 것입니다.

제가 가장 많이 사용하는 방법이기도 한데, 어떤 물건을 살 때 판매량 순이나 평점 순으로 물건을 살펴보곤 합니다.

굉장히 직관적이면서도 분야에 따라서는 절대적으로 효과적인 방법이기도 합니다.

멜론 탑 100같은 경우를 생각해보면 이해가 빠를 것 같습니다.

 

이 방법은 구현하기가 쉽고 확장성이 뛰어나다는 장점이 있지만, 개인화가 되지 않으며 필터 버블/에코 챔버(제한된 다양성) 등의 문제가 있고 ,아직 평가받지 않은 아이템은 추천할 수 없다는 한계점이 있습니다.

 

- 인구통계 기반 필터링 (Demographic Filtering)

 

연령, 성별, 직업, 위치 등과 같은 인구통계학적 특성이 유사한 사용자는 선호도와 관심사가 비슷할 가능성이 높다는 가정이 포함된 방법입니다.

60대 이상은 트로트를 선호할 것이고 10~20대는 힙합을 선호할 것이라고 예측해볼 수 있을 것 같습니다.

 

이 방법은 매우 단순하고 콜드 스타트에 대응할 수 있지만, 개인화되지 않으며, 고정관념에 기반한 추천이라는 인식을 줄 수 있습니다. 또한 인구통계학적 정보들이 민감정보라는 한계가 있습니다.

힙합을 좋아하는 60대 분에게 트로트만을 추천해준다면 불쾌할 수 있지 않을까요?

 

- 연관규칙추천 (Association Rule Mining)

 

연관규칙추천은 자주 구매된 상품을 함계 추천하는 기법입니다.

 

데이터분석의 흔한 예시인 기저귀-맥주 사례가 대표적입니다.

기저귀를 산 고객은 맥주를 함께 사는 경우가 많아 이를 함께 배치했더니 매출이 올라갔다는 이야기입니다.

실제 결과는 이렇지 않았다고 합니다만 데이터분석을 통해 매출을 올릴 수 있는 사례로 널리 알려져있습니다.

 

장바구니 분석이라고도 불리는 이 방법은,  "A를 사면 B도 산다" 와 같이,

조건절(Antecedent)과 결과절(Consequent)로 구성되어있는 규칙을 찾는 것입니다. 

 

하나의 장바구니로부터 많은 규칙을 만들어 낼 수 있습니다.

이는 연산량의 막대한 증가로 이어지기에, A priori 알고리즘을 통해 빠른 규칙을 만들 수 있습니다.

 

A prior 알고리즘은 빈번하게 등장하는 아이템 셋에 대해서만 고려하는 방식으로,

Anti-monotone property를 활용합니다. 

P(A)가 0.2일 때 P(A, B)는 0.2를 넘을 수 없으므로 P(A)가 특정 값 이하일 때는 아예 배제함으로써 연산량을 크게 줄일  수 있습니다.

 


추천시스템이란 "어떻게 유저에게 좋은 상품을 추천해줄까?"에 대한 답이라고 생각합니다.

 

이에 대해 3가지 고전적 추천시스템에 대해 정리해봤습니다. 장단점이 존재하고 분명한 한계점이 존재하는 방법들입니다.

 

추천시스템이 가지는 고유의 문제점, 한계점을 극복하기 위해 계속해서 좋은 방법들이 나오고 있고, 

이를 통해 유저와 회사가 모두 윈-윈을 하고 있습니다.

 

이러한 방법들을 공부하고 꾸준히 정리해보겠습니다.

 

 


- 공부자료

패스트캠퍼스 "30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지"

 

댓글