본 포스팅은 Fastcampus 강의를 수강하며 일부 내용을 정리한 글임을 밝힙니다. 보다 자세한 내용은 아래 강의를 통해 확인해주세요.
참고 : Fastcampus 딥러닝을 활용한 추천시스템 구현 올인원 패키지 Online
추천시스템과 추천 알고리즘
둘의 밀접한 관계
- 추천시스템: 아이템 바탕으로 어떤 추천을 할지, 플랫폼 상에서 유저에게 추천 결과를 어떻게 보여줄지 전체 시스템을 총괄하는 것
- 추천 알고리즘: 아이템 Pool(전체) > 특정 후보군 생성 > 후보군 바탕으로 Intentions or Filtering > Ranking
1. Contents-based Recommender System(컨텐츠 기반 추천시스템)
사용자가 과거에 좋아했던 아이템 파악 후 그 아이템과 비슷한 아이템 추천
- 특정 문서들에서 유저가 과거에 접했고 만족했던 아이템 점수화
- 유저가 좋아했던 아이템 중 일부/전체와 비슷한 아이템 선정
- 이때 아이템 간의 점수, 유저-아이템 간의 프로파일링을 통해 아이템 선정
- 선정된 아이템을 유저에게 추천
2. Collaborative Filtering(협업 필터링)
비슷한 성향/취향을 가진 다른 유저가 좋아한 아이템을 현재 유저에게 추천하는 것 ➡️ 간단하면서도 수준 높은 정확도 나타내 많이 사용됨
- 유저 A와 유저 B 모두 같은 아이템에 대해 비슷한/같은 평가를 했다
- 이때, 유저 A는 다른 아이템에도 비슷한 호감 나타냄
- 따라서 유저 A, B의 성향은 비슷할 것이므로 다른 아이템을 유저 B에게도 추천
3. Hybrid Recommender System
- Content-based와 Collaborative Filtering의 장단점 보완 (Combined RS ➡️ Output)
- Collaborative Filtering은 새로운 아이템에 대한 추천 부족
-
유저 A, B가 동일하게 좋아했어야하고 유저 A가 좋아하는 후보군을 추천해주는 것이므로 특정 후보군이 정해져있을 수 밖에 없다
➡️ Content-based 기법이 Collaborative Filtering의 cold-start 문제에 도움 줄 수 있음
4. Other Recommendation Algorithms
- Context-based Recommendation
- Context-aware Recommendation System: 해당 context와 비슷한 context 활용하여 추천시스템 구성
- Location-based Recommendation System: 유저가 어떤 위치에 있는지에 따라
- Real-time or Time-Sensitive Recommendation System: 시간의 변화에 따른 추천시스템
- Community-based Recommendation
- 사용자의 친구 또는 속한 커뮤니티의 선호도 바탕으로 추천
- SNS 등의 뉴스피드, SNS 네트워크 데이터 활용
- Ex) 인스타그램에서 어떤 팔로워를 팔로잉하거나 어떤 커뮤니티에 속해있는지 등의 정보 활용하면 더 좋은 추천시스템 구축 가능
- Knowledge-based Recommendation
- 특정 도메인 지식 바탕으로 아이템의 features를 활용한 추천
- Case-based Recommendation
- 사용자의 니즈(현재 문제 등)와 해결책 중 가장 적합한 것 골라서 추천
- 특정 상황에서 특정 사건에 맞게 추천할 수 있다는 것이 주요 특징
- Constraint-based Recommendation
- 사용자에게 추천할 때(추천 알고리즘 통해 점수 계산 후 리스트가 나왔을 때) 정해진 규칙 바탕으로 추천
Review
이미지 출처: Fastcampus 딥러닝을 활용한 추천시스템 구현 올인원 패키지 Online