AI 语音转写准不准怎么测?用 JiWER 计算中文 CER 并定位错误

以人工参考稿评估中文语音转写,使用 JiWER 4.0计算 CER、查看替换删除插入,统一标点与数字口径,并区分字符误差和关键事实错误。

判断中文语音转写准不准,先用同一份人工校对稿作参考,再统计替换、删除和插入错误。中文通常没有天然空格分词,字符错误率 CER 是一个便于复现的起点;它回答的是“相对参考稿有多少字符编辑错误”,不能单独证明说话人、时间轴或会议结论正确。

下面使用 JiWER 4.0.0。两组短句是人工构造的计算示例,不来自任何产品的真实识别记录,也不代表工具排行榜。文档与接口核验日期为 2026 年 10 月 1 日。

AI 语音转写准不准怎么测?用 JiWER 计算中文 CER 并定位错误

一、先定义人工真值和比较规则

从有权处理的录音中挑一组能代表使用场景的短片段,人工逐句回听,保存参考文本 reference。对每个候选工具提交同一段音频,把未经人工修好的识别结果保存为 hypothesis。不要拿已修过的稿子参加工具比较,也不要用一个模型的输出当作另一个模型的真值。

比较前写清口径:是否统计标点、空格、大小写、繁简、数字写法和语气词。本例采用 NFKC 规范化、英文转小写、去标点与空白;保留数字、否定词与语气词,也不自动转换繁简。若你关心标点质量,应另做检查,不能在去掉标点的 CER 上声称标点正确。

二、理解 CER 公式

CER = (S + D + I) / N。S 是替换字符数,D 是删除字符数,I 是插入字符数,N 是参考文本字符数;匹配使用最小编辑距离。工具和指标定义见 JiWER 官方项目说明。

人工参考 模拟识别稿 错误 CER
明天下午三点开会 明天下午四点开会 三→四,1次替换;参考8字 1/8=12.50%
请确认方案 请确认新的方案 多出“新的”,2次插入;参考5字 2/5=40.00%

这两句整体 CER 为 (1+2)/(8+5)=23.08%,不是两句百分比的简单平均。要比较长短不一的片段,用全组错误数除以全组参考字符数,否则一句很短的片段会被赋予过大权重。

三、复制代码计算并查看错误位置

Windows PowerShell 中建立独立环境:

py -3.11 -m venv .venv-cer
.\.venv-cer\Scripts\python.exe -m pip install jiwer==4.0.0

保存为 check_cer.py:

import unicodedata
from jiwer import process_characters, visualize_alignment

def normalize_text(text):
    text = unicodedata.normalize("NFKC", text).lower()
    return "".join(
        ch for ch in text
        if not ch.isspace()
        and not unicodedata.category(ch).startswith("P")
    )

reference = ["明天下午三点开会。", "请确认方案。"]
hypothesis = ["明天下午四点开会。", "请确认新的方案。"]
if len(reference) != len(hypothesis):
    raise ValueError("参考与识别片段必须一一对应")

ref = [normalize_text(x) for x in reference]
hyp = [normalize_text(x) for x in hypothesis]
if any(not x for x in ref):
    raise ValueError("本例只评估非空语音片段,空参考请单独评估")

out = process_characters(ref, hyp)
print(f"CER={out.cer:.2%}")
print(f"S={out.substitutions} D={out.deletions} I={out.insertions}")
print(visualize_alignment(out))

执行:

.\.venv-cer\Scripts\python.exe check_cer.py

对上面两组模拟文本,应得到 CER=23.08%,错误计数 S=1 D=0 I=2。再查看字符对齐,确认“点”前的三/四被替换、第二句多出新的。这里是确定文本的计算结果;它没有调用语音模型,也没有测量任何产品的转写效果。字符级计算和可视化接口依据 JiWER 官方使用文档。

四、换成真实录音后,怎样得到有用结论

把 reference 和 hypothesis 替换成你逐片段整理的文本,两份列表保持相同顺序。每个片段记录音频文件名、起止时间、人工参考、原始识别稿、工具与模型版本、语言配置、规范化规则。转写有漏段时,对应 hypothesis 仍留空字符串,不能删掉这一对样本来让结果变好看。

先按同一规则得到整体 CER,再分开检查人名、数字、单位、日期和否定词。上例“三点→四点”只有一次字符替换,却改变了会议时间;另一个稿子即使 CER 更低,若把“不要付款”识别成“要付款”,也可能更不适用。最终选择应同时看关键事实错误、人工修改时间,以及所需字幕或发言人字段是否正确。

不同口音、噪声、多人抢话和专业术语应分别记录。只测一条干净普通话录音,不能推断复杂会议的表现;也不能把去标点后的数字与别人采用原文口径的数字直接比较。

五、这些结果容易被误读

  • CER 可能超过 100%:插入字符数很多时,错误总数可能大于参考字符数。不能把它当作“准确率”,也不应机械地用 1−CER 得到一个业务准确率。
  • 空参考需要单独处理:JiWER 4.0 对空参考有明确行为,纯静音却输出文字会形成插入错误;这类样片可以检查幻觉,不能混淆成普通非空句子的误差比例。
  • 错误不是模型全部造成的:人工真值写错、片段对应错位或两组不同的文本清洗规则,也会增加误差。异常时先回听和检查数据配对。
  • 中文直接套默认 WER 会改变统计单位:没有一致的中文分词规则时,先用 CER;需要 WER 时,必须给所有候选使用同一个分词器与规则,并报告该口径。

两个转写工具 CER 一样,怎么选择?

逐项看错在哪:关键姓名和数字是否正确、漏段是否严重、人工修正要多久、输出能否回听定位。CER 是可比较的文本指标之一,不提供统一合格分数;你应按实际用途制定关键错误不可接受的条件。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30397.html

赞 (0)
AI小管家的头像AI小管家
讯飞智文怎么生成Word初稿?从空白文档、AI撰写到导出
上一篇 1天前
讯飞智文AI改写怎么用?选中段落精简,保留数字和条件
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部