기본적으로 우리 조는 콘텐츠 기반 추천 시스템을 사용하여 유저에게 영화를 추천하려고 했다.
토이프로젝트 특성 상 많은 사용자가 이용할 수 없기 때문에 협업필터링은 별로,,, 안좋을 것 같았다. (개인적인 생각)
콘텐츠 기반 추천 알고리즘이라 하면
사용자가 과거에 선호한 상품과 유사한 상품을 추천하는 것이다.
우리 조는 영화 디테일 페이지에 방문했다면, 기본적으로 관심이 있는 영화일것이다- 라는 생각을 가지고 알고리즘을 설계했다.
처음에 회원가입을 하고 메인페이지로 가면,
제일 상단에 영화를 클릭해야지 추천을 받을 수 있다는 안내가 뜬다.
영화를 클릭한 후 (해당 영화의 디테일 페이지를 방문한 후)
다시 메인페이지로 나오면
1번 알고리즘인 유클리디안 거리 기반 알고리즘 추천 영화가 뜬다.
2차원 평면에서 유클리디안 거리를 구하는 공식은 다음과 같다:
(그냥 두 점 사이의 거리 공식이랑 똑같다)
이때,
유사할수록 점 사이의 거리가 가깝다-라는 논리를 적용했다.
아래 그래프에서 보면 더 잘 이해할 수 있다.
x,y가 유사한 영화들끼리 3개 그룹이 형성된 것을 확인할 수 있다.
우리 조는 vote_average 와 popularity 라는 수치형 인자를 각각 x, y로 만들었다.
그 다음, 아까 유저가 클릭한 영화랑 유클리디안 거리가 제일 작은 영화 30개를 추출해서 메인페이지에서 추천했다.
내가 만약에 별로 유명하지도 않고 평점도 안좋은 (약간 마이너한?) 취향이라면
그러한 영화들만 추천해주고
난 유명하고 평점좋은 것들만 본다 하면 그런 영화들만 추천해주는 방식이다.
일주일이라는 짧은 시간동안 한 프로젝트였기 때문에,
통계학적인 유사도를 사용할 수 있는 알고리즘 설계 방법중에 가장 간단한 알고리즘으로 설계하였다.
'프로젝트' 카테고리의 다른 글
[프로젝트 회고] Buddiary: 취향 기반 일기 작성 및 교환일기 친구 매칭 사이트 - 내가 맡은 기능, 배운점 and 아쉬운점 (0) | 2023.05.22 |
---|---|
JWT 전체 사이트/기능 (0) | 2022.12.27 |
프로젝트 회고 (3) 추천 알고리즘 - 장르기반 가중치 추천 알고리즘 (1) | 2022.12.06 |
프로젝트 회고 (1) 설계, 협업 프로세스 (0) | 2022.11.25 |