返回博客
Fundamentals

理解语音识别中的CER和WER

在评估语音识别系统性能时,CER和WER是两个非常重要的指标。本文介绍了这两个指标的定义、计算方式以及局限性,在评估语音识别引擎的性能时需要结合其他指标综合评判。

理解语音识别中的CER和WER

语音识别(Speech to Text)已经成为我们日常生活中不可或缺的一部分。从手机上的语音助手到智能家居设备,这些系统都依赖于将语音转换为文字的能力。在评估语音识别系统性能时,CER和WER是两个非常重要的指标。那么,它们分别代表什么,又有什么区别呢?

什么是WER?

WER,全称Word Error Rate,即词错误率,是评估语音识别系统性能的一种常用指标。WER主要用于衡量语音识别系统在识别单词时的准确程度,其计算公式为:

WER=S+D+IN\text{WER} = \frac{S + D + I}{N}

其中:

  • S(Substitutions)是替换错误的数量,即系统将一个正确的单词识别为错误的单词。

  • D(Deletions)是删除错误的数量,即系统漏掉了某个应该识别的单词。

  • I(Insertions)是插入错误的数量,即系统错误地识别出了文本中并不存在的单词。

  • N是参考文本(标准答案)中总的单词数量。

WER的值越低,表明识别错误率越低,也就表示准确性越高。

什么是CER?

CER,全称Character Error Rate,即字符错误率,是类似于WER的指标,但它是基于字符而非单词来计算错误率的。这一指标在某些情况下(例如处理拼音、没有明显单词边界的语言,或是字符为基础的语言模型)更加有效。CER的公式为:

CER=S+D+IN\text{CER} = \frac{S + D + I}{N}

公式中的符号代表的意义与WER相同,只不过这里的 SDIN 都是基于字符级别而不是单词级别的数量。

CER和WER的应用场景

对于以单词为单位的语言,比如英语或其他以字母构成单词的语言,WER是一个常用而直观的衡量标准。然而,在处理如日文、中文等字形构成的语言时,通常使用CER作为衡量标准,因为这些语言的单个字符通常可以代表一个语义单元。

此外,在某些应用场景中,比如拼写的准确识别、字符级别的校正任务中,CER也可能比WER更能反映系统性能。

计算示例

让我们通过一个简单的日语示例来理解如何计算。假设有以下日语文本:

  • 参考文本(Reference,即标准答案): 今日は天気がいいね

  • 识别文本(Hypothesis,即语音识别的结果): 今日天気はいいよね

在这个示例中,由于文本语言是日文,更适合用CER作为衡量标准。因此,接下来,我们计算CER。

手动计算CER

Reference
Hypothesis
错误类型DSI
  1. 替换错误(S):

    • 字符 被错误地识别为 。因此,替换错误数 S=1。
  2. 删除错误(D):

    • 字符 被漏识别。因此,删除错误数 D=1。
  3. 插入错误(I):

    • 字符 被额外插入。因此,插入错误数 I=1。
  4. 总字符数(N):

    • 参考文本中有9个字符。因此,N=9。

将这些数值代入CER公式:

CER=S+D+IN=1+1+190.333\text{CER} = \frac{S + D + I}{N} = \frac{1 + 1 + 1}{9} \approx 0.333

因此,此示例中的CER大约为0.333,即33.3%。

用Python计算CER

通过上述的简单计算示例,我们可以清楚地了解CER的计算方法。WER的计算同理,在此不再赘述。但手工计算毕竟繁琐,好在有很多工具可以帮助我们完成这些计算。以下我们用JiWER 这个Python库举例:

准备环境

需要 Python >=3.8

pip install jiwer

计算CER

import jiwer

reference = "今日は天気がいいね"
hypothesis = "今日天気はいいよね"
# Calculate CER
out = jiwer.process_characters(reference, hypothesis)
# Print CER only
print(f"CER={out.cer}\n-------")
# Print detailed infomation
print(jiwer.visualize_alignment(out))

执行以上代码后,将输出以下信息:

CER=0.3333333333333333
--------
=== SENTENCE 1 ===

REF: 今日は天気がいい*ね
HYP: 今日*天気はいいよね
     D  S   I

=== SUMMARY ===
number of sentences: 1
substitutions=1 deletions=1 insertions=1 hits=7

cer=33.33%

