단어 오류율인 WER는 전사와 참조의 차이를 셉니다. 누락되거나 잘못된 단어를 찾는 데 도움이 됩니다. 하지만 목소리가 제품에 좋은지는 알려 주지 않습니다.
두 생성 클립이 정확히 같은 단어를 말해도 경험은 크게 다를 수 있습니다. 하나는 안심시키고 다른 하나는 항공편이 취소되어 기쁘다는 듯 들립니다. 전사는 통과하지만 대화는 그렇지 않습니다.
이 TTS 모델은 좋은 모델일까요?에서 설명한 우리의 접근은 사람들이 어떤 경험을 하기를 원하는지에서 시작합니다. 실시간 음성 에이전트라면 처음 듣고 응답을 이해하고, 상황에 맞는 전달을 듣고, 어색한 지연이나 끼어들기 없이 대화하는 것입니다. WER는 그 평가 안의 진단 지표 하나이지 독립적으로 최적화할 점수가 아닙니다.
단어 오류율이 실제로 측정하는 것
WER는 전사를 참조에 맞추는 데 필요한 최소 단어 편집 수를 사용합니다.
WER = (substitutions + deletions + insertions) / reference words
100을 곱하면 백분율입니다. 다음 예에서 전사는 “Tuesday”를 “Thursday”로 대체합니다.
Reference: please move my appointment to next Tuesday morning
Transcript: please move my appointment to next Thursday morning
WER = 1 / 8 = 12.5%
단어 오류는 하나지만 예약일이 잘못될 수 있습니다. WER는 이를 다른 대체와 같은 비중으로 셉니다. 그 결과의 영향은 제품 평가에서 다뤄야 합니다.
Microsoft WER 문서는 계산을 설명하고 JiWER 같은 도구는 정렬을 계산합니다. 일관된 텍스트 정규화와 참조 규칙을 사용하세요. 코퍼스 WER는 클립별 백분율을 말없이 평균 내지 말고 총 편집 수를 총 참조 단어 수로 나누세요. 삽입 때문에 WER가 100%를 넘을 수 있습니다. 참조가 비어 있으면 일반 공식이 0으로 나누므로 채점 규칙을 문서화해야 합니다.
서로 다른 두 평가 환경에서 계산은 같습니다.
| 평가 | 비교 대상 | 결과가 알려 주는 것 |
|---|---|---|
| 음성 인식인 STT/ASR | 인식기의 전사와 사람이 작성한 참조 | 인식된 단어가 참조와 다른 빈도 |
| 음성 합성인 TTS | 생성 오디오의 ASR 전사와 의도한 단어 | 합성과 인식이 함께 그 단어를 보존하는지 |
두 번째 환경에서는 다른 모델을 통해 발화를 평가합니다. 겉보기 TTS 오류가 인식기에서 나올 수 있습니다. 깔끔한 전사가 불분명한 발화를 숨길 수도 있습니다. 어느 쪽인지 확인하려면 들어야 합니다.
WER가 TTS 평가를 오도할 수 있는 이유
같은 단어도 전혀 다르게 들립니다
텍스트는 하나의 올바른 표현만 지정하지 않습니다. “I can’t believe it”은 신남, 분노, 슬픔, 풍자를 나타낼 수 있습니다. 모든 단어를 인식했다고 전달 방식이 상황에 맞는지는 알 수 없습니다.
평가 글의 비교 오디오 예시를 들으면 WER는 같아도 전달이 다르다는 것을 알 수 있습니다. 테스트 세트에서 모델이 의도한 단어를 안정적으로 말하게 된 뒤에는 작은 WER 차이가 청자에게 중요한 품질 차이를 거의 설명하지 못할 수 있습니다. 소수점 자릿수를 늘려도 지표가 측정하지 않은 정보를 되찾을 수는 없습니다.
인식기는 오류를 만들기도 숨기기도 합니다
의도한 청자에게 생성 음성이 명확해도 ASR은 특정 억양, 언어, 낯선 이름에 어려움을 겪을 수 있습니다. 합성 실패가 확인되지 않았는데 WER가 높아집니다.
반대도 가능합니다. 인식기가 불분명한 단어를 맥락에서 추론하여 의도한 전사를 반환할 수 있습니다. 전화로 계정 코드를 알아들으려는 사람에게는 그런 행운이 없을 수 있습니다.
회귀 테스트에서는 인식기와 채점 정책을 고정하고 TTS 탓으로 돌리기 전에 표시된 클립을 들으세요. 통과한 클립도 표본으로 확인하세요. 실패만 보면 ASR이 출력을 고쳐 준 경우를 발견할 수 없습니다. 인식기를 고정하면 비교가 더 일관적이지만 사각지대가 사라지지는 않습니다.
정확성은 맥락에 달려 있습니다
모델이 현재형으로 읽든 과거형으로 읽든 전사에는 “read”가 들어갈 수 있습니다. 단어는 같지만 문장에 맞지 않는 발음일 수 있습니다.
날짜 표기도 비슷한 문제를 드러냅니다. “07/08/2026”은 미국 맥락에서 7월 8일, 영국 맥락에서 8월 7일일 수 있습니다. 참조로 정확성을 판단하려면 먼저 제품에서 의도한 지역을 정해야 합니다. 참조 작성자가 다른 쪽을 가정했다는 이유만으로 한 해석을 틀렸다고 하면 안 됩니다.
“$25”와 “twenty-five dollars”처럼 같은 금액을 나타내는 차이는 무해할 수 있습니다. 반면 의미를 바꾸는 차이도 있습니다. 과제에서 허용하는 발화 형태를 정의한 뒤 서식 불일치와 잘못된 날짜, 금액, 식별자를 구분하세요. 텍스트 정규화가 통화자에게 중요한 오류를 지워서는 안 됩니다.
의미 기반 WER가 도움이 되는 곳
의미 기반 WER는 의미를 유지하는 표현 차이와 의미를 바꾸는 오류를 구분하려 합니다. “Twenty-five dollars”와 “$25”는 같을 수 있지만 “fifteen dollars”는 다릅니다. 문자 그대로의 전사 비교가 무해한 차이를 과대평가할 때, 의미를 고려한 점수는 단어 수준 WER와 함께 유용합니다.
채점 방식이 중요합니다. 동등한 것으로 볼 조건을 정의하고 평가기가 바뀐 이름, 금액, 부정을 잡는지 확인하세요. “의미 기반 WER”의 두 구현을 직접 비교할 수 있다고 가정하지 마세요. 의미가 완벽히 같아도 목소리가 안심시키는지, 주소를 너무 빨리 읽는지, 오디오 청크 사이에서 결함이 생기는지는 알 수 없습니다. 대화 품질의 판결이 아니라 진단 하나를 추가하는 것입니다.
지원하려는 대화에서 시작하기
모델을 비교하기 전에 상황을 설명하세요. 누가 듣나요? 어떤 언어와 지역을 기대하나요? 전화로 주소를 듣나요, 헤드폰으로 짧은 답변을 듣나요? 무엇을 이해하거나 다음에 해야 하나요?
예약 확인을 읽는 지원 에이전트라면 날짜와 시간을 처음 듣고 이해할 수 있어야 하고, 차분하게 전달하며, 세부 내용을 따라갈 만큼 쉬어야 한다고 정할 수 있습니다. 종합 WER가 낮다는 것만으로는 어느 요구사항도 충족했다고 할 수 없습니다.
이 요구사항을 중심으로 평가를 만드세요. 대화형 TTS에서는 다음과 같은 차원을 사용합니다.
| 차원 | 테스트할 질문 | 수집할 근거 |
|---|---|---|
| 정확성과 명료도 | 청자가 이름, 숫자, 주소, 코드를 정확하게 알아들을 수 있는가? | 청자의 전사와 중요 정보 확인. WER는 진단에 사용 |
| 맥락적 정확성 | 발음이나 풀어 읽는 방식이 이 상황에 맞는가? | 명시적인 지역, 도메인, 허용 발음 규칙에 따른 검토 |
| 적절한 전달 | 속도, 강조, 감정이 대화에 맞는가? | 상황을 제공한 청취 비교 |
| 반응성 | 통화자가 너무 오래 기다리거나 말을 끊기는가? | 에이전트의 전체 소요 시간과 차례 전환 관찰 |
| 일관성 | 여러 차례에 걸쳐 화자가 안정적으로 유지되는가? | 전체 대화의 목소리, 억양, 전달 방식 변화 검토 |
| 스트리밍 동작 | 실시간 재생에 연결 결함, 반복, 잘린 소리가 생기는가? | 실제 사용할 스트리밍 및 재생 경로로 수집한 오디오 |
일부 테스트는 TTS를, 다른 테스트는 에이전트 전체를 평가합니다. 실패를 진단할 때도 구분하세요. 끼어들기는 발화 차례 감지에서, 긴 쉼은 음성 생성이 아닌 백엔드 조회에서 비롯될 수 있습니다. 통화자는 모두를 경험하지만 해결책은 문제가 시작된 위치에 따라 다릅니다.
맥락 속에서 듣고 실제 경로 테스트
사람의 청취는 필수지만 선호도 점수도 보편적인 정답은 아닙니다. 목소리가 어떤 역할을 해야 하는지 청자에게 알려 주세요. 해당 언어와 지역을 이해하는 사람을 모집하고 모든 청중을 하나의 평균으로 줄이기보다 판단이 갈리는 지점을 보고하세요.
모델 비교에서는 재생 음량, 코덱, 샘플레이트, 제시 순서를 제어하세요. 피로를 줄이도록 세션을 충분히 짧게 유지하세요. 완성된 제품을 테스트한다면 실제 전화나 재생 조건을 유지하고 그 범위를 명시하세요. 그렇지 않으면 코덱 문제를 모델 문제로 오해하거나 테스트를 준비하면서 프로덕션 문제를 없애 버릴 수 있습니다.
짧은 클립과 전체 대화를 모두 사용하세요. 잘 다듬은 오프라인 녹음으로는 응답 텍스트가 계속 도착하는 동안 생성하는 음성의 모든 실패를 볼 수 없습니다. 갑작스러운 청크 연결, 음절 반복, 잘못된 방향으로 시작한 뒤 회복하지 못하는 전달을 들어보세요. 긴 대화에서는 목소리나 억양이 변하는지 확인하세요.
지역과 실패 유형별로 결과를 나누세요. 한 언어의 발음은 개선되면서 다른 언어의 페이싱은 나빠질 수 있습니다. 전역 점수는 둘 다 숨길 수 있습니다. 자동 품질 예측기는 회귀 탐지에 도움이 되지만 대상 언어와 오디오 조건에서 검증해야 합니다. WER를 다른 숫자 하나로 바꿔도 평가 문제는 해결되지 않습니다.
WER로 조사하되 우승자를 선언하지 않기
WER는 단어 수준의 성능 저하를 추적하고 검토할 클립을 찾는 데 여전히 유용합니다. 이름과 영숫자 코드는 정확한 전달이 필수일 수 있습니다. 이런 검사를 유지하세요. 실제 사용할 대화에서 발화가 이해 가능하고 적절하다는 근거와 함께 보세요.
점수가 좋아지면 청자에게 무엇이 달라졌는지 물으세요. 주소가 이해하기 쉬워졌나요? 빠진 단어가 돌아왔나요? 아니면 서식이 바뀌어 참조와 전사가 일치했나요? 대시보드가 같은 녹색 화살표를 보여도 결과는 서로 다릅니다.
차이를 들으려면 이 TTS 모델은 좋은 모델일까요?의 오디오 예시부터 시작하세요. 그다음 자신의 대화 텍스트와 스트리밍 환경으로 Sonic을 테스트하세요. 사용자에게 중요한 여러 차원에서 제품 요구사항을 충족하는 모델을 선택하세요. 전사 점수만으로 그 선택을 할 수는 없습니다.