Actions
새기능 #519
open[데이터품질][P2] 매칭·언어감지·중복 묶음
Status:
진행
Priority:
보통
Assignee:
-
Start date:
06/27/2026
Due date:
% Done:
70%
Estimated time:
Description
데이터 정확도 개선 항목:
- is_korean이 앞 200자만 검사 → 번역 방향 오분류 (lyrics_translator.py:720). 전체 한글 비율로 판정.
- findArtistChart 부분일치 LIKE '%..%' → 무관 아티스트 곡 매칭 (ChartMapper.xml:124). 정확/단어경계 매칭.
- 장르 매처 양방향 substring(pop↔k-pop, rap↔trap) (genre_updater.py:59). 별칭맵/단어경계.
- MusicBrainz limit=1 top-hit 무검증 → 잘못된 장르 대량 (genre_updater.py:71-119,257). 이름/score 검증.
- UNIQUE(song_name)로 동명이곡 병합 → 장르/가사/이력 섞임 (load_*; reload_billboard). (song_name,artist) 복합키.
- 영문명 백필 미검증(Deezer/iTunes/googletrans) → 잘못된 가사 조회 유발 (scripts/fill_english_*). 후보 검증.
- 잘린 JSON salvage가 부분 expressions를 완성본으로 저장 (lyrics_translator.py:442). 최소 개수 검증.
- lyrics source가 'lrclib' 하드코딩 → ManiaDB 출처 오기재 (lyrics_fetcher.py:354). 실제 출처 전달.
— 6-페르소나 코드리뷰(2026-06-27)에서 도출. 소스 검증 완료. [AI 등록]
Updated by joungmin ko about 2 months ago
- Status changed from 신규 to 진행
- % Done changed from 0 to 70
커밋 dbbdb3a. 안전·향후오염방지 코드 수정 완료(백오피스 재기동·단위검증):
[x] is_korean 전체 한글/라틴 비율 판정(앞 200자 → 전체).
[x] findArtistChart 부분일치 오매칭 → #524에서 해결.
[x] 장르 매처 정규화equality+별칭맵(pop↔k-pop, rap↔trap, rock↔post-rock 병합 제거).
[x] MusicBrainz top-hit 검증(top-5 + difflib≥0.85/score≥90, 미검증 시 no-match).
[x] 잘린 JSON salvage 최소 5개 미만이면 None(부분 expressions 저장 방지).
[x] lyrics source 실제 출처 기재(maniadb/lrclib) + 재시도 큐를 임의 source 행 기준으로.
[x] 영문명 백필 후보 검증(difflib) + googletrans 저신뢰 가드.
보류→분리: UNIQUE(song_name) 동명이곡 병합은 스키마 마이그레이션이라 신규 #525로 분리(Design-First).
참고: 코드 수정은 향후 오염 방지. 기존 오염 데이터(부분가사·오장르·오영문명)는 재처리 별도 필요. get_lyrics_stats가 아직 source='lrclib' 기준(후속 소소 항목). [AI 조치]
Actions