[제 13회 투빅스 컨퍼런스] OK Mugle! - 장르부터 멜로디까지, Content-based Music Recommendation

Related tags

Deep LearningOkMugle
Overview

Ok Mugle! 🎵

장르부터 멜로디까지, Content-based Music Recommendation

발표 ppt(1차)_1

Description 📖

  • 본 프로젝트에서는 Kakao Arena에서 제공하는 Melon Playlist Continuation 데이터를 활용하여, 사용자가 검색한 노래와 유사한 노래 추천을 구현하였습니다.

발표 ppt(1차)_8

  1. [Model] '유사성'의 기준을 멜로디, 분위기, 상황, 장르 등으로 정의
    • 해당 요소 반영하여 Music2Vec, Time Convolutional AutoEncoder, ConsineEmbeddingLoss Multimodal 등의 모델 Building
  2. [Retrieval] Embedding의 Cosine Similarity를 구하여 Retrieval 구성
  3. [Ranking] 다양한 Ranking Method 사용 → 추천 결과 Ensemble
  4. [Serving] 최종적으로 Score Total Top 10 Ranking Method의 추천 결과 활용하여 Web 구현 & 모델 Serving

Usage ✔️

  • Windows Shell에 아래 명령을 입력하여 실행합니다.
set FLASK_APP=server
set FLASK_ENV=development
flask run

Result (Web) 💻

웹 메인

  • 검색창에 '비투비 - 비밀 (Insane) (Acoustic Ver.)'를 검색한 결과 화면

웹 검색결과

Presentation 🙋

컨퍼런스 발표영상과 보고서입니다. 자세한 분석 내용은 아래 링크를 통해 확인해주세요!

  • GoogleDrive Badge
  • Youtube Badge

Contributor 🧑‍🤝‍🧑

기수 이름
15기 이성범
16기 김권호
16기 박한나
16기 이승주
16기 이예림
16기 주지훈
7기 이광록(멘토)

File Directory 📂

Ok Mugle!
├── 1. preprocessig
│   ├── make_song_meta_and_playlist.ipynb       # 노래, 플레이리스트 데이터 전처리
│   ├── make_mel_data.ipynb                     # 멜 데이터 전처리
│   └── make_mel_batch_data.ipynb               # 멜 데이터 배치 단위로 전처리
│
├── 2. model
│   ├── genre_embedding_model.ipynb             # Music2Vec
│   ├── mel_embedding_model.ipynb               # Time Convolutional Autoencoder
│   └── genre_and_mel_embedding_model.ipynb     # CosineEmbeddingLoss Multimodal
│
├── 3. embedding-visualization
│   └── embedding_visualization_tsne.ipynb      # t-SNE를 활용한 각 임베딩별 시각화
│
├── 4. ranking
│   ├── make_ranking_data_preprocessig.ipynb    # 각 임베딩별 코사인 유사도 Top50 데이터 셋 제작 
│   ├── make_ranking_data_multiprocessig.py     # make_ranking_data_preprocessig의 multiprocessig을 위한 함수
│   ├── make_ranking_data.ipynb                 # 순위별 가중치 ranking, 각 임베딩 별 상위 Top3 ranking
│   └── cos_sim_music_serving.ipynb             # 각 임베딩, ranking 별 결과
│
└── 5. web
    ├── crawling                                # 결과창 구현을 위한 데이터 수집
    │   └── melon_crawling.py 
    │ 
    ├── data                                    # 웹 제작에 활용된 데이터
    │    ├── ranking_song_id2playlist.json
    │    ├── song_id2artist_name_basket.json
    │    ├── song_id2song_name.json
    │    └── song_name_artist_name2song_id.json
    │ 
    ├── static                                  # 웹 제작에 활용된 css, font, image, js
    │    ├── css
    │    ├── fonts
    │    ├── images
    │    └── js
    │ 
    ├── templates                               # 프론트 구현
    │    ├── about.html
    │    ├── index.html
    │    ├── people.html
    │    └── result.html
    │ 
    └── server.py                               # 백엔드 구현
    │
    └── requirements.txt                        # 필요 패키지 목록
      
Owner
SeongBeomLEE
안녕하세요.👋 같이에 가치를 아는 머신러닝 엔지니어 이성범 입니다!
SeongBeomLEE
FactSeg: Foreground Activation Driven Small Object Semantic Segmentation in Large-Scale Remote Sensing Imagery (TGRS)

FactSeg: Foreground Activation Driven Small Object Semantic Segmentation in Large-Scale Remote Sensing Imagery by Ailong Ma, Junjue Wang*, Yanfei Zhon

Kingdrone 43 Jan 05, 2023
A mini library for Policy Gradients with Parameter-based Exploration, with reference implementation of the ClipUp optimizer from NNAISENSE.

PGPElib A mini library for Policy Gradients with Parameter-based Exploration [1] and friends. This library serves as a clean re-implementation of the

NNAISENSE 56 Jan 01, 2023
Official repository of OFA. Paper: Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence Learning Framework

