- Business problem solving, Data science, Data engineering
- 입력 (데이터 입력), 프로세스 (추천 설계), 출력 (추천 결과 제시)
- Content: 책의 제목, 저자, 장르 등 아이템의 내용을 나타내는 정보
- Interaction: 과거 구매 이력 등 서비스 내에 있는 다른 사용자의 과거 행동 등을 통해 얻어진 기호 경향
- 개요 추천 (개인화 없음): 높은 인기 순, 낮은 가격 순 등 모든 사용자에게 동일한 내용 제시
- 연관 아이템 추천: 각 아이템 사이의 유사도를 활용 (e.g., "이 아이템을 확인한 사람은 이런 아이템도 확인했습니다")
- 개인화 추천: 사용자의 프로필이나 행동 이력을 기반으로 각 사용자에게 맞춰 추천하는 것
- 과제 정의
- 가설 수립
- 데이터 설계/수집/가공
- 알고리즘 선정
- 학습/파라미터 튜닝
- 시스템 구현
- 평가 및 개선
- Content-based Filtering
- User profile과 item feature (content)간의 유사도를 계산하여 추천하는 알고리즘
- 이점: 콜드 스타트, 사용자 수가 적은 서비스, 커버리지 (추천할 수 있는 아이템이 제한되고 편향될 떄), 아이템의 특징 활용
- Collaborative Filtering
- Interaction 정보를 사용하는 추천 알고리즘. 아이템의 구체적인 속성 정보 등을 사용하지 않음
- Memory-based Filtering: 추천 시 매번 모든 데이터에서 비슷한 사용자나 아이템을 찾은 뒤 예측
- 장점: 운용성 (항상 최신 데이터)
- 단점: 예측 시간
- Model-based Filtering: 이미 알고 있는 데이터의 규칙성을 학습한 모델을 통해 모르는 아이템의 평갓값을 예측
- 장점: 예측 시간
- 단점: 운용성 (모델 업데이트)
- Memory-based Filtering: 추천 시 매번 모든 데이터에서 비슷한 사용자나 아이템을 찾은 뒤 예측
- Preference data: 사용자로 부터 얻은 아이템에 대한 선호
- Explicit feedback
- Implicit feedback
- 이점: 추천 결과의 다양성, 책의 장르나 출판사 혹은 나이 등 도메인 정보를 관리하는 비용
- Interaction 정보를 사용하는 추천 알고리즘. 아이템의 구체적인 속성 정보 등을 사용하지 않음
MovieLens 10M dataset: https://grouplens.org/datasets/movielens/10m/
- Precision@K: 사용자에게 K개의 아이템을 추천했을 때 그중 실제로 선호하는 아이템의 비율이 얼마나 되는지
- Recall@K: 사용자에게 K개의 아이템을 추천했을 때 사용자가 선호하는 아이템 그룹 중 몇 개 맞았는지