추천 시스템 (Recommender Systems)란 사용자가 관심을 가질 만한 내용들;
상품, 영화, 드라마, 뉴스, 친구 등을 추천하는 알고리즘이다.
넷플릭스, 왓챠와 같은 OTT, 아마존 등의 쇼핑 사이트, 링크드인이나 페이스북의 친구 추천 등
다양한 방면에서 활용가능한 알고리즘이다.
추천 시스템은 여러 알고리즘을 가지는데 아래와 같이 여러 주제에 따라 분류할 수 있다.
1. Collaborative Filtering
많은 사용자들로부터 얻은 기호정보에 따라 사용자들의 관심사들을 자동적으로 예측한다.
즉, 나와 비슷한 사람들의 기존 구매 정보나 해당 아이템과 비슷한 내역의 similarity를 사용한다.
2. Content-based Recommender
영화의 줄거리, 내용 등의 아이템 특성 (attributes)를 이용한다.
혹은 유저 특성 (attributes), 아이템 이용 히스토리, ratings, user activity, review 등을 이용한다.
3. Knowledge-based Recommender
Item Attributes와 더불어서 domain knowledge를 이용.
이는 User의 구체적인 요구사항과 같다.
대화형 시스템을 통한 feedback loop나 Search base 혹은 네비게이션 베이스로 유저의 구체적인 demand를 파악한다.
4. Contextual Recommender
User의 선호가 시간에 따라 변할 수 있음을 고려한다.
전체적으로 일관된 취향이 같더라도, 단기적으로는 관심사가 바뀔 수 있다.
아이템을 봤던 순서, 샀던 순서, 그리고 Session을 고려한다.
5. Social Recommender
Use social data to improve item recommendation or predict link of social network
6. Group Recommender
특정 그룹의 사람들을 분석하고 그 사람들이 모두 좋아할만한 아이템을 추천한다.
7. Explainable Recommender
설명 가능한 추천 시스템. 이를 위해 KG를 이용하는 모델이 있다.
8. Deep Learning-based Recommender
딥러닝을 이용한 추천 시스템
9. GNN-based Recommender
GNN 구조를 활용한 추천 시스템
10. Multimodal Recommender
서로 이질적인 데이터를 모두 사용한 추천 시스템이다.
예를들어, 영화 포스터, 리뷰, 사용자의 시청 기록을 모두 사용하는 방식이다.
교과서 추천
최신 논문이 아니라 기초적인 내용들에 대해서 알고 싶다면,
Charu C. Aggarwal의 Recommender Systems: The Textbook을 추천한다.
본인은 영어로 봤지만 한글 번역으로 나와있는 것도 확인했다.
References:
Recommender Systems: The Textbook, Charu C. Aggarwal.
Recommender Systems Handbook, Francesco Ricci, Lior Rokach, and Barcha Shapira.
https://developers.google.com/machine-learning/recommendation/collaborative/basics?hl=ko
https://ko.wikipedia.org/wiki/%ED%98%91%EC%97%85_%ED%95%84%ED%84%B0%EB%A7%81
'Recommender Systems' 카테고리의 다른 글
Collaborative Filtering Python Implementation (0) | 2024.04.22 |
---|---|
Basic Collaborative Filtering Models (0) | 2024.04.15 |
Recommender Systems Papers (0) | 2024.02.22 |