Paper | Blog OFA is a unified multimodal pretrained model that unifies modalities (i.e., cross-modality, vision, language) and tasks (e.g., image gene

OFA Sys 1.4k Jan 08, 2023
Voice control for Garry's Mod

WIP: Talonvoice GMod integrations Very work in progress voice control demo for Garry's Mod. HOWTO Install https://talonvoice.com/ Press https://i.imgu

Meta Construct 5 Nov 15, 2022
Unofficial pytorch implementation of paper "One-Shot Free-View Neural Talking-Head Synthesis for Video Conferencing"

One-Shot Free-View Neural Talking Head Synthesis Unofficial pytorch implementation of paper "One-Shot Free-View Neural Talking-Head Synthesis for Vide

ZLH 406 Dec 23, 2022
Spatial Attentive Single-Image Deraining with a High Quality Real Rain Dataset (CVPR'19)

Spatial Attentive Single-Image Deraining with a High Quality Real Rain Dataset (CVPR'19) Tianyu Wang*, Xin Yang*, Ke Xu, Shaozhe Chen, Qiang Zhang, Ry

Steve Wong 177 Dec 01, 2022
Combining Reinforcement Learning and Constraint Programming for Combinatorial Optimization

Hybrid solving process for combinatorial optimization problems Combinatorial optimization has found applications in numerous fields, from aerospace to

117 Dec 13, 2022
TDmatch is a Python library developed to perform matching tasks in three categories:

TDmatch TDmatch is a Python library developed to perform matching tasks in three categories: Text to Data which matches tuples of a table to text docu

Naser Ahmadi 5 Aug 11, 2022
Hypersearch weight debugging and losses tutorial

tutorial Activate tensorboard option Running TensorBoard remotely When working on a remote server, you can use SSH tunneling to forward the port of th

1 Dec 11, 2021
Code accompanying the paper "Wasserstein GAN"

Wasserstein GAN Code accompanying the paper "Wasserstein GAN" A few notes The first time running on the LSUN dataset it can take a long time (up to an

3.1k Jan 01, 2023
This repo includes the CUB-GHA (Gaze-based Human Attention) dataset and code of the paper "Human Attention in Fine-grained Classification".

HA-in-Fine-Grained-Classification This repo includes the CUB-GHA (Gaze-based Human Attention) dataset and code of the paper "Human Attention in Fine-g

16 Oct 29, 2022
🌊 Online machine learning in Python

In a nutshell River is a Python library for online machine learning. It is the result of a merger between creme and scikit-multiflow. River's ambition

OnlineML 4k Jan 02, 2023
Application of K-means algorithm on a music dataset after a dimensionality reduction with PCA

PCA for dimensionality reduction combined with Kmeans Goal The Goal of this notebook is to apply a dimensionality reduction on a big dataset in order

Arturo Ghinassi 0 Sep 17, 2022
Source code for our paper "Learning to Break Deep Perceptual Hashing: The Use Case NeuralHash"

Learning to Break Deep Perceptual Hashing: The Use Case NeuralHash Abstract: Apple recently revealed its deep perceptual hashing system NeuralHash to

<a href=[email protected]"> 11 Dec 03, 2022
A light and fast one class detection framework for edge devices. We provide face detector, head detector, pedestrian detector, vehicle detector......

A Light and Fast Face Detector for Edge Devices Big News: LFD, which is a big update of LFFD, now is released (2021.03.09). It is strongly recommended

YonghaoHe 1.3k Dec 25, 2022
ChatBot-Pytorch - A GPT-2 ChatBot implemented using Pytorch and Huggingface-transformers

ChatBot-Pytorch A GPT-2 ChatBot implemented using Pytorch and Huggingface-transf

ParZival 42 Dec 09, 2022
AI-Bot - 一个基于watermelon改造的OpenAI-GPT-2的智能机器人

AI-Bot 一个基于watermelon改造的OpenAI-GPT-2的智能机器人 在Binder上直接运行测试 目前有两种实现方式 TF2的GPT-2 TF

9 Nov 16, 2022
[CVPR 2022] Pytorch implementation of "Templates for 3D Object Pose Estimation Revisited: Generalization to New objects and Robustness to Occlusions" paper

template-pose Pytorch implementation of "Templates for 3D Object Pose Estimation Revisited: Generalization to New objects and Robustness to Occlusions

Van Nguyen Nguyen 92 Dec 28, 2022
Virtual Dance Reality Stage is a feature that offers you to share a stage with another user virtually.

Virtual Dance Reality Stage is a feature that offers you to share a stage with another user virtually. It uses the concept of Image Background Removal using DeepLab Architecture (based on Semantic Se

Devashi Choudhary 5 Aug 24, 2022
Self-Supervised Learning of Event-based Optical Flow with Spiking Neural Networks

Self-Supervised Learning of Event-based Optical Flow with Spiking Neural Networks Work accepted at NeurIPS'21 [paper, video]. If you use this code in

TU Delft 43 Dec 07, 2022