반응형
2. Content-based Filtering(콘텐츠 기반 필터링)
- 유저가 좋아하는 아이템의 특성을 기반으로 유사한 아이템을 추천해준다. 예를 들여 영화에서도 유사한 장르나 줄거리를 추천해 줄 수 있다.
- 특성: 이전의 기록(구매 기록, 검색 기록 등), 명시적인 피드백(좋아요, 싫어요, 위시리스트)
(1) 유사도
- 구글 플레이스토어를 예시를 들어보겠습니다.
- 특성 행렬(feature matrix)에서 행은 아이템인 앱, 각 열은 특성을 나타낸다. 해당 앱의 특성은 카테고리, 앱 개발자 등의 특성이 있는데 여기에서는 앱의 카테고리로 정하였다.
- 가정: 단순화 하기 위해서 해당 특성 행렬은 0과 0이 아닌 값 만 갖는 이진 값으로 이루어졌다. 0은 해당 특성에 속하지 않는 것이고 0이 아닌 값은 해당 특성에 속한다는 의미이다. 아이템뿐만 아니라 유저도 동일한 특성 공간에 표현해준다. 유저의 명시적인 피드백으로 유저가 선택한 카테고리가 될 수도 있고 비명시적으로 이전에 유저가 다운로드한 기록으로 볼 수 있다.
- 모델이 한 유저에게 추천을 하기위해서는 유사도 척도(cosine, dot product, Euclidean... 등)를 선택해야 한다. 아이템 간의 특성을 기반으로 계산한 유사도를 기반으로 각 후보에게 점수를 준다.
- 위의 예시를 간단한 내적으로 계산해 본다면 해당 유저에게는 교육 카테고리이면서 Science R Us , Healthcare 앱을 설치한 기록이 있어 해당 값들이 높은 값을 갖는다. 그중에서 교육 카테고리인 Science R Us가 가장 우선순위로 추천된다. 내적 값이 높을수록 더 많은 특성을 나누고 있기 때문에 유사도가 높아지게 된다.
- 내적(dot product) : \(⟨x,y⟩=∑_{i=1}^{d}x_iy_i\)
(2) 장단점
장점
- 사용자에 대한 정보가 없는 상황에서 적합하다. 추천시스템은 해당 유저에게만 적합하기 때문이다.
- 유저의 특정 관심사를 포착 가능하고 다른 유저들이 관심이 없는 아이템이라도 추천된다.
단점
- 아이템의 feature representation 은 어느 정도 직접 엔지니어링을 하기 때문에 도메인 지식이 필요하다. 그렇게 해야지 모델의 성능이 좋아진다.
- 유저의 현재 관심을 기반으로 추천하기 때문에 유저의 관심 이상으로 추천이 힘들다. 아이템 간의 유사성을 기반하는 데에는 추천해주는 것은 계속 비슷한 아이템만 추천해주기 때문이다.
- 위의 예로 계속 교육 카테고리에서 비슷한 추천만 나올 것이다.
출처
반응형
'Data > ML' 카테고리의 다른 글
[MLOps] A Chat with Andrew on MLOps: From Model-centric to Data-centric AI(모델 중심 (0) | 2022.03.21 |
---|---|
추천 시스템(Recommender System)- 3. Collaborative Filtering(협업 필터링) (0) | 2022.02.06 |
추천 시스템(Recommender System)- 1. 개요 (0) | 2022.02.04 |
TensorFlow.js 소개 및 Python 모델 변환 (0) | 2022.01.18 |
Deep Learning(딥러닝) - 4.오차역전파(Error Backpropagation) (0) | 2021.10.17 |