요즘.zip
커뮤니티 해설난이도 보통파이토치 한국 사용자 모임 · 10월 27일(화) 공개

한국어 음성인식: 숫자 표기가 모델 순위를 뒤집는 이유

같은 음성인식 결과도 숫자 정답을 어떻게 적느냐에 따라 평가 결론이 바뀌어, 인식 오류와 표기 차이를 나눠야 함을 보여줍니다.

쉽게 말하면비유하자면 받아쓰기 시험에서 '세 개'와 '3개'를 서로 다른 답으로 채점하는 것과 같다. 이 글은 같은 답안을 정답지 표기만 바꿔 다시 채점했고, 숫자가 든 628문장에서 두 모델의 우열이 뒤바뀌는 것을 보였다.

왜 봐야 하나
음성인식 모델을 고를 때 점수 하나만 보면 표기 습관 차이를 실력 차이로 착각할 수 있다. 원래 점수와 표기를 맞춘 점수를 함께 보고, 숫자가 든 문장은 따로 확인하는 편이 좋다. 개발자 자체 실험이라는 점은 감안해야 한다.

이 글은 한국어 음성인식(STT)의 글자 오류율(CER)을 비교할 때, 숫자 표기 차이가 모델의 우열을 뒤집을 수 있음을 보여주는 개발자 자체 평가다. 같은 음성에서 나온 같은 출력을 두 가지 정답 표기로 채점하자 숫자 발화 부분집합의 결론이 달라졌다. 숫자 읽기 후보를 함께 고려하는 kocer를 적용하면 이 사례의 비교 방향이 일치했다. 10월 27일의 새 해설이며 모델 출력 실험은 10월 24일, 채점은 10월 26일의 kocer 0.4.0 기준이다.

알아낸 것

  • 숫자가 포함된 628발화에서 동일한 두 모델의 비교 방향이 철자 정답과 발음 정답에 따라 바뀌었습니다.
  • 숫자 읽기를 함께 고려하면 두 정답 방식 모두 한국어 추가학습 모델이 유리했으며, 전체 6000발화의 순위가 뒤집힌 것은 아닙니다.
  • 채점 규칙의 버전·분모·신뢰구간과 원래 CER을 함께 보고해야 결과를 해석할 수 있습니다.

한계와 주의할 점

  • 10월 27일 새 평가 해설이며 출력 생성 실험은 10월 24일, 현재 채점 규칙은 10월 26일 기준입니다.
  • 개발자의 자체 실험이며, 숫자 정규화가 모든 의미 차이를 올바르게 판별한다고 보장하지 않습니다.

용어 풀이

CER (Character Error Rate, 글자 오류율)
음성인식 평가 지표로, 정답 문장과 모델 출력을 글자 단위로 비교해 치환·삭제·삽입된 글자 수를 정답 글자 수로 나눈 값이다. 값이 낮을수록 좋다. 이 연구에서는 숫자 표기 차이가 CER을 왜곡하는 문제를 다룬다.
kocer
저자가 공개한 한국어 STT 채점 도구. 띄어쓰기·문장부호·숫자·영문 약어의 표기 차이를 오류로 세지 않고, 숫자는 가능한 읽기 후보 중 CER이 최소가 되는 조합을 선택해 같은 말로 처리한다. 버전 0.4.0이 기준이다.
nlptutti
한국어 STT 평가를 위한 기존 도구로, 띄어쓰기와 문장부호는 무시하지만 숫자 표기 차이는 오류로 센다. 이 연구에서 kocer와 비교되는 기준 도구 중 하나다.
paired bootstrap
두 모델의 성능 차이가 우연인지 확인하는 통계 방법. 문장 단위로 무작위 재표본을 2,000번 뽑아 CER 차이의 95% 신뢰구간을 계산한다. 신뢰구간이 0을 포함하지 않으면 차이가 유의미하다고 본다.
조수사
개, 층, 시, 분처럼 수량이나 순서를 나타내는 단위 명사. 숫자의 읽기는 뒤에 오는 조수사에 따라 달라지는데(3개=세 개, 3층=삼 층), kocer는 조수사 사전을 이용해 올바른 읽기를 선택한다.

