Korean Institute of Information Technology
[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 18, No. 9, pp.27-34
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 30 Sep 2020
Received 27 Aug 2020 Revised 16 Sep 2020 Accepted 19 Sep 2020
DOI: https://doi.org/10.14801/jkiit.2020.18.9.27

데이터 임베딩을 활용한 사용자 플레이리스트 기반 음악 추천에 관한 연구

이현수* ; 홍성은* ; 방준일* ; 김화종**
*강원대학교 컴퓨터정보통신공학과 석사과정
**강원대학교 컴퓨터정보통신공학과 교수(교신저자)
A Study on the Music Recommendation based on User Playlist using Data Embedding
Hyeonsu Lee* ; Seongeun Hong* ; Junil Bang* ; Hwajong Kim**

Correspondence to: Hwajong Kim Dept. of Computer and Communications Engineering, Kangwon National Univ., Gangwondaehak-gil 1, Chuncheon-si, Gangwon-do, Korea Tel.: +82-33-250-6323, Email: hjkim3@gmail.com

초록

최근 주목받는 온라인 추천 시스템은 사용자의 행동 패턴, 아이템 특성, 추가 변수 등 많은 변인을 분석해 사용자가 원하는 아이템을 추천한다. 본 논문에서는 멜론 음악 데이터 셋에서 각 아이템에 대해 다양한 카탈로그 형식을 데이터 임베딩과 클러스터링으로 추천하는 새로운 방법을 제안한다. 데이터 임베딩 기법은 사용자 플레이리스트 기반 음악 추천 방식은 곡의 태그, 장르, 세부장르, 가수명 등 곡에 대한 정보를 단어들로 취급하는 하나의 리스트로 결합된 문장 형식으로 변환하여 학습한다. SGNS으로 곡을 다차원 벡터 공간에 임베딩하고 임베딩된 곡 유사도를 기반의 추천 방식과 Item2Vec 방식에 대한 비교 성능 평가를 실시한 결과, 제안 방식 평균 nDCG 0.2996, Item2Vec 평균 nDCG 0.1850으로 추천 성능을 개선하였다.

Abstract

Recently, the online recommendation system, which is attracting attention, analyzes many variables such as user behavior pattern, item characteristics, and additional variables to recommend items that users want. In this paper, we propose a new method to recommend each item through data embedding and clustering using various catalog formats in the Melon music data set. The proposed method of recommending music based on user playlist using data embedding is used for learning by converting information about songs such as tags, genres, detailed genres, and singer names into a sentence form combined a list of words. The comparison performance evaluation and Item2Vec method of the proposed method are performed based on the similarity of embedded songs by embedding songs in multidimensional vector space through SGNS. As a result, the proposed method improved the recommended performance with an average nDCG 0.2996, compared to the average nDCG 0.1850 of Item2Vec.

Keywords:

data embedding, skip-gram, clustering, recommendation

Ⅰ. 서 론

사용자의 행동 패턴, 아이템 특성, 인구학적 정보, 기타 외부 변수 등 수많은 변인을 분석해서 사용자가 원하는 아이템을 추천해주는 일은 어려운 일이다. 이러한 어려움을 극복하기 위해 현재까지 추천 시스템을 만드는 다양한 방법들이 연구되었다[1]-[4]. 추천 시스템의 가장 많이 활용되는 알고리즘은 협업 필터링으로, 사용자와 아이템에 대한 프로필을 생성하고 그 특징을 활용하는 것이다[5]-[7]. 어떤 사용자가 특정 아이템을 선호할 때, 해당 아이템과 유사한 특징을 가진 다른 아이템을 추천한다. 예를 들어, 어떤 특정 음악은 아티스트, 장르, 추천 수, 제목 등 여러 특성을 지니게 된다. 또한 음악 도메인은 다른 데이터 도메인과 다르게 사용자만의 아이템 집합이라고 할 수 있는 ‘플레이리스트’라는 개념이 존재한다. 이러한 특성들을 통해 음악의 프로필을 형성하여 음악 간 관계를 분석하고 유사도를 생성하고 정확도를 예측한다.

최근 언어학적 연구에 대한 뉴럴 임베딩 알고리즘이 발전함에 따라 자연어 처리 기능이 향상되었다. 이러한 방법들은 단어 사이의 의미론적, 구문론적 관계를 포착하기 위한 학습을 시도했다[8]-[11]. 구체적으로, Word2Vec으로 알려진 SGNS(Skip-Gram Negative Sampling)은 단어의 의미를 다차원 공간에서 벡터로 표현하는 기법이다[10][12][13]. 문장 내에 존재하는 단어 간 관계를 분석해 벡터로 치환하며, 유사한 의미를 가진 단어는 벡터 공간에서 가까운 거리에 위치하게 된다. 해당 방식은 다양한 언어학적 작업에서 좋은 결과를 나타내어 자연어 처리 분야 뿐만 아니라 다른 도메인으로도 확장되었다[14][15]. 추천 분야에서 협업필터링 알고리즘은 사용자가 아이템에 매긴 평점을 통해 상관 유사도를 계산하는데 반해, Word2Vec 알고리즘을 적용한 연구는 사용자 또는 아이템의 특성을 다차원 벡터 공간에 임베딩하고, 임베딩된 아이템의 유사도를 기반으로 추천을 진행한다[11][16]-[18].

본 논문에서 제안하는 데이터 임베딩을 활용한 사용자 플레이리스트 기반 음악 추천 방식은 곡에 대한 정보를 하나의 문장으로 취급하여 학습에 사용한다. Word2Vec의 알고리즘 중 하나인 SGNS를 통해 곡을 다차원 벡터 공간에 임베딩하고 임베딩된 곡의 유사도를 기반으로 추천하는 방식을 제안한다.


Ⅱ. 관련 연구 및 방법론

2.1 관련 연구

[16][17]이 제안하는 연구는 사용자 평점 정보가 존재하는 영화 추천을 위해 Word2Vec과 합성곱 신경망을 활용한 모델을 사용하였다. 사용된 데이터는 LibRec에서 제공하는 filmtrust 데이터 셋으로 1508명의 사용자가 2071개 영화에 대해 0.5점에서 4점 사이의 영화 평점을 수집했다. 사용자 ID와 영화 ID를 단어처럼 활용하여 문장을 구성했으며, 문장에 대응되는 단어 조합으로 말뭉치를 구성하여 입력으로 사용했다. 90%를 훈련 데이터로 10%를 테스트 데이터로 사용했으며 훈련 데이터의 일부는 검증 데이터로 사용했다. Word2Vec을 통해 구한 사용자와 영화 벡터를 입력으로 하는 사용자 합성곱 모델과 영화 합성곱 모델을 별도로 구성하고 합친 앙상블 합성곱 모델을 학습에 사용했다. 성능 평가 에서 MAE=0.65748로 기존 협업 필터링 기반 추천에 비해 영화 추천의 정확도를 개선하였다[16][17]. 하지만 이 연구에서 사용하는 평가 지표인 MAE만으로는 실제 추천 시스템이 적용되는 검색 엔진의 추천 정확도를 명확하게 표현하는데 어려움이 있다. 따라서 본 논문에서는 실제 추천 순위에 가중치를 두어 시스템 성능을 평가하는 지표인 nDCG로 결과를 도출했다.

[19]에서 제안하는 연구는 음악 요소 데이터와 사용자의 선호경향 데이터를 활용하여 선형 회귀분석을 통한 개인화된 음악추천모델을 제안했다. 최근 5년간 연간 100위권 내에 진입한 총 460곡에 대한 음악적 분석과 설문 조사를 통해 개인별 선호 경향을 분류한 후, 다중 선형 회귀분석을 통해 곡의 선호 여부를 실험했다. 피험자에게 음악추천모델을 통해 예측된 음악을 추천하고, 추천된 곡의 선호 여부 조사를 통해 추천 모델의 정확도를 확인했으며, 피험자 평균 예측 정확도 75.0%의 결과를 보였다[19]. 이 연구는 음악 요소 데이터와 사용자의 선호경향 데이터를 활용해서 개인화된 음악추천모델을 설계했다는 점에서 본 논문의 제안 방식과 유사하다. 본 논문에서는 사용자의 선호경향 데이터라고 할 수 있는 음악 플레이리스트 데이터와 플레이리스트에 수록되어 있는 음악에 대한 정보들을 단어로 취급하여 하나의 리스트로 결합된 문장 형식으로 변환하여 추천 모델의 학습 데이터로 사용했다.

[11]이 제안한 연구는 아이템 기반 협업 필터링에 SGNS을 적용(Item2Vec)하여 기존 추천 시스템에서 대중적으로 사용되고 있는 아이템 간 SVD(Singular Value Decomposition) 알고리즘과 성능 비교를 실험했다. 사용된 데이터는 두 가지 서로 다른 유형의 데이터 셋으로, Microisoft XBOX Music service에서 검색된 사용자-아티스트 관계와 Microsoft Store의 물리적인 상품 주문이 포함된 정보를 수집했다. SVD 기반 아이템 유사도 모델과 Item2Vec 모델 훈련으로 생성된 아이템 벡터의 클러스터링 결과에서는 Item2Vec이 아이템 벡터를 더 효과적으로 군집화하는 것을 볼 수 있었으며, 장르 분류 분석 정확도 결과에서도 Item2Vec이 다양한 크기의 데이터 셋에서 SVD보다 약 2~3% 높은 정확도를 보였다[11]. 이 연구에서는 데이터에서 사용자-아이템 관계를 문장으로 표현하여 아이템 벡터를 생성하였다. 본 논문에서는 사용자-아이템 관계를 문장으로 표현할 때, 아이템에 대한 정보를 하나의 단어가 아닌 여러 단어들로 구성된 문장으로 표현하여 아이템 벡터를 생성하는 방식으로 개선을 하여 해당 연구의 방법론과 비교 결과를 도출했다.

2.2 방법론

Skip-gram은 문장에서 주어진 중심 단어에 대해 주변 단어를 예측하는 알고리즘이다[10][12][13]. 주변 단어들은 중심 단어 주위에서 샘플링을 통해 예측하는데, 가까이 위치한 단어일수록 중심 단어와 관련이 많은 단어인 것을 전제로, 중심 단어와 멀리 떨어져 있는 단어일수록 낮은 확률로 샘플링하는 방법을 채택한다. Skip-gram의 학습은 식 (1)을 최대화하는 방향으로 학습을 진행한다.

Poc=expuoTvcw=1WexpuwTvc(1) 

식 (1)에서 c는 중심단어, o는 주변 단어, v는 입력층과 은닉층을 잇는 가중치 행렬 W의 행백터, u는 은닉층과 출력층을 잇는 가중치 행렬 W'의 열백터다. 출력층에서 나오는 점수에 소프트맥스 함수를 적용해 확률값으로 변환한 후, 이를 정답과 비교해 역전파하는 구조를 통해 학습을 진행한다. 학습 과정에서 소프트맥스 함수를 적용하려면 식 (1)의 우변의 분모와 같이 중심단어와 주변 단어의 내적을 계산한 뒤, exp를 취해야 한다. 이는 전체 문장에서 나타나는 단어의 개수를 고려했을 때, 계산량이 매우 커지는 문제점이 발생한다.

Pwi=fwi3/4j=0nfwj3/4(2) 

SGNS에서 Negative Sampling은 Skip-gram에서 전체 단어들에 대한 소프트맥스 계산 및 정규화 대신, 정답 단어의 일부를 추출하고 사용자가 지정한 중심 단어 주변 범위 내에 등장하지 않는 단어인 negative sample과 합쳐 계산을 진행한다. 중심 단어 주변 범위 내에 등장하지 않는 단어 wi가 negative sample로 선택될 확률은 식 (2)로 정의한다. f(wi)는 해당 단어가 말뭉치에 등장한 비율을 의미한다.


Ⅲ. 설계 및 실험

3.1 데이터 전처리

본 논문에서는 카카오 아레나에서 제공하는 Melon Playlist Continuation 대회 데이터를 사용했다[20]. 해당 데이터는 멜론 서비스에서 수집된 플레이리스트의 일부로, 총 148,826개의 플레이리스트에 대한 메타데이터와 707,989개의 곡에 대한 메타데이터가 수록되어 있다.

플레이리스트 메타데이터는 표 1과 같이 구성되어 있으며, 총 데이터 148,826개에서 훈련, 검증, 테스트 데이터를 각각 115,071개(77%), 23,015개(16%), 10,740(7%)개로 구분하였다. 훈련에 사용된 플레이리스트 데이터는 각 플레이리스트에 대해 모든 곡과 태그가 수록되어 있으나, 검증 및 테스트 데이터에는 훈련 데이터와 다르게 곡과 태그의 일부가 수록되어 있다.

Properties of Melon playlist metadata

곡 메타데이터는 훈련, 검증, 테스트 데이터로 나눠진 플레이리스트에 수록된 모든 곡에 대한 메타데이터가 포함되어 있으며, 표 2와 같이 구성되어 있다.

Properties of Melon song metadata

데이터 전처리 과정은 그림 1과 같다. 먼저, 플레이리스트 데이터에 수록된 태그 리스트를 곡 메타데이터에 추가한다. 다음으로 곡 메타데이터에 포함되어 있는 각 곡마다 아티스트 리스트, 곡 장르 리스트, 곡 세부 장르 리스트, 태그 리스트를 하나로 결합하여 곡을 표현하는 하나의 문장을 생성한다. 마지막으로, 생성된 문장으로부터 단어 말뭉치를 구성한다.

Fig. 1.

Data preprocessing process

3.2 모델 구성 및 실험

본 논문에서는 데이터셋 내의 플레이리스트 중 보여지는 부분의 곡 태그, 장르, 세부장르, 가수명 등 곡에 대한 정보를 SGNS을 통해 곡을 다차원 벡터 공간에 임베딩하여 각 곡을 표현하는 벡터를 생성했다. 이 때, 곡에 대한 정보를 단어들로 취급하는 하나의 리스트로 결합된 문장 형식으로 변환하여 학습을 진행한다. 최종적으로 임베딩된 곡의 코사인 유사도를 기반으로 상위 100개의 곡을 추출하여 플레이리스트 중 숨겨진 부분에 대한 곡을 예측했다. 또한 본 논문에서 제안한 방법론과 baseline으로 설정한 Item2Vec 방법론을 nDCG를 통해 성능을 비교했다.

실험은 Google Cloud Platform에서 Intel Broadwell CPU 8개, 메모리 용량 52GB, GPU는 NVIDIA Tesla P100를 사용한 VM 인스턴스 환경에서 진행했으며, 패키지 버전은 Python 3.8.3, Tensorflow 2.2.0, Cuda 10.1을 사용했다.

SGNS 모델의 하이퍼 파라미터를 표 3과 같이 설정하여 플레이리스트 내 곡들을 다차원 벡터 공간에 임베딩하고, 식 (3)으로 정의된 코사인 유사도를 통해 곡 간의 유사도 s(A,B)를 계산한다.

Hyper-parameter value of SGNS model

sA,B=i=1nAi×Bii=1nAi2×i=1nBi2(3) 

플레이리스트 곡 추천의 경우, 그림 2와 같이 플레이리스트 데이터에 수록되어 있는 일부 곡들의 곡 간 유사도 합이 높은 순으로 해당 플레이리스트에 수록되어 있지 않는 곡들을 추천한다.

Fig. 2.

Playlist song recommendation procedure


Ⅳ. 성능 평가

본 논문에서 사용된 데이터 중 플레이리스트 검증 및 테스트 데이터는 곡과 태그의 일부가 수록되어 있다. 따라서 성능 평가는 검증 및 테스트 데이터에 수록되어 있지 않은 곡을 찾는 것으로 한다. Item2Vec 방식으로 추천한 결과와 본 논문에서 제안하는 방식을 nDCG를 통해 추천 성능 비교를 진행하였고, Tensorboard의 t-SNE 시각화 과정을 통한 군집화 비교를 실시했다.

표 4는 본 논문에서 제안하는 방식과 Item2Vec 방식으로 추천된 플레이리스트 내 숨겨진 곡들을 찾아내는 성능을 nDCG 점수로 평가한 결과다. 평가 측정 공식은 식 (4)~(6)에 나타내었다.

Average value of song recommendation nDCG

CGp=i=1pri(4) 
DCGp=r1+i=2prilog2i(5) 
nDCGp=DCGpiDCGp(6) 

그림 3, 4는 각각 Item2Vec 방식으로 생성된 임베딩과 본 논문에서 제안한 방식으로 생성된 임베딩을 Tensorboard projector t-SNE에서 3D Dimension, Perplexity=80, Learning rate=10, Supervise=0, Iteration=2000으로 설정하여 시각화한 결과로, 플레이리스트 데이터에 수록된 707989개의 곡들을 점으로 표시했다.

Fig. 3.

t-SNE result of Item2Vec method

Fig. 4.

t-SNE result of proposed method

표 5는 25가지로 대분류된 장르를 나타내며, 시각화 과정에서 점의 색깔로 구분하였다. 그림 3, 4를 관찰했을 때, 전반적으로 Item2Vec 방식보다 더 명확히 나뉘는 것이 관찰되었다. 추가로, 몇 가지 유사점과 차이점을 관찰하였다.

Large scale classification of genre

먼저, 유사점으로 붉은색으로 표시된 점의 분포를 꼽을 수 있다. 붉은색 점은 POP 장르로, 그림 2, 3의 벡터 공간에 고르게 퍼져 있는 것을 확인할 수 있다. 대중음악의 가장 기본이 되는 장르기 때문에 이와 같은 분포를 띌 수 있는 것이라 해석할 수 있다. 차이점으로는 원으로 표시된 영역을 언급할 수 있다. 같은 대분류 장르를 가지지만 벡터 공간 내에서 서로 떨어진 군집을 이루고 있는 경우를 나타낸다. 이는 태그로 표현된 감정, 상황, 계절, 날씨, 시간 정보를 통해 대분류로 분류된 장르를 소분류 장르로 나눌 수 있음을 시사한다.

짙은 하늘색으로 표현된 인디 장르를 예로 들면, 좌측 하단 군집은 사랑, 설레임, 봄 등의 태그로 표현된 곡들의 집합인데 반해, 우측 상단 군집은 슬픔, 이별, 가을 등의 태그로 표현된 곡들의 집합이다. 또한 같은 영역에 서로 다른 색깔이 밀집한 부분도 확인할 수 있는데, 이는 비슷한 태그 즉, 비슷한 감정, 상황 등을 가진 서로 다른 장르의 노래들의 집합으로 해석할 수 있다.


Ⅴ. 결론 및 향후 과제

5.1 결 론

본 논문에서는 멜론 음악 데이터 셋에서 각 아이템에 대해 다양한 카탈로그 형식을 활용하여 데이터 임베딩과 클러스터링을 통한 새로운 방식의 추천 방식을 제안하였다. 제안하는 데이터 임베딩을 활용한 사용자 플레이리스트 기반 음악 추천 방식은 곡의 태그, 장르, 세부장르, 가수명 등 곡에 대한 정보를 단어들로 취급하는 하나의 리스트로 결합된 문장 형식으로 변환하여 SGNS의 입력으로 사용했다. SGNS를 통해 곡을 다차원 벡터 공간에 임베딩하고 임베딩된 곡의 유사도를 기반으로 추천하는 방식과 Item2Vec 방식에 대한 비교 성능 평가를 실시하여 추천 성능을 개선하였음을 보인다. 추천 방식에 있어 기존 Item2Vec 방식의 성능과 비교 측정하였다. 측정 방식은 nDCG로 Item2Vec 모델의 평균 nDCG는 0.1850, 제안 방식의 평균 nDCG는 0.2996로 추천 성능을 향상시켰다. 또한, 제안 모델을 통한 학습 결과를 시각화한 결과로 풍부한 해석이 가능한 것을 확인했다. 따라서, 기존 추천 방식보다 더 풍부한 해석과 다양한 추천 방향을 제안할 수 있을 것으로 예상된다.

5.2 향후 과제

본 논문에서는 모델 학습을 진행할 때, 곡에 대한 정보를 하나의 문장으로 취급하여 학습에 사용한다. 곡에 대한 정보는 아티스트 리스트, 곡 장르 리스트, 곡 세부 장르 리스트, 태그 리스트를 사용하였는데, 곡에 대한 Mel-spectrogram 등 추가 정보를 입력한다면 성능을 더욱 끌어올릴 수 있을 것으로 기대한다. 또한, 하이퍼 파라미터는 기존에 널리 알려진 기본 값으로 설정하였다. 이는 제안 모델에 최적화되어있지 않은 값이다. 그리드 탐색을 통해 최적의 하이퍼 파라미터를 탐색한다면 추천 성능을 더욱 끌어올릴 수 있을 것으로 예상된다. 또한, 노래에 대한 플레이리스트를 넘어서 동영상, 영화, 방송, 도서 등 다양한 분야에 대해 적용해볼 수 있을 것으로 기대한다.

Acknowledgments

이 논문은 2017년도 강원대학교 대학회계 학술연구조성비로 연구하였음(관리번호-520170080) 또한 2019년도 정부(교육과학기술부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. 2019007059)

References

  • U. Paquet and N. Koenigstein, "One-class collaborative filtering with random graphs", 22nd international conference on World Wide Web, Rio de Janeiro Brazil, pp. 999-1008, May 2013. [https://doi.org/10.1145/2488388.2488475]
  • Y. Koren, R. Bell, and C. Volinsky, "Matrix factorization techniques for recommender systems", IEEE Computer Society, Vol. 42, No. 8, pp. 30-37, Aug. 2009. [https://doi.org/10.1109/MC.2009.263]
  • R. Salakhutdinov and A. Mnih, "Bayesian probabilistic matrix factorization using Markov chain Monte Carlo", 25th international conference on Machine learning, Helsinki Finland, pp. 880-887, Jul. 2008. [https://doi.org/10.1145/1390156.1390267]
  • E. Y. Bae and S. J. Yu, "Keyword-based recommender system dataset construction and analysis", Journal of Korean Institute of Information Technology, Vol. 16, No. 6, pp. 91-99, Jun. 2018. [https://doi.org/10.14801/jkiit.2018.16.6.91]
  • J. L. Herlocker, J. A. Konstan, A. Borchers, and J. Riedl, "An algorithmic framework for performing collaborative filtering", ACM SIGIR Forum, Vol. 51, No. 2, pp. 227-234, Jul. 2017. [https://doi.org/10.1145/3130348.3130372]
  • B. Sarwar, G. Karypis, J. Konstan, and J. Riedl, "Item-based collaborative filtering recommendation algorithms", 10th International Conference on World Wide Web, Hong Kong, pp. 285-295, May 2001. [https://doi.org/10.1145/371920.372071]
  • K. Goldberg, T. Roeder, D. Gupta, and C. Perkins, "EigenTaste: a constant time collaborative filtering algorithm", Information Retrieval, Vol. 4, No. 2, pp. 133-151, Jul. 2001. [https://doi.org/10.1023/A:1011419012209]
  • R. Collobert and J. Weston, "A unified architecture for natural language processing: Deep neural networks with multitask learning", 25th international conference on Machine learning, Helsinki Finland, pp. 160-167, Jul. 2008. [https://doi.org/10.1145/1390156.1390177]
  • A. Mnih and G. E. Hinton, "A scalable hierarchical distributed language model", Advances in Neural Information Processing Systems 21, pp. 1081-1088, 2009.
  • T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean, "Distributed representations of words and phrases and their compositionality", Advances in Neural Information Processing Systems 26, pp. 3111-3119, 2013.
  • B. Oren and K. Noam, "Item2vec: neural item embedding for collaborative filtering", 2016 IEEE 26th International Workshop on Machine Learning for Signal Processing, Vietri sul Mare, Italy, pp. 1-6 Sep. 2016.
  • T. Mikolov, W. T. Yih and G. Zweig, "Linguistic Regularities in Continuous Space Word Representations", NAACL HLT 2013, Atlanta, Georgia, pp. 746-751, Jun. 2013
  • Efficient estimation of word representations in vector space, ICLR Workshop, Sep. 7. 2013. https://arxiv.org/pdf/1301.3781.pdf
  • A. Frome, G. S. Corrado, J. Shlens, S. Bengio, J. Dean, M. Ranzato, and T. Mikolov, "Devise: A deep visual-semantic embedding model", Advances in Neural Information Processing Systems 26, pp. 2121-2129, 2013
  • A. Lazaridou, N. T. Pham, and M. Baroni, "Combining language and vision with a multimodal skip-gram model", 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 153-163, Jan. 2015. [https://doi.org/10.3115/v1/N15-1016]
  • B. S. Kang, "Improving Predictive Accuracy of User-based Collaborative Filtering Using Word2Vec", Journal of Knowledge Information Technology and Systems, Vol. 13, No. 1, pp. 169-176, Feb. 2018. [https://doi.org/10.34163/jkits.2018.13.1.017]
  • B. S. Kang, "A Study on the Accuracy Improvement of Movie Recommender System Using Word2Vec and Ensemble Convolutional Neural Networks", Journal of Digital Convergence Vol. 17. No. 1, pp. 123-130, Jan. 2019.
  • V. Kuzmin, "Item2vec-based approach to a recommender system", Bachelor's Thesis, University of Tartu, 2017.
  • J. Y. Chung and M. J. Kim, "A Study on Personalized Music Recommendation Model through Analysis on Users' Music Preference Factors", Journal of Digital Contents Society, Vol. 19, No. 11, pp. 2041-2047, Nov. 2018. [https://doi.org/10.9728/dcs.2018.19.11.2041]
  • Melon Playlist Continuation, Kakao arena, https://arena.kakao.com/c/7/data, , [accessed: Aug 17, 2020]
저자소개
이 현 수 (Hyeonsu Lee)

2019년 8월 : 강원대학교 컴퓨터정보통신공학과(공학사) 수료

2019년 9월 ~ 현재 : 강원대학교 컴퓨터정보통신공학(석사과정)

관심분야 : 빅데이터, 데이터마이닝, 자연어처리

홍 성 은 (Seongeun Hong)

2015년 : 강원대학교 컴퓨터정보통신공학부(공학석사)

2015년 ~ 2019년 : 강원대학교 컴퓨터정보통신공학과(공학박사) 수료

관심분야 : 빅데이터, 데이터마이닝, 기계학습, 딥러닝

방 준 일 (Junil Bang)

2020년 8월 : 강원대학교 컴퓨터정보통신공학과(공학석사)

2020년 9월 ~ 현재 : 강원대학교 컴퓨터정보통신공학과(박사과정)

관심분야 : 데이터마이닝, 머신러닝, 빅데이터, 데이터 임베딩

김 화 종 (Hwajong Kim)

1984년 3월 : KAIST 전기 및 전자공학과(공학석사)

1988년 3월 : KAIST 전기 및 전자공학과(공학박사)

1988년 3월 ~ 현재 : 강원대학교 컴퓨터정보통신공학과(정교수)

관심분야 : 데이터 통신, 컴퓨터네트워크, 네트워크 프로그래밍, 빅데이터

Fig. 1.

Fig. 1.
Data preprocessing process

Fig. 2.

Fig. 2.
Playlist song recommendation procedure

Fig. 3.

Fig. 3.
t-SNE result of Item2Vec method

Fig. 4.

Fig. 4.
t-SNE result of proposed method

Table 1.

Properties of Melon playlist metadata

Field Name Description
id Playlist ID
plylst_title Playlist title
tags Tag list
songs Song list
like_cnt Number of likes
updt_date Update date

Table 2.

Properties of Melon song metadata

Field Name Description
_id Song ID
album_id Album ID
artist_id_basket Artist ID list
artist_name_basket Artist list
song_name Song name
song_gn_gnr_basket Song genre list
song_gn_dtl_gnr_basket Song detail genre list
issue_date Issue date

Table 3.

Hyper-parameter value of SGNS model

Hyper-parameter name Value
epochs 20
embedding_size 30
batch_size 128
learning_rate 0.5
num_negatives 100

Table 4.

Average value of song recommendation nDCG

Model nDCG average
Proposed model 0.29968002553107655
Item2Vec model 0.185066770793302

Table 5.

Large scale classification of genre

Ballad Dance Rap/Hip Hop R&B/Soul
Indie Rork/Metal Trot Folk/Blues
POP Electronica New age OST
Classic Jazz Idol World music
CCM Musical Gugak Children’s song