-
[Pickmeup Web Project] 간단하게 핫한 태그 추천 알고리즘 만들기(1)Backend/Spring 2020. 7. 18. 19:27
Pickmeup project가 시작됐다!
Pickmeup
- 기획
- 대학생들을 대상으로 한 협업 구인 플랫폼
- 기능
- 프로젝트 관련
1. 유저는 하고 싶은 프로젝트 등록 가능 (제목, 본문(해쉬태그 포함) 등 작성 가능)
2. 신규 프로젝트, 인기 프로젝트 두 가지의 정렬
- 포트폴리오 관련
1. 유저는 본인의 포트폴리오를 업로드할 수 있음
2. 유저는 다른 유저들의 포트폴리오도 자유롭게 볼 수 있음
- 해쉬태그 관련
1. 인기 해쉬태그를 볼 수 있음
다른 것은 기존 스프링 프로젝트 했던 것과 크게 다르지 않아서 막히지 않을 것 같은데
인기 해쉬태그 보여주는 알고리즘은 처음 해본다.
이번 주에 프론트 개발자분들에게 프로젝트 페이지 api를 배포하고 공유 드려야해서
일단 간단하게 스코어링해서 정렬해보려고 한다.
인기 해쉬태그 알고리즘
사실 알고리즘이랄 것도 없는 아주 아주 간단한 방법..
유클리디안 거리점수를 활용하려고 한다.
스코어링에 사용할 파라미터는 총 3가지이다.
1. 해당 해쉬태그가 몇 개의 프로젝트 게시물에서 사용됐는지
2. 해당 해쉬태그를 사용한 각 게시물의 조회수
3. 해당 해쉬태그를 사용한 각 게시물의 댓글수
파라미터를 정리하고 보자마자 생각난 것은
세 가지 축을 지닌 3차원 공간에서의 점으로 게시물을 나타내자는 것
이후 원점과의 거리가 멀 수록 큰 점수를 얻게 할 거다.
하나 주의할 점은
각 파라미터의 값의 스케일이 매우 차이가 날 수 있으므로 Normalization(정규화)이 필요할 것이다!
Normalization
정규화 식
(측정값 - 최소값) / (최대값 - 최소값)
3개의 파라미터 값들을 0~1 사이의 값으로 정규화하고 나서
유클리디안 거리 점수를 사용하기로 한다.
'Backend > Spring' 카테고리의 다른 글