더 깊이 읽기 읽는 데 약 6분

배경과 문제

CER은 치환·삭제·삽입된 글자 수를 정답 글자 수로 나눈 값이다. 정답이 “사과 세 개”이고 출력이 “사과 3개”라면 읽는 뜻은 같아도 글자가 달라 오류가 생긴다. 숫자는 뒤에 오는 말에 따라 읽기가 달라진다. “3개”는 “세 개”, “3층”은 “삼 층”이어서 모두 하나의 문자열로 단순 치환하기도 어렵다.

문제는 점수가 조금 달라지는 데서 끝나지 않는다. 숫자를 한글로 쓰는 모델과 아라비아 숫자로 쓰는 모델을 비교하면, 정답 표기가 어느 쪽인지에 따라 유리한 모델이 바뀔 수 있다. 저자는 KsponSpeech의 숫자 포함 628발화에서 한국어 추가학습 모델 TeamUNIVA 정식판과 Qwen3-ASR 기본 모델의 동일한 출력을 비교했다.

기존 접근의 한계

이 글에서 비교한 jiwer 기본 CER은 공백과 문장부호도 세고, nlptutti 방식은 그 둘을 지우지만 숫자 표기 차이는 남긴다. kocer는 숫자와 영문 약어의 가능한 읽기까지 고려한다. 여기서 비교한 기본 설정의 차이이며, 모든 음성인식 평가법이 숫자를 처리하지 못한다는 뜻은 아니다.

KsponSpeech는 일부 구간을 철자와 발음의 이중 전사로 제공한다. 한쪽만 골라 정답으로 삼으면 표기 습관이 점수에 끼어들 수 있다. 반대로 자막처럼 철자 자체가 결과물이라면 이런 차이를 지워서는 평가 목적이 달라진다. 따라서 어떤 오류를 재려는지 먼저 정하고 정규화 전후를 함께 봐야 한다.

연구방법을 단계별로

실험은 공개 모델 6개, SenseVoice의 두 설정을 포함한 7개 조건으로 진행했다. Zeroth 457발화, FLEURS 382발화, Common Voice 27의 579발화와 KsponSpeech 6,000발화, 전화 음성 1,936발화를 사용했다. 기본 비교는 greedy 방식이지만 모델마다 수치 정밀도·최대 출력 길이 등 세부 설정은 다르다. 저장한 같은 출력에 채점 방식을 바꿔 적용한다는 점이 핵심이다.

채점은 원래 CER, 공백 제거, 공백·문장부호 제거, 숫자·약어 읽기까지 고려하는 단계로 나눈다. kocer는 숫자의 한자어·고유어·자릿수 읽기 후보를 만들되 조수사 규칙으로 제한하고, 허용 후보 중 편집거리가 가장 작은 조합을 고른다. “세 개”와 “3개”는 맞게 보면서 “세 개”와 “네 개”는 오류로 남기는 방식이다. 후보 조합이 64개를 넘으면 구간별 근사를 사용한다.

모델 비교에는 문장 단위 paired bootstrap을 사용한다. 같은 문장 묶음을 두 모델에 공통으로 재표집해 2,000개의 점수 차이를 만들고 95% 신뢰구간을 계산한다. 정규화가 오류를 숨기는지도 작성자가 표본을 읽어 점검했다. 이는 선택한 데이터와 채점 규칙 아래의 불확실성을 살펴보는 방법이며, 다른 환경에서도 같은 차이가 난다는 보장은 아니다.

결과와 숫자의 의미

