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