JiWER同样也支持WER的计算,可以访问使用文档 来探索更多功能。

CER和WER计算前的额外处理

在计算CER和WER时,我们通常只关注文字本身的错误,因此在计算之前需要对参考文本和识别结果做一些预处理工作:

  • 展开缩写词:将文本中的缩写词展开为实际的读法,例如“IEEE”展开为“I triple E”

  • 统一大小写:对于英语等区分大小写字母的文字,一般全部统一成小写字母

  • 去除标点符号:将参考文本和识别结果中的标点符号全部去除,只保留文字

  • 处理ITN变换:多数的语音识别系统内置ITN功能,可以将日期、数字等对象以惯用格式展示,如下表所示:

未开启ITN的结果开启ITN的结果
百分之二十20%
一千二百三十四元1234元
四月三日4月3日

在进行CER或WER计算前,我们需要将参考文本和识别结果统一成“未开启ITN”的样式,即所有文本都使用该语言自有的文字表示,且与语音的发音内容完全一致,文本不包含任何的阿拉伯数字、符号等内容。如果您使用DolphinVoice语音识别API,您可以通过设置参数 enable_inverse_text_normalization = false来关闭ITN功能,从而使语音识别结果满足上述的要求。关于ITN的更多信息,请参考文章:浅谈语音识别中的ITN技术

CER和WER的应用注意事项

虽然CER和WER是评估语音识别系统性能的重要指标,但它也有其局限性。比如,CER和WER指标计算无法涵盖许多影响文本可读性的因素。例如,标点符号的位置和种类、数字和符号(如日期、时间)的格式化,以及文本流畅性的处理,都是影响用户体验的重要因素,但这些都不在CER和WER的评估范围之内。

此外,对于日语,同一个词汇可能会有多种书写形式,比如,参考文本为 全て ,语音识别的结果为 すべて ,这两种写法其实都是正确的,但在CER计算中会被视为1个替换错误和1个插入错误,从而影响CER计算结果。这一问题虽然对可读性和实际理解几乎没有影响,但却会导致CER降低。

因此,在评估语音识别引擎的性能时,不能仅仅依赖于CER或WER。我们需要综合分析包括CER/WER、可读性和用户体验在内的多项指标,将其作为性能评估的参考依据,以全面了解系统的真正能力和用户实际体验。


株式会社DolphinAI已通过SOC 2 Type 1认证和ISMS(ISO/IEC 27001)认证,可在安全环境中提供高精度语音识别服务,平均每日实际场景使用约7,000小时。在呼叫中心行业,DolphinVoice的服务已被Cloopen株式会社的SimpleConnect平台正式集成商用;与株式会社三通电信服务(株式会社三通テレコムサービス)合作开发推出AI通话纪要服务

如需咨询语音识别系统的接入或相关问题,请随时联系我们。

立即开始


作者简介

朝仓 匡广 / Andy Yan

  • 株式会社DolphinAI 首席执行官
  • 株式会社Advanced Media(任职8年) 前海外事业部部长
  • 语音AI实施经验:12年
  • 业绩:30多家企业的语音AI集成支持
  • 领域:语音识别、语音合成、呼叫中心AI、AI会议记录、语音对话设备
  • 市场:日本、中国大陆、台湾、香港
  • 撰文:100篇以上

公开报告

  • “AI新势力·产品开放日” by Tokyo Generative AI Development Community(2025年10月25日)
  • “TOPAI国际AI前沿·生态系统邀请限定活动” by TOPAI & Inspireland Incubator(2025年7月29日)
  • "Global AI Conference & Hackathon" by WaytoAGI(2025年6月7日)

联系方式

Email: mh.asakura@dolphin-ai.jp
LinkedIn: https://www.linkedin.com/in/14a9b882/

关于株式会社DolphinAI

专注于日语等语言的语音识别、语音合成、语音对话技术开发与服务的AI企业。

提供服务:DolphinVoice(语音交互SaaS平台)
主要功能:语音识别(日语、汉语、英语、中英混说、日英混说)、语音合成(日语、汉语、英语)
实际应用:在呼叫中心和AI会议记录行业中,平均每日累计商用时长约7,000小时

■ 安全体系

■ 咨询联系

️ (+81) 03-6161-7298

 voice.contact@dolphin-ai.jp

 https://dolphin-ai.jp/

分享文章