Skip to content

jiminseon/AI_RecommenderSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

EmoDiary 🎵📔

감정 기반 개인화 맞춤형 플레이리스트 및 일기 회고 추천 서비스




📌 프로젝트 소개

EmoDiary는 사용자의 감정을 분석해 맞춤형 음악 플레이리스트를 추천하고, 생성형 AI로 오늘의 감정을 표현한 캐릭터 일러스트회고를 돕는 일기 주제/질문(콘텐츠), 짧은 코멘트까지 제공하는 스마트 감정 일기 도우미 서비스입니다.

  • 🎶 플레이리스트 추천 : 실시간 감정 분석 결과를 기반으로 음악 추천
  • ✍️ 일기 회고 콘텐츠 추천 : 생성형 AI를 활용해 주제/질문(4~5개) 및 코멘트 제시
  • 🖼️ 감정 캐릭터 이미지 생성 : 오늘의 감정을 표현한 캐릭터(3D 스타일) 이미지 생성
  • 😊 정서적 웰빙 : 자기 성찰을 촉구하고 스트레스 완화 및 심리적 안정에 기여

📖 기획 배경

  • 음악 감상이 정서 조절에 긍정적 효과를 주지만, 기존 플랫폼은 개인의 구체적인 감정 상태 반영 부족
  • 일기 작성 시 소재 부족, 감정 파악 어려움, 올바른 작성법 부재 등의 문제 존재
  • 이를 해결하기 위해 **감정 분석 + 추천 시스템 + 생성형 AI(회고/이미지 생성)**를 결합한 서비스를 기획

🧭 서비스 동작 흐름

스크린샷 2026-02-28 오후 3 43 09
  1. 사용자가 오늘의 일기 텍스트 입력 + (선택) 얼굴 이미지 업로드
  2. KoBERT / CLIP 기반 감정 벡터 산출 → 최종 감정 벡터 생성(0.7/0.3)
  3. 감정 벡터 기반 플레이리스트 추천 (유사/상반 옵션)
  4. 생성형 AI가 일기 코멘트 + 회고 질문/주제(4~5개) 생성
  5. 생성형 AI가 오늘 감정을 표현하는 캐릭터 일러스트 생성 → UI 출력

⚙️ 기술 스택

  • Language / Data: Python, Pandas, Numpy
  • ML Framework: PyTorch, Hugging Face Transformers
  • NLP: KoBERT (텍스트 감정 분석)
  • CV: CLIP, OpenCV (얼굴 표정 감정 분석)
  • Recommender System: Cosine Similarity 기반 User-Song / Song-Song 유사도
  • Generative AI
    • LLM: OpenAI ChatCompletion 기반 일기 코멘트 & 회고 질문 생성
    • Image: OpenAI Image API(DALL·E) 기반 감정 캐릭터 생성
    • Hugging Face Diffusers 기반 이미지 생성 실험
  • Frontend / Deployment: Gradio, Hugging Face Spaces
  • Collaboration: GitHub

🗂 데이터 수집 및 전처리

  • 감정 데이터: 감정대화 말뭉치 데이터셋 → 6개 감정 라벨
    • 기쁨, 즐거움, 사랑, 분노, 우울, 외로움
  • 음악 데이터: Melon Top 100 (2010~2024) 가사 데이터 수집 및 정제
    • 영어/특수문자 제거, 중복 제거, NaN 데이터 제거

🤖 모델 및 추천 시스템

감정 분석

  • KoBERT: 사용자 입력 텍스트 감정 분석
  • CLIP + OpenCV: 사용자 얼굴 이미지 기반 감정 분석
  • 최종 사용자 감정 벡터: 텍스트(0.7) + 이미지(0.3) 가중치 반영

플레이리스트 추천

  • 1차 추천: 사용자 감정 벡터 ↔ 노래 가사 감정 벡터 유사도(Cosine Similarity)
  • 2차 추천: Song-Song Similarity + User-Song Similarity 가중치 기반 최종 플레이리스트 도출
  • 추천 옵션: 오늘 감정과 비슷한 / 상반된 플레이리스트 선택 제공

생성형 AI 기반 회고/콘텐츠 생성

  • 일기 코멘트 생성(LLM): 사용자가 작성한 일기에 대한 짧은 코멘트 제공
  • 회고 질문/주제 추천(LLM): 일기 내용을 바탕으로 생각 정리를 돕는 질문/주제 4~5개 추천
  • 감정 캐릭터 이미지 생성(Image): 일기 내용(또는 지배 감정)을 반영한 3D 스타일 캐릭터 생성
  • 챗봇 스타일 옵션 제공: 친근한 / MZ / 유머러스 / 명상가 / 예술가

✨ 주요 기능

  • 텍스트 입력 기반 감정 분석 (KoBERT)
  • 얼굴 표정 이미지 기반 감정 분석 (CLIP + OpenCV)
  • 텍스트(0.7) + 이미지(0.3) 가중치 기반 최종 감정 벡터 생성
  • 감정 벡터와 음악 가사 벡터 매칭 → 플레이리스트 추천 (유사/상반)
  • 생성형 AI 기반 일기 회고 콘텐츠 추천
    • 선택한 챗봇 스타일에 따라 일기 코멘트 생성
    • 일기 내용을 바탕으로 회고 질문/주제 4~5개 추천
  • 생성형 AI 기반 감정 표현 캐릭터 이미지 생성
    • 일기 내용을 반영한 3D 스타일 감정 캐릭터 생성
  • Gradio UI 제공 및 Hugging Face Spaces 배포

📊 사용자 테스트 결과

32명의 사용자 설문 결과

  • 감정 기반 플레이리스트 추천 만족도
  • 회고 콘텐츠 유용성
  • 서비스 인터페이스 편의성

대부분 4~5점 높은 만족도 기록

About

4-2 빅데이터(캡스톤 디자인) : 감정 기반 개인화 맞춤형 플레이리스트 및 생성형 AI기반 일기 회고 추천 시스템

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors