728x90
추천 시스템 Architecture
추천 시스템이란?
사용자나 서비스에 필요한 바를 잘 정의하고, | 요건 |
다양한 데이터를 수집하고 활용하여, | 데이터 |
적절한 방식을 통해 아이템의 적합도를 계량하여 | 모델 |
계량 방식 | |
적절한 방식으로 제공하는 작업 | UX/UI |
--> 어떤 요건에 맞춰 어떤 데이터를 활용해 어떤 모델을 이용해서 어떤 방식으로 계량하는가?
요건 | 데이터 | 모델 | 계량 방식 |
l Best l Related l Personalized l Context-aware |
l Explicit l Implicit |
l CBF l CF l Hybrid |
l Rating Prediction l Top-K Rec. |
추천 시스템 분류
추천 요건에 따른 분류
- Best : 전체 중에서 가장 잘팔리는 거. 베스트셀러를 생각하자
- Best 지표에 따라 다양한 추천 결과가 생성된다.
- 이력이 없는 신규 사용자에게도 추천 가능
- 추천 결과가 없는 경우에 보완해주는 역할
- 다른 추천의 score와 best score를 합산하여 최종 score 생성
- Related: 최근 구매한 상품에 따른 score
- 대체제 : 서로 대신 쓸 수 있는 관계의 두 가지의 재화
- 갤럭시 - 아이폰 // 콜라 - 사이다
- 상품 페이지에서 표기
- 보완제: 서로 보완 관계에 있는 재화
- 갤럭시 - 핸드폰 케이스 // 와인 - 치즈
- 장바구니에서 표기
- 대체제 : 서로 대신 쓸 수 있는 관계의 두 가지의 재화
- Personalized : 사람에 따른 score
- 사용자별 개인화된 세밀한 추천 결과 제공
- 사용자 입장에서 본인에게 큐레이션 된 서비스를 제공
- 사용자의 이력 데이터가 풍부해야 좋은 추천 결과 제공이 가능
- Context-aware : 상황에 따른
- e.g. 오늘 날씨가 오던지 // 갑자기 코로나가 터져서 마스크가 잘팔리는 경우
Feedback 데이터에 따른 분류
- Explicit Feedback
- 사용자의 아이템에 대한 명시적 성호 정보를 가진 이력
- 예. rating 이력
- 데이터 수집이 어려우며, 사용자들이 내 자취를 남기는 것을 꺼려함
- Implicit Feedback
- 사용자의 아이템 소비 이력
- 사용자의 아이템에 대한 선호도를 명확히 알기 어려움
- 상호 보완적으로 활용 가능
모델에 따른 분류
- 추천 알고리즘의 Basic Element
아이템 인기도 | 아이템-아이템 유사도 | 사용자-아이템 선호도 | 사용자-사용자 유사도 |
- Content-based Filtering/Recommendation(CBF) : 아이템의 속성에 기반하여 추천
- Collaborative Filtering(CF) : 사용자들의 행동 이력을 기반으로 추천
- Hybrid Recommendation : CF + CBF
Best | Related | Personalized | |
Content-based | 해당 아이템의 속성이 비슷한 아이템 | 사용자의 선호 속성과 유사한 아이템 | |
Collaborative | 다수의 사용자가 선호하는 아이템 | 해당 아이템과 같이 조회/구매/평가된 아이템 추천 | 사용자와 이력이 비슷한 사용자가 선호하는 아이템 추천 |
Hybrid Recommendation | 특정 카테고리의 다수 사용자가 선호하는 아이템 | 아이템 속성 + 다수의 사용자가 같이 조회/구매/평가된 아이템 추천 | 사용자와 선호 속성이 유사한 사용자가 선호하는 아이템을 추천 |
장단점
장 점 | 단 점 | |
Content Based Filtering | No item cold start Problem | User cold start problem Requires contents for item Burden for content processing less Diversity |
Collaborative filtering | No item content required Better prediction Accuracy |
item & user cold start problem data sparsity(데이터 부족할 수 있음) Scalability(확장성의 부족) Shilling Attack(봇을 활용한 악성 공격으로 추천 시스템을 헷갈리게 할 수 있음) |
계량 방식에 따른 분류
점수 예측(Rating prediction)
- 사용자의 아이템에 대한 선호 점수를 예측
- 사례. Netflix Prize
- Matrix Completion Problem - 사용자가 아직 점수를 부여하지 않은 경우에 어떻게 채워야 할지에 대한 문제
Top-K Recommendation
- 선호 점수에 기반한 아이템의 Ranking이 중요
- 선호 점수를 잘 예측할 필요는 없음?
728x90
'정리 > Machine Learning' 카테고리의 다른 글
[FastCampus The RED 추천시스템] 추천 시스템을 돌릴 때 고려사항 (0) | 2021.11.10 |
---|---|
[FastCampus The RED 추천시스템] 추천 시스템 성능평가 (0) | 2021.11.10 |
[deeplearning] dataset & DataLoader (0) | 2021.11.09 |
[kaggle - Google Brain - Ventilator Pressure Prediction] 4. predict, deploy, utility, etc (0) | 2021.11.09 |
[kaggle - Google Brain - Ventilator Pressure Prediction] 3. compiling model ~ fit model (0) | 2021.11.08 |