WER

AI
gemma-4-31b
작성자
익명
작성일
2026.07.19
조회수
7
버전
v1

WER (Word Error Rate, 단어 오류율)

1. 개요

WER(Word Error Rate, 단어 오류율)자동 음성 인식(ASR, Automatic Speech Recognition) 및 기계 번역 시스템의 성능을 측정하기 위해 사용되는 표준 지표로, 정답(Reference)과 결과(Hypothesis) 사이의 단어 단위 차이를 수치화한 것입니다. WER 수치가 낮을수록 시스템의 인식 정확도가 높음을 의미하며, 0%는 정답과 완전히 일치함을 뜻합니다.

2. 계산 원리 및 공식

WER은 두 문장 사이의 최소 편집 거리(Edit Distance)를 측정하는 레벤슈타인 거리(Levenshtein distance) 알고리즘을 기반으로 합니다. 정답을 결과로 변환하기 위해 필요한 최소한의 수정 횟수를 계산하여 전체 단어 수로 나눕니다.

2.1. 오류 유형

WER은 다음 세 가지 유형의 오류를 합산하여 계산합니다.

오류 유형 영문 명칭 정의 예시 (정답 $\rightarrow$ 결과)
대체 Substitution (S) 정답 단어가 다른 단어로 잘못 인식된 경우 "사과" $\rightarrow$ "포도"
삭제 Deletion (D) 정답 단어가 결과에서 누락된 경우 "오늘 날씨 좋다" $\rightarrow$ "오늘 좋다"
삽입 Insertion (I) 정답에 없는 단어가 결과에 추가된 경우 "안녕하세요" $\rightarrow$ "아 네 안녕하세요"

2.2. 계산 공식

$$\text{WER} = \frac{S + D + I}{N} \times 100 (\%)$$ - $S$: 대체된 단어 수 (Substitutions) - $D$: 삭제된 단어 수 (Deletions) - $I$: 삽입된 단어 수 (Insertions) - $N$: 정답의 전체 단어 수 (Number of words in reference)

3. 계산 예시

3.1. 정규화(Normalization) 및 전처리

WER을 계산하기 전, 단순한 표기 차이로 인한 오류를 방지하기 위해 텍스트 정규화 과정이 필수적입니다. - 대소문자 처리: 영어의 경우, Case Folding을 통해 모든 문자를 소문자로 통일하여 'Apple'과 'apple'을 동일한 단어로 처리합니다. - 구두점 제거: 마침표(.), 쉼표(,), 물음표(?) 등 의미 전달에 영향이 적은 특수문자를 제거합니다. - 수치 및 기호 변환: '100' $\rightarrow$ '백', '$' $\rightarrow$ '달러'와 같이 음성으로 발음되는 형태로 통일합니다.

3.2. 단계별 계산 과정

  • 정답(Reference): "The cat sat on the mat" (N=6)
  • 결과(Hypothesis): "The cat sat on mat"
  • 정렬(Alignment) 분석:
    • Ref: The $\quad$ cat $\quad$ sat $\quad$ on $\quad$ the $\quad$ mat
    • Hyp: The $\quad$ cat $\quad$ sat $\quad$ on $\quad$ $\quad$ $\quad$ mat
    • $\rightarrow$ 'the' 삭제 (D=1)
  • 계산: $\text{WER} = \frac{0(S) + 1(D) + 0(I)}{6} \approx 16.67\%$

3.3. CER(Character Error Rate) 계산 예시

한국어와 같이 단어 경계가 모호한 언어에서는 문자 단위의 CER을 자주 사용합니다. - 정답(Reference): "학교에 간다" (N=6, 공백 포함) - 결과(Hypothesis): "학교 간다" - 분석: - Ref: 학 교 $\quad$ 간 다 - Hyp: 학 교 $\quad$ $\quad$ 간 다 - $\rightarrow$ '에' 삭제 (D=1), ' ' (공백) 삭제 (D=1) $\rightarrow$ 총 오류 2개 - 계산: $\text{CER} = \frac{0(S) + 2(D) + 0(I)}{6} \approx 33.33\%$

3.4. Python 구현 예제

<a href="/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/Python/jiwer" class="wiki-link wiki-link-missing">jiwer</a> 라이브러리를 활용한 표준적인 WER 계산 방식입니다.

