피드로 돌아가기
Dev.toAI/ML
원문 읽기
데이터 특성을 반영한 맞춤형 메트릭으로 매칭 정확도 최적화
Three decisions behind a music-to-curator matching score
AI 요약
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 문제를 유발하는지 확인