Content Based Recommendation System(컨텐츠 기반 추천 시스템)
Content Based Recommendation System, Content Based Filtering 이라고도 부르는 컨텐츠 기반 추천 시스템은 Item에 대한 세부 정보를 토대로 User가 과거에 소비했던 Content와 유사한 Content를 추천하는 시스템입니다
이전에 높게 평가했던 Content와 가장 유사한 Content를 추천합니다
분석 과정
- 이미지, 자연어, 태그 등 데이터에서 해당 Item을 설명할 수 있는 특징을 Vectorization(벡터화)
- 이미지 : CNN, ResNet, VGG 등등
- 자연어 : TF - IDF, Word2Vec, BERT 등등
- Vectorization 후 벡터 간의 Similarity(유사도)를 계산하여 아이템을 추천
- Euclidean, Cosine, Jaccard, Pearson, Pearson-baseline Similarity
장단점
- 장점
- 다른 사용자의 데이터가 존재하지 않더라도 신규 사용자에게 추천이 가능하다
- 추천하는 콘텐츠에 대한 근거 제시가 가능하다
- 새로 추가된 콘텐츠나 유명하지 않은 콘텐츠 추천이 가능하다
- 단점
- 사용자가 과거에 흥미 있거나 관심을 가진 콘텐츠를 제공하지 않으면(이전 정보가 없으면) 추천이 어렵다
- 콘텐츠 특성 정보간 유사도를 토대로 추천하기 때문에 이미 알고 있는 유사한 콘텐츠만을 추천한다
예시
5가지 영화의 장르에 대한 특징이 정의되어있다고 가정하겠습니다
1. Vectorization
아래 그림처럼 영화 장르의 정보를 Vectorization하여 Rating Matrix를 만듭니다
2. Similarity 계산
벡터화 된 Rating Matrix를 기반으로 계산한 Cosine Similarity입니다
만약 User가 "Titanic"영화를 보았고 타이타닉과 유사한 영화를 추천하고자 한다면 Similarity를 기반으로 추천을 할 수 있습니다
반응형