AI 기반 개인 맞춤형 요리 레시피 추천 시스템입니다. 사용자의 평가 데이터를 바탕으로 취향에 맞는 레시피를 추천하며, 다양한 알고리즘을 결합해 정확도를 높였습니다.
- 주요 목표
-
사용자의 기호를 반영한 개인화 추천 기능 구현
-
재료, 조리 시간, 태그 등 레시피 속성 정보를 활용
-
식사 결정의 수고를 덜고, 추천 품질을 높이는 AI 시스템 구축
Python 3, Jupyter Notebook (Google Colab)
1. RAW_recipes.csv
-
레시피 고유 ID (id), 요리명 (name), 조리 시간 (minutes)
-
재료 목록 (ingredients), 조리 단계 (steps)
-
영양소 정보 (nutrition), 태그 (tags) 포함
2. RAW_interactions.csv
-
사용자-레시피 간 상호작용 정보
-
user_id, recipe_id, rating(1~5), 작성일자 및 리뷰 텍스트 포함
-
평점 누락/이상값 제거 및 사용자별 최소 평가 수 기준 필터링
-
조리 시간 및 영양 데이터 정규화
-
텍스트 정보(Tags, Steps, Ingredients)를 TF-IDF 기반 벡터로 변환
-
레시피별 요약 정보 추출 및 병합
1. 콘텐츠 기반 추천 (Content-Based)
-
레시피 자체의 유사도를 기준으로 추천
-
TF-IDF + Cosine Similarity를 사용해 텍스트 기반 유사도 계산
-
사용자가 선호한 레시피와 비슷한 항목을 추천
2. 협업 필터링 (Collaborative Filtering)
-
사용자 간 평점 패턴의 유사도를 통해 추천
-
KNNBasic 모델을 사용하여 최근접 사용자 기반으로 예측
3. 하이브리드 추천
-
두 추천 방식의 점수를 조합하여 더 정교한 추천 구현
-
cold-start 문제 대응 및 예측 정밀도 향상
-
사용자별 Top-N 추천 리스트를 생성하여 테스트
-
콘텐츠 기반 추천은 새로운 사용자나 레시피에 유리
-
협업 필터링은 평가 수가 많은 사용자에게 높은 성능
-
하이브리드 방식이 전반적으로 가장 안정적인 추천 품질 제공
-
사용자가 보유한 재료 기반의 레시피 추천 기능 추가
-
알레르기, 식단 제한 등을 반영한 필터링 기능 확장
-
웹 기반 인터페이스로 사용자와의 상호작용 강화
-
식단 관리 어플리케이션, 실제 식자재 쇼핑몰/푸드 플랫폼과 연동 가능
주요 라이브러리:
pandas, numpy, scikit-learn, surprise
matplotlib, seaborn, nltk