🎵 Về Hệ Thống Music Recommender
Đây là hệ thống khuyến nghị nhạc Hybrid kết hợp 3 phương pháp tiên tiến:
Content-Based Filtering, Collaborative Filtering và Generative AI để tạo ra những
playlist nhạc được cá nhân hóa hoàn hảo cho từng người dùng.
🎯 Mục Tiêu
Tạo ra một hệ thống khuyến nghị âm nhạc thông minh có khả năng:
- Hiểu được sở thích âm nhạc của người dùng thông qua listening history
- Phân tích các đặc trưng âm thanh (audio features) của bài hát
- Diễn giải và xử lý yêu cầu bằng ngôn ngữ tự nhiên
- Tạo playlist phù hợp với tâm trạng, hoạt động, và thể loại mong muốn
🔧 Các Thành Phần Chính
1. Content-Based Filtering
Sử dụng các Spotify Audio Features như danceability, energy,
valence, tempo để tính toán độ tương đồng giữa các bài hát. Phương pháp này
cho phép hệ thống hiểu được "âm sắc" và "cảm xúc" của mỗi track.
Features được sử dụng:
- Danceability: Độ phù hợp để nhảy
- Energy: Độ sôi động, mạnh mẽ
- Valence: Độ tích cực, vui vẻ
- Tempo: Tốc độ (BPM)
- Acousticness, Instrumentalness, Liveness...
2. Collaborative Filtering
Sử dụng Item-Based K-Nearest Neighbors để tìm các bài hát
tương tự dựa trên hành vi nghe nhạc của người dùng. Phương pháp này giúp
khám phá những bài hát mà người dùng có sở thích tương tự đã nghe.
Ưu điểm:
- Cá nhân hóa dựa trên listening history
- Khám phá bài hát mới thông qua community wisdom
- Xử lý tốt với cold-start problem
3. Generative AI (Optional)
Tích hợp Language Models (GPT-2, DistilGPT2) để:
- Hiểu và xử lý prompt bằng ngôn ngữ tự nhiên
- Tinh chỉnh và sắp xếp lại playlist dựa trên context
- Tạo mô tả và lý do cho mỗi recommendation
💻 Tech Stack
Python 3.8+
Flask
Pandas & NumPy
Scikit-learn
SciPy
Transformers
Spotify API
📊 Dataset
Hệ thống sử dụng Music Info Dataset với:
- 50,685 tracks với đầy đủ metadata
- Spotify audio features cho mỗi bài hát
- Thông tin về artist, genre, tags
- Spotify preview URLs để nghe thử
- Synthetic user interactions (1000 users)
🚀 Workflow
Khi bạn tạo một request, hệ thống sẽ:
- Phân tích prompt của bạn để hiểu yêu cầu
- Nếu có User ID, lấy recommendations từ Collaborative Filtering
- Dựa vào prompt, tìm tracks phù hợp bằng Content-Based Filtering
- Kết hợp và loại bỏ trùng lặp
- Nếu bật GenAI, tinh chỉnh và sắp xếp playlist
- Trả về playlist với Spotify previews
👨💻 Phát Triển
Project này được phát triển như một đề tài về Recommendation Systems,
kết hợp các kỹ thuật cổ điển (CF, Content-Based) với AI hiện đại (GenAI).