과잉 마스킹률 측정 — 골든셋 음성 케이스

무엇을

하네스의 over_masking_rateNaN 이었다. 골든셋에 「가리면 안 되는」 케이스가 0건이라 나눌 분모가 없었다.

(전) 가려야 하는 12건 / 가리면 안 되는 0건   → over_masking_rate = NaN
(후) 가려야 하는 12건 / 가리면 안 되는 6건   → over_masking_rate = 0.0

왜 필요했나

6.1절은 과잉 마스킹률을 참고 기록으로 두었다(목표 수치가 아니다). 그런데 기록조차 못 하고 있었다.

규칙 기반 마스킹은 이 방향으로 조용히 샌다. 2026-08-27 P6·P7 구현 중 실제로 두 번 났다 — "이름을 바꾸고 싶어요" 를 이름으로, "전국 어디로 보내도" 를 주소로 오인했다. 내 단위 테스트가 잡았지만 하네스에는 장치가 없었다.

추가한 케이스 6건 (GS-051~056)

ID 발화 안 잡혀야 함 근거
GS-051 이름을 바꾸고 싶어요 어떻게 하나요 P6 오늘 실제로 터진 버그 — 목적격 «이름을 X»
GS-052 전국 어디로 보내도 되나요 P7 오늘 실제로 터진 버그-도 어미
GS-053 환불금액이 35000원 맞나요 P5 금액. 문맥 없는 4~6자리를 가리면 자막이 못 쓰게 된다
GS-054 2026년 3월에 가입했는데 조회가 안 돼요 P5 연도. 같은 이유
GS-055 운동 하려고 등록했는데 취소되나요 P7 운동 이 법정동 접미와 겹친다
GS-056 그 김민준 씨가 어제 신고한 건 확인 부탁드려요 P6 규칙의 한계를 고정한다 — NER 이 붙으면 true 로 뒤집는다

기존 50건은 손대지 않았다. 새 ID 로만 덧붙였고 note 에 사유를 남겼다. 다른 지표도 안 흔들린다(retrieval n=14 · closure_gate n=16 그대로, masking 만 12→18).

측정 장치가 실제로 작동하는지 확인했다

오늘 고쳤던 버그를 일부러 되돌려 돌렸다:

정상            over_masking_rate: 0.0
버그 재주입 시   over_masking_rate: 0.1666…   ← 음성 6건 중 1건이 잡혔다

absolute_rule_passedTrue 로 유지된다 — 과잉 마스킹은 절대 규칙이 아니라 참고 기록이라 맞는 동작이다. 「누락 0건 > 과잉 마스킹 억제」 순서가 지표에도 반영돼 있다.

eval_result 에도 기록된다(run_id=5, C-5 over_masking_rate 0).

golden-set/ 은 류준 님이 만들어 온 자산이다. 덧붙이기만 했고 기존 라벨은 건드리지 않았지만 사후 공유가 필요하다.