ASR性能测试方案--详细见云盘
目录:
1. 什么是WER
2. WER计算原理
3. WER测试设计方案
4. 当前业界识别水平
1. 什么是WER
在语音识别(Automatic Speech Recognition, ASR)中,常用的评估标准为词错误率WER(Word Error Rate),当测试语言为中文时,也会使用CER(Character Error Rate)字符错误率,两者计算原理是一样的,英文基本单位是单词Word,中文基本单位是Character。本文中统一使用WER。
WER计算方式为:为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换,删除,或者插入某些词。这些插入,替换,删除的词的总个数,除以标准的词序列中词的个数的百分比,即为WER,其计算公式如下所示:
字准确率Word Accuracy,简写为 W.Acc,则有W.Acc计算公式:W.Acc = 1 – WER
由于存在计算关系,所以我们测试时只需要测WER即可。
2. WER计算原理
第一行为标准的词序列(REF reference 参照),第二行为识别出来的词序列(HYP hyphen连字符),第三行为字符分类(Eval evaluate 评价)。
那么上述的WER计算如下所示:
增加词3个,替换的词6个,删除的词1个,那么WER为:
WER = (6 + 3 + 1)/ 13 = 76.9%
同理,中文例子如下:
REF |
今 |
天 |
* |
天 |
气 |
怎 |
么 |
样 |
HYP |
惊 |
天 |
田 |
天 |
气 |
* |
* |
* |
Eval |
S |
|
I |
|
|
D |
D |
D |
WER = (1 + 1 + 3)/ 7 = 71.4%
3. WER测试设计方案
本次测试方案分为:
a) 准备好一个标准测试集的txt文本(或其他格式)作为“参考字串集合“,以txt文本为例,记录内容如下
1 今天天气怎么样
2 你叫什么名字
3 .......
b) 准备好测试Demo程序,测试Demo会将测试过程中ASR生成的语句记录到一个文件中,作为”识别结果集合”,格式和步骤a)中的文件一致,便于字串的比较
c) 将“参考字串集合“和”识别结果集合”中的字串按照上文中”2.WER计算原理“进行计算,
输出WER测试结果
4. 当前业界识别水平
英语-WER:
IBM:行业标准Switchboard语音识别任务,2016年 6.9%,2017年 5.5%
微软:行业标准Switchboard语音识别任务,2016年 6.3% -> 5.9%,2017年 5.1%,这个目前最低的。
说明:ICASSP2017上IBM说人类速记员WER是5.1%,一般认为5.9% 的WER字错率是人类速记员的水平。
中文-WER/CER:
小米:2018年 小米电视 2.81%
百度:2016年 短语识别 3.7%
中文-W.Corr(W.Corr = W.Acc = 1-WER):
百度:2016年 识别准确率 97%
搜狗:2016年 识别准确率 97%
讯飞:2016年 识别准确率 97%
数据来源:
微软WER 5.9%:https://arxiv.org/abs/1610.05256
微软WER 5.1%:
https://www.microsoft.com/en-us/research/wp-content/uploads/2017/08/ms_swbd17-2.pdf
小米电视CER 2.81% :https://arxiv.org/pdf/1707.07167.pdf
国内百度等同时宣布识别准确率97% : https://www.zhihu.com/question/53001402
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现