欲速不達

일을 급히 하고자 서두르면 도리어 이루지 못한다.

Fantastic AI, Fantastic World

DS | Data Science/RecSys | Recommendation System

[RecSys] 한 눈에 보기 정리 - 3 : Content Based Recommendation System

_껀이_ 2022. 10. 26. 12:25
728x90
반응형

 

Content : 아이템의 성질 및 특성

--->>> 사용자가 특정 아이템을 선호하는 경우, 그거랑 비슷한 Content를 가진 아이템을 추천

 

1. Vectorization

: 아이템 특성을 벡터 형태로 어떻게 표현할지가 중요한 포인트

  1. One-hot encoding
    • 인코딩을 하려고 하는 항목의 수에 따라 On-hot 차원이 달라지기 때문에, 항목 수가 많아지면 차원이 커지고 그만큼 sparse하게 됨 - High Sparsity
  2. Embedding
    • TF-IDF : 다른 문서에는 많지 않고, 해당 문서에서 자주 등장하는 단어에 높은 값을 부여 / 문서를 대표하는 특징 추출
    • Word2Vec : 단어의 의미를 다차원 공간에 벡터화하는 방법을 사용 / 단어 간 의미적 유사성을 벡터화
      • Transdormer의 Attention과 유사

 

2. Similarity

: Vectorization된 아이템이 서로 얼마나 비슷한지 확인하기 위해 사용되는 척도

  1. Jaccard Similarity : 자카드 유사도
    • 아이템을 binary 데이터로 변환
    • 두 벡터의 교집합과 합집합을 구함
    • 계산 속도 빠름
  2. Euclidean Similarity : 유클리드 유사도
    • 거리 기반 유사도
  3. Cosine Similarity : 코사인 유사도
    • 각도 기반 유사도
    • 방향 : -1 정반대 / 0 직교 / 1 같은 방향
  4. Pearson Correlation coefficient : 피어슨 상관계수
    • 선형 상관관계
    • -1~1 범위 / 0은 선형관계가 없다는 의미

 

 

3. Rating Prediction

3-1) Absolute Rating

3-1-1) Average

: 해당 아이템에 대한 다른 유저들의 rating 평균 계산 (단순평균)

 

3-1-2) Weighted Average

: 유저 간의 유사도가중치로 반영하여 평균 (가중평균)

 

3-2) Relative Rating

: 유저가 평점을 주는 기준이 다름 -> Absolute rating에서처럼 rating을 그대로 가져와도 될까??

--> 정규화 필요

  • 모든 rating을 Deviation(편차) 값으로 변형 -> 원래의 rating값이 아니라 deviation 값을 예측
  • 변형된 matrix에서 UBCF 또는 IBCF 실행

::: prediction rating = user's(item's) average rating + predicted deviation

prediction rating
apply similarity

 

4. Content based recommendation 장점 & 한계점

  • 장점
    • 다른 유저 데이터 필요 X : 유저 하나에 대한 아이템끼리 비교하기 때문에 / cold start, sparsity 관계없이 가능
    • 독특한 취향을 가진 유저도 대처 가능 : 아이템을 기준으로 추천하기 때문에
    • 새로운 아이템이나 유명하지 않은 아이템도 추천 가능 : 인기도, 대중성 등과 관련 없이 추천하기 때문에
  • 한계점
    • 아이템에 대한 정보가 부족할 경우, 적합한 feature를 추출하기 어려움
    • 유사한 아이템만 반복적으로 추천될 수 있어 다양성 저하 : 내가 본 아이템과 유사한것만 보여지니까
    • 다른 사용자의 데이터나 사용자의 평가를 반영하기 어려움

 

 

 

728x90
반응형