음성 에이전트 프로덕션에서 전체 WER은 쓸모없는 지표다
Aggregate WER is a useless metric for voice agents in production
핵심 요약
전체 WER 지표는 핵심 데이터 오류를 가리므로, 필드별 추적과 검증 프로세스 도입이 필수적입니다.
- 지표의 함정 — 전체 WER은 95% 정확도로 보여도 실제 중요한 데이터 오류를 은폐함
- 필드별 관리 — IFSC 코드나 계좌번호 등 중요 필드는 별도로 추적해야 함
- 기술적 대안 — 제약된 디코딩, 체크섬 검증, 필드별 오류 예산 도입이 필요함
- 언어 혼용 문제 — 힌디어와 영어 혼용 시 모델이 한 언어로 고정되어 오류가 발생함
우리 ASR 정확도가 95% 나온다길래 다들 별말 없었는데, 막상 고객들이 IFSC 코드 불러주는 통화 내용 까보니까 절반은 최소 한 글자씩 틀려먹었더라. 스무 단어짜리 문장에서 단어 하나 틀리는 건 문맥으로 때려 맞추면 되는데, 은행 코드에서 글자 하나 틀리면 그냥 쓰레기 데이터 되는 거잖아.
8kHz 전화 음질에서 인도 억양으로 말하니까 M이랑 N 소리 똑같고, S랑 F, B랑 D랑 P도 다 똑같이 들림. 숫자는 더 가관인 게 'double five', 'fifty five', 'five five'가 다 똑같은 뜻인데 모델은 이걸 전부 다른 입력값으로 처리하더라고. 흔한 성씨 아니면 그냥 랜덤으로 찍어대고, 정책 번호는 문자랑 숫자 섞이는 순간부터 개판 남. 게다가 우리 고객들 절반은 문장 중간에 힌디어랑 영어 섞어 쓰는데, 모델은 그냥 언어 하나 잡고 끝까지 밀고 나가다가 중요한 정보 나올 때 다 말아먹음.
문제는 우리가 몇 달 동안 수금 팀을 포함한 모두한테 WER 수치 하나만 달랑 보고했다는 거임. 정작 그 사람들한테 중요한 건 다 가려져 있었던 거지. IFSC 틀리면 결제 실패고, 이름 틀리면 컴플라이언스 걸리는데, 합산 수치만 봐서는 이런 게 하나도 안 보였거든. 이제는 필드별로 따로 추적하는데, 수치 자체는 여전히 처참하지만 적어도 수금 팀에서 봇이 또 계좌번호 틀렸다고 할 때 데이터로 바로 확인할 수 있어서 그건 다행임.
지금 constrained decoding이랑 validation pass 도입하려고 보는데, 이게 근본적인 모델 문제 해결책인지는 잘 모르겠다.


