본 글은 Recommender Systems(Charu C. Aggarwal)라는 책과 다양한 블로그를 참고하여 정리한 내용들을 바탕으로 작성한 글입니다.
추천시스템
추천시스템은 사용자(user)에게 상품(item)을 제안하는 소프트웨어 도구이자 기술이다.
이러한 제안은 어떤 상품을 구매할 지 또는 어떤 음악을 들을지와 같은 다양한 의사결정과 연관되어있다.
인터넷이 발전됨에 따라 아이템 구매 및 선호에 대한 사용자의 피드백을 얻기 쉬워졌고,
이런 피드백을 바탕으로 과거의 사용자-아이템 간 데이터를 활용해 취향을 고려한 아이템을 추천하는 것이 추천시스템의 기본적 아이디어이다.
추천시스템의 진정한 묘미는 사용자 자신도 좋아하는지 몰랐던 취향을 시스템이 발견하고 그에 맞는 콘텐츠를 추천해주는 것이다.
이러한 추천 시스템을 접한 사용자는 해당 사이트를 더 강하게 신뢰하게 되어 더 많은 추천 콘텐츠를 선택하게 될 것이다.
결국 더 많은 데이터가 추천 시스템에 축적되면서 추천이 더욱 정확해지고 다양한 결과를 얻을 수 있는 좋은 선순환 시스템을 구축할 수 있게 된다.
추천시스템의 목적
간단하게 말해서 어떤 사용자에게 어떤 상품을 어떻게 추천하지에 대해 이해하는 알고리즘이다.
추천시스템에서 고려하는 방식은 두 가지로 볼 수 있다.
- Prediction version of Problem
- Matrix Completion problem이라고도 함
- 학습 데이터를 통해 유저의 선호도를 정확하게 예측하는 것이 목적
- ex) A라는 유저는 1번 상품을 선호할 것이다.
- Ranking version of Problem
- 정확한 수치를 예측하는 것이 아닌, 랭킹을 고려해 top-k의 아이템을 선정하는 것이 목적
- ex) A라는 유저는 1,2,3번 상품 순으로 선호할 것이다.
일반적으로 Prediction version of Problem을 푸는 것이 목적이다.
이를 해결해야 Ranking 문제도 해결할 수 있기 때문에 그렇다.
하지만 현실적으로 더욱 자연스러운 것은 Ranking 문제이다.
예를 들면 보통 우리가 A, B 중 상품을 고를 때 A와 B를 비교해 상대적으로 더 좋은 것을 사지, A와 B의 점수를 각각 구해서 판단하는 것은 어떻게 보면 비효율적인 과정이기 때문이다.
추가적으로 비즈니스적 측면으로 추천시스템의 목적은 아이템 판매량을 높이는 것이다.
그렇기에 운영적/기술적 측면으로는 아래와 같은 목적이 있다.
- Relevance(관련성)
- 추천된 아이템이 유저에게 관련이 있는가?
- 명백한 목적이지만 이것만으로 불충분
- Novelty(참신함)
- 진부한 아이템이 아닌 유저가 탐색하지 못한 색다른 아이템을 추천하는가?
- 어느정도 예상 가능한 범위
- Serendipity(우연으로 인한 발견)
- 유저가 이전에 경험해보지 못한 완전 새로운 아이템을 추천하는가?
- 아예 예상 불가능한 범위
- Diversity(다양성)
- 추천된 아이템에 다양한 아이템이 포함되는가?
추천시스템의 유형
대표적인 추천시스템의 알고리즘은 다음과 같다.
- 콘텐츠 기반(Content-based)
- 협업 필터링(Collaborative Filtering)
- 최근접 이웃 협업 필터링(Nearest Neighbor)
- 잠재 요인 협업 필터링(Latent Factor)
- 지식 기반(Knowledge-based systmes)
추천시스템의 초창기에는 콘텐츠 기반 방식이나 최근접 이웃 기반 협업 필터링 방식이 주로 사용됐지만,
넷플릭스 추천시스템 경연 대회에서 행렬 분해(Matrix Factorization) 기법을 이용한 잠재 요인 협업 필터링 방식이 우승하면서 대부분의 온라인 스토어에서 잠재 요인 협업 필터링 기반 추천 시스템을 적용하고있다.
하지만 서비스하는 아이템의 특성에 따라 콘텐츠 기반 방식이나 최근접 이웃 기반 협업 필터링 방식을 유지하는 사이트도 많다고 한다.
요즘에는 개인화 특성을 좀 더 강화하기 위해서 하이브리드 형식으로 콘텐츠 기반 방식과 협업 필터링 방식을 적절히 결합해 사용하는 경우도 늘고 있다고 한다.
Reference
Representative Image Credits:hobbit (opens in a new window)/ Shutterstock
'Data Science > Recommendation System' 카테고리의 다른 글
[Recsys] 추천시스템 알고리즘 - 하이브리드 시스템, 연관성 분석 (0) | 2023.01.15 |
---|---|
[Recsys] 추천시스템 알고리즘 - 협업 필터링(Collaborative filtering) (0) | 2022.12.22 |
[Recsys] 추천시스템 알고리즘 - 콘텐츠 기반(Content-based) (0) | 2022.12.19 |
[Recsys] 추천시스템 - 데이터 형태, 평가지표 (0) | 2022.12.13 |
댓글