프로젝트

프로젝트 회고 (3) 추천 알고리즘 - 장르기반 가중치 추천 알고리즘

뜻 지, 깨달음 오 2022. 12. 6. 19:27

https://gkim1011.tistory.com/75

 

프로젝트 회고 (2) 추천 알고리즘 - 거리 기반 추천 알고리즘

기본적으로 우리 조는 콘텐츠 기반 추천 시스템을 사용하여 유저에게 영화를 추천하려고 했다. 토이프로젝트 특성 상 많은 사용자가 이용할 수 없기 때문에 협업필터링은 별로,,, 안좋을 것 같

gkim1011.tistory.com

첫번째 알고리즘에 이은 두번째 알고리즘이다.

 

첫번째 알고리즘과 마찬가지로, 콘텐츠 기반 추천 알고리즘이다.

영화 디테일 페이지에 접속하면, clicked_movies 배열에 해당 사용자가 클릭한 영화가 담긴다.

이 clicked_movies에 있는 장르와 같은 장르를 가진 영화들에 가중치를 두어 전체 영화에서 추천해준다.

 

내가 클릭한 영화에는 해리포터, 해리포터, 해리포터 와 같이 중복된 영화들이 존재하지만, 

ver2에서는 중복 없는 영화 배열 하나와, 해당 영화를 몇번 클릭했는지 알려주는 bucket 배열이 하나 만들어진다.

내가 클릭한 영화의 장르, 그리고 전체 영화의 장르를 돌면서, 겹치는 장르가 있다면

내가 클릭한 영화의 bucket 값을 새로운 bucket에 더해준다.

 

이렇게 하면 내가 자주 클릭한(= 더 관심있는) 영화와 같은 장르를 가진 영화들은 가중치가 크게 증가하게 된다. 

따라서 추천될 확률이 매우 높아진다.

마지막 가중치 배열을 합이 1이 되게끔 전체 숫자 합으로 나눠주고, 해당 확률을 기반으로 랜덤 추출을 한다.

(랜덤 추출을 하는 이유는 사용자가 새로고침 할 때마다 새로운 영화들이 추천되었으면 좋겠어서-이다.)