프로젝트 정리/소프트웨어 응용

Recommendation System with SGD

여기에는 현재 소프트웨어 응용 과목에서 진행중인 '추천 엔진 만들기' 프로젝트의 잔행상황을 기록할 것이다.

 

추천엔진의 기본 골자 Stochastic Gradient Descent 기법을 이용한 CF로 이루어져 있다. 추천엔진은 관리자 모드와 사용자 모드, 이렇게 두 가지의 모드를 가지고 있다. 관리자 모드는 다음과 같은 기능을 수행한다.

 

 

  • 예측 평점 행렬을 구하는 기능
  • 시스템에 저장되어 있는 예측 평점 행렬을 불러오는 기능
  • SGD 수행 과정에서 기록된 RMSE를 그래프로 보여주는 기능
  • 현재 저장되어 있는 예측 평점 행렬을 보여주는 기능

 

사용자 모드에서는 사용자가 아이디와 추천 받을 상품의 갯수를 입력하면 사용자에게 해당 갯수만큼 아이템을 추천해주는 기능을 가지고 있다. 앞으로 추가 예정인 기능들은 이러한 것들이 있다.

 

 

  • 추천 목록 옆에 각 상품들을 추천한 이유 (기존에 사용자가 높게 평가한 상품과 어느정도 유사한지) 를 보여주는 기능
  • 사용자가 추천을 받은 뒤 특정 상품이 마음에 들지 않으면 그 상품과 그 상품들을 추천 리스트에서 제거하는 기능
  • 사용자가 특정 키워드를 입력하면 그에 맞는 상품들을 추천해주는 기능

 

 

이 기능들을 추가하려면 각 상품들의 profile을 만들어야 하는데, 이는 TF-IDF 방식으로 수행할 수 있을 것 같다. 제출 기한까지 이러한 기능들이 전부 구현될 수 있으면 좋을 것 같다.