핵심 사례는 KsponSpeech 숫자 628문장에서의 순위 역전이다. 차이는 추가학습 모델 CER에서 기본 모델 CER을 뺀 값으로, 음수일수록 추가학습 모델이 좋다. 공백·문장부호만 제거한 방식으로 정답을 철자('3시')로 쓰면 파인튜닝 모델이 원래 모델보다 8.50%p 좋았지만(95% CI [-9.32, -7.70]), 발음('세 시')으로 쓰면 4.13%p 나빴다(95% CI [+3.40, +4.91]). 즉, 같은 출력인데 정답 표기만 바꾸면 결론이 정반대로 뒤집혔다. kocer를 적용하면 철자 정답에서 2.32%p 좋고(95% CI [-2.79, -1.88]), 발음 정답에서도 2.41%p 좋아(95% CI [-2.86, -1.96]) 일관된 결과가 나왔다. 다만 KsponSpeech 전체 6,000문장으로 보면 숫자가 없는 문장이 많아 효과가 희석되어 순위 자체는 바뀌지 않았다. 저자는 회의록이나 콜센터처럼 숫자가 많은 데이터일수록 이 문제가 중요해진다고 지적했다.

공개 세 데이터셋의 1,418발화를 합치면 모델에 따라 원래 채점의 오류 개수 중 46~64%가 표기 차이였다. 주된 몫은 공백과 문장부호이며 숫자만의 효과가 아니다. 전화 음성 HR 분야에서는 Whisper의 kocer CER이 5.02%, BuzzASR은 5.36%였다. 어떤 모델도 모든 데이터셋에서 이기지 않았으므로, 합산 순위 하나로 일반적인 우열을 정하지 않아야 한다.

구체적인 예시

원문 README의 예를 보면 “세 시 삼십 분”과 “3시 30분”의 CER은 jiwer 0.625, nlptutti 0.600, kocer 0.000이다. 반면 “사과 세 개 주세요”와 “사과 네 개 주세요”는 kocer에서도 0.143이다. 첫 예는 표기 차이, 두 번째는 내용 차이로 처리한다. 이것은 채점 규칙을 설명하는 예이며 실제 음성으로 별도 시험한 발화라고 제시된 것은 아니다.

개발자는 kocer 0.4.0의 숫자·영문 단계 때문에 정답 처리된 문장 100개도 읽었다. 숨긴 인식 오류는 없었고 “일 세기 전”과 “1세기 전”처럼 해석이 갈리는 사례 1개는 애매하다고 표시했다. 영문 약어가 적고 검사 표본도 작아, 이 결과를 모든 문장의 의미를 올바르게 판별한다는 증명으로 받아들일 수는 없다.

한계와 오해하기 쉬운 점

숫자 읽기 사전과 단위 규칙은 완전하지 않다. 영문 약어 처리의 효과도 공개 평가 데이터에 영문이 적어 충분히 검증되지 않았다. kocer는 읽으면 같은 표현을 허용하려는 도구이지 문맥의 의미를 이해하는 판정기가 아니다. 구어 표현이나 의미가 갈리는 띄어쓰기, 허용 후보의 과잉 범위는 별도 검수가 필요하다.

분모도 중요하다. kocer 0.4.0은 결과에 따라 정답 후보의 길이가 달라지던 문제를 고쳐, 정답쪽 표기로 분모를 고정했다. 원래 CER은 공백을 포함한 다른 분모를 쓰므로 두 CER의 감소율을 바로 “가짜 오류 비율”이라 부르면 안 된다. 앞의 표기 차이 비중은 오류 개수를 비교한 값이다. 점수 규칙이 바뀐 구버전과도 섞지 않아야 한다.

실제로 어떻게 활용할까

실무에서는 같은 음성과 저장한 출력에 원래 CER과 정규화 CER을 함께 계산하고, 숫자 포함 발화를 따로 확인할 수 있다. breakdown은 오류가 공백·문장부호·숫자 표기와 나머지 항목에 얼마나 나뉘는지 보여준다. 중요한 이름이나 금액이 실제로 맞았는지는 점수 하나에 맡기지 말고 목적에 맞게 따로 검토하는 것이 좋다.

compare는 같은 정답에 대한 모델별 출력의 차이와 신뢰구간을 제공한다. 예를 들어 공개 세 데이터셋에서 BuzzASR과 TeamUNIVA의 차이는 -0.16%p, 구간은 [-0.37, +0.04]로 0을 포함했다. 작은 점수 차이만으로 확실한 승자를 정할 수 없다는 뜻이다. 데이터셋·디코딩 조건·채점 버전과 두 점수를 함께 기록하면 비교를 다시 검토하기 쉽다. 여기서는 공개 문서와 표를 대조했으며 음성 실험을 독립 실행하지 않았다.

