안녕하세요 오니입니다.🍀
이번 포스팅에서는 현재 진행하고 있는 개인화 맛집 추천 시스템 프로젝트 소개 및 구현 과정에 대해 공유하고자 합니다.
완성도 있는 글을 쓰고 싶었으나.. 수집 식당의 갯수가 10만개 이상임을 고려했을 때 포스팅 1-2개로 끝날 일이 아닌 것 같아 (임시저장글에서 오랫동안 탈출하지 못할 것 같아) 시리즈물로 작성해보려합니다.
프로젝트 소개
- 개인화의 정의는 사용자 개인의 취향과 상황에 따라 식당을 다르게 추천하는 것으로 정의합니다.
- 보통 식당에 갈 때, 방문 목적/동행인과 희망 음식종류에 따라 식당을 찾고 선택한다는 점을 고려하여, 이를 고려한 맛집 추천 시스템 구축을 목적으로 합니다.
수집데이터
- 수집데이터는 크게 식당 정보 데이터와 리뷰데이터입니다.
- 리뷰데이터의 경우 리뷰어가 작성한 총 리뷰 수, 리뷰어의 평균 평점, 해당 리뷰의 평점, 리뷰 내용, 리뷰 작성 날짜,작성자 닉네임, 리뷰어 배지등급, 배지레벨입니다
고려사항
- 별점, 믿을만한가?
-
- 보통 추천 여부를 모델링 할 때 종속변수 y를 별점으로 설정하게 되는데요. 별점의 문제점은 크게 1. 개개인마다 만족의 기준이 다르다. 2. 실제 만족/불만족이 별점의 의미와 이어지지 않는 경우(불만족하였으나, 글의 상단에 올리려고 의도적으로 높게 주는 경우 등) 가 있습니다.
- 첫번째 문제에 대한 대응방안으로는 리뷰어 개개인의 평점평균보다 높으면 긍정, 낮으면 부정을 취하는 방안인데요. 이 방법은 1개만 남긴 유저는 어떻게 처리할 것인지에 대한 추가논의가 필요합니다.
- 두번째 문제에 대한 대응방안으로는 리뷰 데이터, 사용자의 활동지수 등을 반영한 새로운 평가 지표를 고려하는 것입니다.
- 거리
-
- 식당의 갯수가 많기는 하지만, 방문에 있어서 또 중요한 고려요소가 거리인데요. 이 정보는 candidate를 생성하는 중요한 정보로도 활용이 될 수 있습니다. 아무리 취향에 쏙 드는 식당이라고 해도 전국을 대상으로 추천해주기는 곤란하니까요!
- 모델 평가
- 이전에 수행했던 건강디저트 추천 시스템과 크게 다른 점은 건강디저트 추천 시스템의 경우 리뷰 데이터는 일부이고 해당 플랫폼 서비스 내의 유저를 위주로 분석 및 모델링을 진행했고, 해당 프로젝트는 카카오맵의 식당 리뷰 데이터를 크롤링한 데이터를 사용하여 추천시스템을 구축하는 점입니다. 이번 맛집 추천 시스템 프로젝트의 경우는 데이터양은 더 많지만, 모델 평가를 하고 성능 평가를 하는 기준에 대한 고려가 더 필요합니다.
- 리뷰데이터
- 방문 목적/동행인과 희망 음식종류를 고려한 맛집 추천시스템을 만든다면 이에 대한 학습이 충분히 이루어져야 하는데요. 이 과정에서 리뷰데이터가 유용하게 활용될 수 있습니다.
- 리뷰데이터 전처리는 코너속의 코너일정도로 귀찮기도 하고 어렵지만 중요한 영역입니다. 굉장히 변화구가 많은 비정형데이터인만큼 퀄리티있는 전처리 작업이 필요합니다.
- 영어로 작성된 리뷰의 경우 단순히 날려버릴 지, 별도의 번역을 하고 활용을 할지도 변수입니다. 영어리뷰의 비중(미치는 영향력)에 따라 처리방식이 달라질 것입니다.
해당 프로젝트에서는 리뷰데이터 전처리쪽에 대한 고민을 많이 하게 될 것 같습니다. 리뷰로 맛을 읽는 앞으로의 상세한 고민 및 여정에 대해 기록해보도록 하겠습니다. 🍀
'추천시스템' 카테고리의 다른 글
추천시스템 협업필터링 Memorial Based:유사도 계산 방식 및 surprise 패키지를 활용한 평점 예측 방법 (1) | 2025.02.02 |
---|---|
[빵그리의 오븐 추천시스템 구축기]4.상품 메타데이터 기반 유사상품 추천 (4) | 2024.12.21 |
[빵그리의 오븐 추천시스템 구축기]3.사용자 데이터 분석 기반 메인 홈화면 상품 추천 (1) | 2024.11.24 |
[빵그리의 오븐 추천 시스템 구축기]2.메인 홈화면 상품 추천을 위한 테스트 설계 과정 (3) | 2024.11.10 |
[빵그리의 오븐 추천 시스템 구축기]1. 도전의 시작과 어려움 (feat. 유저 데이터 부족) (8) | 2024.10.13 |