Data/추천시스템

추천시스템이란?

빛날희- 2022. 3. 23. 18:14

해당 포스팅은 NAVER BOOSTCAMP RECSYS 트랙의 교육자료와 강의를 참고하여 정리한 글입니다.


추천시스템 개요와 평가지표

해당 포스팅에선 추천시스템은 무엇이고 어떤 지표로 성능을 평가하는지에 대해 정리해보고자 한다! 

 

 

1. 추천시스템이란?

  • 정의: 유저가 굳이 검색하지 않더라도 유저에게 맞는 아이템을 push해줄 수 있는 시스템
  • 필요성: 정보의 양이 넘치면서 유저가 정보를 찾는데 시간이 오래 걸리기 때문에 유저가 원하는 것을 빠르게 찾을 수 있는 추천시스템이 필요해졌다.
  • Long Tail Recommendation: Popular products를 추천하는 것을 넘어 개인화된 상품까지 추천하는 시스템
    • 유튜브 영상 추천(조회수는 적지만 시청한 영상과 관련된 영상 추천)

 

 

2. 추천 시스템 사용데이터

 

추천시스템에서 사용하는 데이터는 다음 세가지로 분류할 수 있다. 

  • 유저 관련정보
    • 유저 프로파일링: 유저에 관련된 정보를 구축
    • 식별자: 유저ID, 디바이스 ID 등
    • 데모그래픽 정보: 성별, 연령, 지역, 관심사 등 (추정을 통해 선정하기도 한다)
    • 유저 행동 정보: 페이지 방문기록, 구매 등을 기록
  • 아이템 관련 정보
    • 추천 아이템의 종류(도메인 마다 굉장히 달라진다)
    • 아이템 프로파일링: 아이템 ID, 아이템 고유 정보
  • 유저-아이템 상호작용 정보
    • 유저가 오프라인 혹은 온라인에서 상호작용할 때 남겨진 로그
    • Explicit feedback: 유저에게 아이템에 대한 만족도 직접 물어봄
    • Implicit feedback: 유저가 아이템을클릭하거나 구매한 경우

 

 

3. 추천시스템 문제 정

  • Ranking: 유저에게 적합한 k개의 아이템 추천
    • 상위 k개의 상품을 고르면 되기 때문에 유저가 아이템에 가지는 정확한 선호도 스코어를 구할 필요는 없다.
    • precision@k, recall@k, map@k, nDCG@k
  • 예측: 유저가 아이템을 가질 선호도(평점이나 구매확률)를 정확히 예측
    • explicit feedback의 경우, 콘텐츠에 내릴 평점 값 예측
    • implicit feedback의 경우, 콘텐츠를 조회하거나 구매할 확률 예측
    • MAE, RMSE, AUC

 

 

4. 추천시스템의 평가지표

  • 비즈니스/서비스 관점
    • 매출, pv증가
    • 유저의 CTR(노출 대비 클릭수) 상승
  • 품질관점
    • 연관성: 추천 아이템이 유저와 관련있는지
    • 다양성: 다양한 top-k의 아이템이 추천되는지
    • 새로움: 얼마나 새로운 아이템이 추천되고 있는지
    • 참신함: 유저가 기대하지 못한 뜻밖의 아이템이추천되는지(연관성과 충돌될수도)
  • Offline Test : 새로운 추천 모델을 검증하기 위해 우선적으로 수행되는 단계로, 유저로부터 수집한 데이터를 대상으로 데이터 셋을 나눠 객관적 지표로 평가한다. 그러나 오프라인 테스트에서 좋은 성능을 보여도 실제 서비스에서는 다양한 양상을 보일 수 있다.
    • serving bias: 온라인 환경에서는 user에 의해 발생된 데이터가 다시 model을 통해 반복학습되기 때문에 새로운 모델로 계속 수정된다. 이러한 현상으로 인해 오프라인 환경과 온라인 환경의 추천 모델은 다른 양상을 보이는 serving bias가 나타나게 된다.
  • Score
    • Precision@ k: 추천한 K개 아이템 중 실제 유저가 관심있는 아이템의 비율이다.
    • Recall@k: 유저가 관심있는 아이템 중 추천한 아이템의 비율
    • AP@k: precision@1부터 precision@k까지의 평균값으로, 관련 아이템을 더 높은 순위에서 추천할 수록 점수가 상승한다.
    • MAP@k: AP값의 평균
    • Normalized Discounted Cumulative Gain: Top K리스트에서 유저가 선호하는 아이템을 비교하여 값을 구한다. MAP@k와 마찬가지로 추천 순서에 따라 부여되는 가중치값을 달리하기 때문에 관련아이템이 상위에 존재할 수록 좋은 성능을 보인다. 1에 가까울수록 좋다. MAP와 다른 점은 이진 값이 아닌 수치로 사용할 수 있기 때문에 상위에 추천된 아이템이 유저와 얼마나 더관련있는 아이템인지 알 수 있다.
      • Cumulative Gain: 상위 k 아이템에 대한 관련도를 합한 것이다.
      • Discounted Cumulative Gain: 순서에 따라 cumulative gain을 discount한다.
      • Ideal DCG: 이상적인 추천이 일어났을 때의 DCG값이다.
      • Normalized DCG: DCG/IDCG
  • Online Test: Offline test에서 검증한 가설이나 모델을 이용해 실제 추천 결과를 서빙하는 단계로, 트래픽을 나눠 환경이 최대한 동일한 대조군 A와 실험군 B의 성능을 평가하는 테스트이다. 대부분 현업에서는 모델 성능이 아닌 매출이나 CTR등의 비즈니스/서비스 지표로 평가된다.