원문에서 확인한 근거 4곳
  • KsponSpeech 숫자 628문장에서 파인튜닝 모델과 원래 모델의 비교가 정답 표기에 따라 뒤집힌다. 기존 방식(nospace+punct)에서는 철자 정답에서 8.50%p 좋지만 발음 정답에서 4.13%p 나쁘고, kocer에서는 각각 2.32%p, 2.41%p 좋다.kspon (spelling ref): 628 utterances with numbers
  • 공개 데이터셋 3종(1,418발화)에서 raw CER이 오류로 센 것 중 46~64%가 표기 차이였고, 대부분은 띄어쓰기와 문장부호였다.What this says.
  • 숫자·영문 단계로 정답 처리된 문장의 별도 표본 검사에서도 애매한 의미 사례가 있어, 정규화 결과를 모든 상황의 무오류로 해석할 수 없다.Because 0.4.0 widened the number and Latin candidates
  • 정규화가 실제 오류를 숨기지 않는지 확인하기 위해 기존 CER > 0이고 kocer CER = 0인 문장 100개를 직접 읽었고, 실제 오류를 숨긴 경우는 0건, 애매한 경우는 1건이었다.Does the normalization hide real errors?

10월 27일(화) 정리 · AI가 쓰고 원문과 대조

AI 목록

다른 AI 글

전체 보기
물리 연구를 통째로 맡겨 보는 AI 시험 FrontierPhysics물리학자 42명이 자기 연구로 만든 과제 56개를 AI 에이전트에게 통째로 맡겼더니, 가장 잘한 AI도 168번 가운데 46…평가·벤치마크난이도 보통AI가 아는 것과 '안다'는 말의 차이를 잰 벤치마크 FinDendro날짜가 붙은 미국 금융 사실 2,226건으로 AI가 실제로 맞히는 것과 '안다'고 말하는 것을 견줬더니, 대부분의 모델에서…평가·벤치마크난이도 보통에이전트 메모에 근거 기록을 연결하는 기억 기법 WikiTraceAI 에이전트가 쌓아 둔 교훈마다 근거가 된 작업 기록을 연결해 되짚게 했더니, 메모 때문에 틀리는 일이 줄고 평균 점수가…연구 · 프리프린트난이도 보통세포 종류별로 DNA 변이 영향을 예측하는 알파게놈 2DNA 100만 글자와 '어떤 세포인지'를 함께 넣는 모델을 만들어, 변이가 세포 종류마다 유전자 활동을 어떻게 바꾸는지 이…공식 연구 발표난이도 어려움시그널 암호 코드 보안을 AI가 증명한 AlphaProof Code사람이 '무엇을 증명할지'를 정하면 AI 에이전트 팀이 증명을 쓰는 방식으로, 메신저 시그널의 암호 코드가 보안 약속을 지킨…공식 연구 발표난이도 어려움AI 모델 파일에 남은 GPU 지문을 읽는 체크포인트 포렌식공개된 AI 모델 파일에 남은 초기값 흔적으로 첫 값을 만든 GPU 계열을 가려내는 방법을 내놓았다. 중국 4개 회사의 모델…기술 보고서난이도 어려움생활 속 일을 실제로 해내는 AI를 평가하는 LifeVal시간 사용 조사와 이용자 설문으로 생활 과제를 정한 평가이며, 공개된 일부 과제 점수의 의미와 한계를 살펴봅니다.평가난이도 쉬움잡음을 지웠더니 언어 판별이 나빠졌다: SceneMaker의 한국어 방송 실험한국어 방송 6편의 발화 3,115구간에서 잡음 제거가 언어 판별 점수를 낮춘 사례를 살펴보고, 검수 방식과 적용 범위를 구…커뮤니티 해설난이도 보통