Melon Playlist Continuation
시작일: 2020 04 27 , 참가일: 2020 06 13 , 종료일 2020 07 26
소개 : 플레이리스트에 수록된 곡과 태그의 절반 또는 전부가 숨겨져 있을 때, 주어지지 않은 곡들과 태그를 예측하는 것을 목표
채점기준 : Score = 평균 nDCG (예측한 곡) * 0.85 + 평균 nDCG (예측한 태그) * 0.15 (정답이 앞으로 올수록 높은점수)
사용한 주요 라이브러리
- Gensim - Word2Vec
- Khaiii - Khaiii
- Sklearn - Cosine Similarity
- 곡 예측
출제되는 문제의 곡 , 태그 , 플레이리스트 제목의 존재 여부에 따라 유형을 나누어 알고리즘을 적용
유형 곡 태그 플레이리스트 제목 문제개수 문제개수 1 O O X 18000 Cosine Similarity Model , Word2Vec Model 1 2 O X O 18000 Cosine Similarity Model , Word2Vec Model 1 3 X O X 4000 Cosine Similarity Model , Khaiii(전처리) + Word2Vec Model 2 4 X X O 1000 Khaiii(전처리) + Word2Vec Model 2
- 코사인 유사도 모델 : 플레이리스트 별로 어떤 곡들이 들어가 있는지를 희소 행렬로 표현하여 각 행과의 유사도를 구해 0.3이상인것만 추출하여 그안에서 100개의 곡을 추출한다
- 임베딩 모델 : 학습용 플레이리스트의 곡 ,태그, 플레이리스트 제목 토큰을 word2vec을 통해 학습한 모델을 만든다, 문제가 주어졌을때 모델을 통해 문제플레이리스트별 백터값을 구한다음,이와 가장 유사한 백터값을 가진 학습용 플레이리스트 구하여 가장 많이나온 곡과 태그 각 100/100개씩 뽑는다.> 1. 코사인 유사도 모델 : 플레이리스트 별로 어떤 곡들이 들어가 있는지를 희소 행렬로 표현하여 각 행과의 유사도를 구해 0.3이상인것만 추출하여 그안에서 100개의 곡을 추출한다
- 코사인 유사도 모델로 추출한 100개의 곡과 임베딩 모델로 추출한 100개의 곡들중에 겹치는 곡이 많은 순으로 최종적으로 100개의 곡을 예측한다
- 태그를 예측
- 제목과 태그에 있는 단어를 Kahiii(형태소분석기)로 추출
- 제목 + 태그 + 플레이리스트 곡들을 임베딩 진행후 주어진 태그에서 유사한 단어들을 임베딩벡터값(Word2Vec)에서 추출
- 가장 많이 중복된 단어순으로 정답을 제출
사용한 형태소 - 일반 명사 , 외국어 , 고유 명사 , 어근
추가한 사전 - preanal.manual
최종결과 - 10위권 밖 ( 10위 이내만 등수 및 점수 공개 )
최종제출 직전 결과 - 종합점수 - 0.28392 (24위 / 194팀) ( 곡 - 0.246928(26위) , 태그 - 0.493544(9위) )

