Skip to content

BeeChang/kakao_arena

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

kakao_arena

https://arena.kakao.com/c/8

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. 곡 예측

출제되는 문제의 곡 , 태그 , 플레이리스트 제목의 존재 여부에 따라 유형을 나누어 알고리즘을 적용

유형 태그 플레이리스트 제목 문제개수 문제개수
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
  1. 코사인 유사도 모델 : 플레이리스트 별로 어떤 곡들이 들어가 있는지를 희소 행렬로 표현하여 각 행과의 유사도를 구해 0.3이상인것만 추출하여 그안에서 100개의 곡을 추출한다
  2. 임베딩 모델 : 학습용 플레이리스트의 곡 ,태그, 플레이리스트 제목 토큰을 word2vec을 통해 학습한 모델을 만든다, 문제가 주어졌을때 모델을 통해 문제플레이리스트별 백터값을 구한다음,이와 가장 유사한 백터값을 가진 학습용 플레이리스트 구하여 가장 많이나온 곡과 태그 각 100/100개씩 뽑는다.> 1. 코사인 유사도 모델 : 플레이리스트 별로 어떤 곡들이 들어가 있는지를 희소 행렬로 표현하여 각 행과의 유사도를 구해 0.3이상인것만 추출하여 그안에서 100개의 곡을 추출한다
  3. 코사인 유사도 모델로 추출한 100개의 곡과 임베딩 모델로 추출한 100개의 곡들중에 겹치는 곡이 많은 순으로 최종적으로 100개의 곡을 예측한다
  1. 태그를 예측
  1. 제목과 태그에 있는 단어를 Kahiii(형태소분석기)로 추출
  2. 제목 + 태그 + 플레이리스트 곡들을 임베딩 진행후 주어진 태그에서 유사한 단어들을 임베딩벡터값(Word2Vec)에서 추출
  3. 가장 많이 중복된 단어순으로 정답을 제출

사용한 형태소 - 일반 명사 , 외국어 , 고유 명사 , 어근

추가한 사전 - preanal.manual

최종결과

최종결과 - 10위권 밖 ( 10위 이내만 등수 및 점수 공개 )

최종제출 직전 결과 - 종합점수 - 0.28392 (24위 / 194팀) ( 곡 - 0.246928(26위) , 태그 - 0.493544(9위) )

About

멜론카카오대회 final제출

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 100.0%