감정 기반 개인화 맞춤형 플레이리스트 및 일기 회고 추천 서비스
- 개발 기간 : 2024.09 ~ 2024.12
- 배포 URL : https://huggingface.co/spaces/dazzleun-7/Bigdatacapstone_24-2
EmoDiary는 사용자의 감정을 분석해 맞춤형 음악 플레이리스트를 추천하고, 생성형 AI로 오늘의 감정을 표현한 캐릭터 일러스트와 회고를 돕는 일기 주제/질문(콘텐츠), 짧은 코멘트까지 제공하는 스마트 감정 일기 도우미 서비스입니다.
- 🎶 플레이리스트 추천 : 실시간 감정 분석 결과를 기반으로 음악 추천
- ✍️ 일기 회고 콘텐츠 추천 : 생성형 AI를 활용해 주제/질문(4~5개) 및 코멘트 제시
- 🖼️ 감정 캐릭터 이미지 생성 : 오늘의 감정을 표현한 캐릭터(3D 스타일) 이미지 생성
- 😊 정서적 웰빙 : 자기 성찰을 촉구하고 스트레스 완화 및 심리적 안정에 기여
- 음악 감상이 정서 조절에 긍정적 효과를 주지만, 기존 플랫폼은 개인의 구체적인 감정 상태 반영 부족
- 일기 작성 시 소재 부족, 감정 파악 어려움, 올바른 작성법 부재 등의 문제 존재
- 이를 해결하기 위해 **감정 분석 + 추천 시스템 + 생성형 AI(회고/이미지 생성)**를 결합한 서비스를 기획
- 사용자가 오늘의 일기 텍스트 입력 + (선택) 얼굴 이미지 업로드
- KoBERT / CLIP 기반 감정 벡터 산출 → 최종 감정 벡터 생성(0.7/0.3)
- 감정 벡터 기반 플레이리스트 추천 (유사/상반 옵션)
- 생성형 AI가 일기 코멘트 + 회고 질문/주제(4~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 가중치 기반 최종 플레이리스트 도출
- 추천 옵션: 오늘 감정과 비슷한 / 상반된 플레이리스트 선택 제공
- 일기 코멘트 생성(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점 높은 만족도 기록