Search

Spotify-based Personalized Music Recommendation Chatbot Project

본 프로젝트는 빅데이터 연합동아리 BOAZ에서 엔지니어링 부문 ADV 활동과정 중 진행되었습니다.
프로젝트 기간: 2023.08 ~ 2024.01 (6개월)

[프로젝트 소개]

본 프로젝트에서는 Spotify 데이터를 사용하여 트랙, 플레이리스트, 무드 기반 등 다양한 개인화 음악 추천 및 검색 서비스를 위한 챗봇 웹 프로덕트를 제작하였습니다.
프로젝트 주요 서비스
사용자의 스포티파이 프리미엄 계정 유뮤에 따라 제공 서비스 차별화
전체 이용자 대상
1.
트랙 기반 음악 추천 (Track-based Recommendation)
→ 사용자가 입력한 트랙(노래) 기반으로 음악적 특성(audio feature)이 비슷한 음악 트랙을 추천해주는 서비스
[예시]
“블랙핑크의 ‘Kill This Love’와 비슷한 노래 추천해줘”
Spotify 의 Recommend API 사용
Spotify Audio Features data 스포티파이에서 자체적으로 정의한 트랙별 장르와 무드를 결정하는 음악적 특성 정보. → acouasticness, danceability, energy, instrumentalness, speechiness, tempo, valence 등을 0~1 사이의 값으로 표현 Spotify Recommend API 스포티파이에 등록된 track에 한하여 해당 곡의 audio features와 유사한 곡을 추천해주는 Spotify API
2.
감성 기반 음악 추천
→ 사용자가 원하는 특정 분위기, 상황에 맞는 음악 트랙을 추천해주는 서비스
[예시]
비오는날 듣기 좋은 노래 추천해줘” ”가족들이랑 저녁 식사할 때 듣기 좋은 노래 추천해줘”
Open AI ChatGPT API 사용
→ 해당 추천 곡에 대한 상세정보는 Spotify API에서 추출한 곡 정보 데이터를 기반으로 사용자에게 추천 결과 서빙
Spotify Premium 사용자 대상
3.
사용자 플레이리스트 기반 음악 추천
스포티파이 유저의 ‘좋아요’ 플레이리스트에 담긴 트랙들을 기반으로 개인화 추천 플레이리스트 제공 서비스
→ Bert4Rec 모델을 사용한 Sequential Recommendation
프로젝트 핵심 Task
1.
추천 시스템 모델을 지속적으로 학습(CT)하기 위한 클라우드 기반 Feature Store 및 MLops 환경 구축 및 운영
GCP(Google Cloud Platform)기반 Feature Store 및 Feature Engineering Pipeline 구축
사용 클라우드 플랫폼
Offline Feature Store
GCP BigQuery
Online Feature Store
GCP BigQuery
Data Warehouse
AWS S3
GCP Vertex AI 기반 MLOps 플랫폼 구축
사용자 플레이리스트 기반 노래 추천 서비스 구현을 위한 BERT4Rec 모델 학습 파이프라인 구축
GCP Vertex AI Custom Model Training Pipeline
모델 서빙 및 배포 : Artifact Registry의 Inference 컨테이너를 Cloud Run 배포
2.
Chat-REC 모델 아키텍쳐를 활용하여 다양한 목적의 음악 추천 서비스 제공
Chat-REC 구조를 활용하여 multi-task recommendation 수행 가능
Open AI ChatGPT(turbo)를 사용하여 prompt constructor 구현
Multi-task Recommendation
사용자 플레이리스트 기반 음악 Recommendation
트랙 기반 음악 Recommendation
감성 기반 음악 Recommendation

[프로젝트 발표자료]

Loading PDF…
프로젝트 발표 영상

[프로젝트 Github]

SPOAZ
SPOAZ