프로젝트 기간: 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
[프로젝트 발표자료]
•
프로젝트 발표 영상