어떤 식으로 구현할 것인가?

기본적으로는 랜덤 추천 방식이다. 그러나 맞춤형 추천을 구현하기 위해 각 항목에 대해 가중치를 부여하는 방식을 채택한다. 리셋 값은 모두 동일한 가중치를 부여 받고, 사전 설문과 리뷰 응답에 따라 가중치를 다르게 부여, 랜덤 추천하여 맞춤형 추천을 할 수 있도록 한다.

예시)

Untitled

어떤 프로세스를 통해서 추천할 것인가?

구분 된 낚시 방법은 총 4개이다. 각 낚시 방법에 맞는 어종이 분류된 DB가 있고, 각 어종을 어떤 실제 위치에서 잡을 수 있는지 역시 DB에서 확인 가능하다. 결과적으로 낚시 방법 → 어종 → 실제 위치 순으로 필터링 되어가며 추천 범위를 줄이고, 가중치에 따라 랜덤으로 추천 된다.

예시) 가중치에 따른 랜덤 추천으로 릴 낚시가 선택 되면 → 릴 낚시로 잡을 수 있는 어종이 필터링 될 것이고, 이 중에서 가중치에 따라 랜덤으로 어종이 선택 되면 → 마지막으로 어종에 따라 해당 어종을 잡을 수 있는 실제 위치가 필터링 될 것이다. 이 상태에서 실제 위치까지 추천 하면 끝.

가중치 부여에 대한 건

가중치에 영향을 주는 항목은 두 가지 이다. 우선 사전 설문에서 ‘어종(10종)’과 ‘낚시 방법(4가지)’에 대한 선호도를 물어보고, 가중치를 부여한다. 두 번째로는 리뷰이다. 일정 후에 리뷰를 통해 ‘낚시 방법(4가지)’과 ‘실제 위치(다수)’에 대한 선호도를 물어보고, 해당 응답에 따라 가중치를 부여한다.

결론

추천 알고리즘은 단순하다.

  1. 낚시 방법에 따라 잡을 수 있는 어종이 다르고, 어종에 따라 잡을 수 있는 실제 위치가 다르기 때문에 이에 대해 필터링으로 추천 범위를 좁힌다.
  2. 사전 설문과 리뷰 기능을 통해 가중치를 부여하고, 기본적으로는 랜덤 추천이나 해당 가중치에 따라 선호도가 높은 항목이 추천 받을 가능성을 높게 한다.