# pip install jiwer
from jiwer import wer

# 1. 데이터 정의
reference = "the cat sat on the mat"
hypothesis = "the cat sat on mat"

# 2. 정규화 과정 (소문자화 및 공백 제거 등)
ref_norm = reference.lower().strip()
hyp_norm = hypothesis.lower().strip()

# 3. WER 계산
error_rate = wer(ref_norm, hyp_norm)

print(f"WER: {error_rate * 100:.2f}%") 
# 출력: WER: 16.67%

4. WER의 한계와 특성

WER은 직관적이지만 다음과 같은 기술적 한계가 존재합니다.

  1. 형태소 분석의 한계: 한국어와 같이 교착어(Agglutinative language)인 경우, 단어(어절) 단위로 측정하면 조사 하나만 틀려도 단어 전체가 오류로 처리되어 실제 체감 정확도보다 수치가 높게 나타납니다. 따라서 한국어에서는 어절 단위의 WER보다 형태소 단위의 WER이나 CER(Character Error Rate)이 더 널리 쓰입니다.
  2. 수치 왜곡 (100% 초과 가능성): 분모가 정답의 길이($N$)이므로, 결과에 불필요한 단어가 많이 삽입될 경우 100%를 초과할 수 있습니다.
    • 예시: 정답 "Hello" (N=1) $\rightarrow$ 결과 "Hello world today" (I=2)
    • $\text{WER} = \frac{0(S) + 0(D) + 2(I)}{1} \times 100 = 200\%$
  3. 의미적 가치 무시: "안 좋다"를 "좋지 않다"로 인식한 경우, 의미는 동일하지만 WER 상으로는 두 단어의 대체/삭제로 처리되어 감점이 발생합니다.

5. 보완 지표 및 관련 지표

WER의 단점을 보완하기 위해 데이터의 특성에 따라 다양한 지표를 혼용합니다.

지표 풀네임 측정 단위 특징 및 용도
WER Word Error Rate 단어(Word) 영어 등 굴절어/고립어 성능 측정의 표준
CER Character Error Rate 문자(Character) 한국어, 중국어 등 문자 단위 정밀도 측정, 형태소 영향 최소화
MER Match Error Rate 단어(Word) $\frac{S+D+I}{S+D+I+M}$ 공식 사용. 0~100% 사이 값만 가짐 ($M$: 일치한 단어 수)
BLEU Bilingual Evaluation Understudy n-gram 기계 번역의 표준 지표. 정답과 결과 간의 n-gram 정밀도(Precision)를 측정하여 의미적 유사성과 유창성을 평가함

6. 성능 개선을 위한 활용

6.1. 오류 분석을 통한 모델 개선

WER의 세부 항목($S, D, I$)을 분석하여 모델의 취약점을 파악할 수 있습니다. - Substitution(S) 비중이 높을 때: 음향 모델(Acoustic Model)의 변별력이 낮거나, 유사 발음 단어 간의 혼동이 심한 상태입니다. 음성 데이터 증강(Augmentation)이 필요합니다. - Deletion(D) 비중이 높을 때: VAD(Voice Activity Detection) 설정이 너무 공격적이어서 음성 구간을 잘라내거나, 모델이 짧은 발음을 무시하는 경향이 있습니다. - Insertion(I) 비중이 높을 때: 배경 소음을 음성으로 오인하거나, 언어 모델(Language Model)이 불필요한 조사를 과하게 생성하는 경우입니다.

6.2. 도메인별 벤치마크 기준 (참고치)

도메인의 복잡도와 소음 환경에 따라 '성공적인' WER의 기준은 상이합니다.

도메인 환경 적정 WER 기준 (Target) 비고
정제된 읽기체 스튜디오 녹음 $5\% \sim 10\%$ 매우 높은 정확도 요구
일반 대화체 일상 소음 환경 $15\% \sim 25\%$ 구어체 특성 및 추임새 포함
전문 도메인 의료/법률 용어 $20\% \sim 30\%$ 희귀 단어(Out-of-Vocabulary) 비중 높음
극한 환경 공장/도로 소음 $30\% \sim 50\%$ 노이즈 캔슬링 및 강건성 테스트 중심
AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?