피드로 돌아가기
Three decisions behind a music-to-curator matching score
Dev.toDev.to
AI/ML

데이터 특성을 반영한 맞춤형 메트릭으로 매칭 정확도 최적화

Three decisions behind a music-to-curator matching score

Satoshi Yamashita2026년 6월 13일5intermediate

Context

독립 아티스트와 큐레이터를 연결하는 OTONAMI 플랫폼에서 단순 알고리즘 적용 시 실제 데이터와 매칭 결과 간의 괴리 발생. Cosine Similarity와 Jaccard Similarity 등 표준 수식만으로는 음악 데이터의 비대칭성과 노이즈를 처리하는 데 한계 노출.

Technical Solution

  • Jaccard Similarity 대신 Recall 기반 Genre Score 설계를 통한 큐레이터의 광범위한 취향 페널티 제거
  • 데이터 비대칭성을 고려하여 Track Genre가 Curator Genre에 포함되는지 확인하는 비대칭적 평가 구조 채택
  • BPM 검출 오류로 인한 Half-time/Double-time 노이즈를 차단하고자 Audio Vector에서 Tempo 차원을 의도적으로 제외
  • Cosine Similarity 계산 시 Tempo 제외를 통해 벡터 거리 왜곡 및 매칭 점수 붕괴 방지
  • 데이터 누락 시 0점 처리 대신 Neutral Value(0.5)를 부여하여 신규 아티스트의 메타데이터 부족으로 인한 순위 하락 방지
  • Genre(0.55), Mood(0.25), Audio(0.20) 가중치 분배를 통한 신호 강도 기반의 최종 스코어링 체계 구축

1. 데이터 집합의 크기 차이가 클 때 Jaccard와 같은 대칭적 지표가 적절한지 검토

2. 자동 추출 데이터(BPM 등)의 신뢰도가 낮을 경우 거리 기반 메트릭에서 제외하고 단순 표시용으로만 분리

3. Sparse Data 처리 시 기본값(0)이 부정적 신호로 작용하여 Cold Start 문제를 유발하는지 확인

원문 읽기