docs: add samples/ bench dataset spec (KO+EN) + broaden audio gitignore

Document the exact format for the KO+EN labeled clips that the bench gate
needs (manifest.jsonl + ground-truth text + optional entities). Ignore
audio/video under samples/** while keeping manifests tracked.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 15:12:20 +09:00
parent 518c03174a
commit 45690371c3
2 changed files with 45 additions and 2 deletions
+6 -2
View File
@@ -21,8 +21,12 @@ venv/
# Models / data / scratch
*.log
models/
samples/*.wav
samples/*.mp4
samples/**/*.wav
samples/**/*.flac
samples/**/*.mp3
samples/**/*.m4a
samples/**/*.mp4
samples/**/*.mov
# ─── OS / editor ──────────────────────────────────────────
.DS_Store
+39
View File
@@ -0,0 +1,39 @@
# samples/ — bench 데이터셋 (KO+EN 도메인)
`bench` 게이트(turbo vs large-v3 의 **R-WER · entity 보존율**)와 혼용어 정확도(AC-4)
검증의 입력입니다. 이 데이터가 있어야 설계 모호도 마지막 ~5%(하이브리드→단일 확정)를
측정으로 닫을 수 있습니다.
## 무엇이 필요한가
1. **오디오/영상 클립** — wav/flac/mp3/m4a/mp4 등(엔진이 ffmpeg로 디코딩). 5~60초 권장, **5~20개부터** 시작 가능.
2. **정답 전사(ground truth)** — 각 클립의 올바른 한국어 텍스트. **영문 기술용어는 영문 그대로**(예: `vLLM`, `API`, `Kubernetes`).
3. (선택) **도메인 엔티티 목록** — entity 보존율 측정용.
## 배치 형식
```
samples/ko_en/
clips/0001.wav
clips/0002.wav
manifest.jsonl # 클립 ↔ 정답 매핑 (한 줄당 1 클립)
entities.txt # (선택) 한 줄당 도메인 용어
```
`manifest.jsonl` 예:
```jsonl
{"audio": "clips/0001.wav", "text": "그 API 서빙할 때 vLLM 쓰면 성능 대박이야", "lang": "ko"}
{"audio": "clips/0002.wav", "text": "FastAPI로 엔드포인트 만들고 Kubernetes에 배포했어", "lang": "ko"}
```
`entities.txt` 예(선택):
```
vLLM
FastAPI
Kubernetes
CTranslate2
GPU
```
## 주의
- 오디오/영상 파일은 `.gitignore`**커밋 제외**(용량·프라이버시). `manifest.jsonl`·`entities.txt`·이 README만 추적.
- entity 보존율은 **정답 텍스트의 영문 표기**를 기준으로 계산하니 표기를 정확히.
- `bench` 구현 시 이 형식을 그대로 소비합니다: `uv run luke-scribe bench --samples samples/ko_en/`.