语音识别接口 - ASR性能指标WER/SER

简介: 做人工智能测试,准确一点,做语音聊天机器人、智能音箱等测试,一定会接触到语音误别即ASR (Automatic Speech Recognition)。本篇主要讲ASR的几个最重要的指标字错率、句错率。

做人工智能测试,准确一点,做语音聊天机器人、智能音箱等测试,一定会接触到语音误别即ASR (Automatic Speech Recognition)。本篇主要讲ASR的几个最重要的指标字错率、句错率。


1

基础概念

1.1语音识别(ASR) 语音识别(speech recognition)技术,也被称为自动语音识别(英语:Automatic Speech Recognition, ASR),狭隘一点白话说:将语音转换为文字的技术。

维基百科:


zh.wikipedia.org/wiki/语音识别

1.2句错率(SER) SER,句错误率(Sentence Error Rate),句子识别错误的的个数,除以总的句子个数即为SER。

计算公式:(下面所有公式省了 * 100%)

SER = 错误句数 / 总句数

1.3句正确率(S.Corr) 句正确率:Sentence Correct,句子识别正确的个数,除以总的句子个数即为S.Corr。


计算公式:

S.Corr = 1 - SER = 正确句数/总句数

1.4字错率(WER/CER) WER:Word error rate,词错率,但一般称为字错率,是语音识别领域的关键性评估指标,WER越低表示效果越好!

CER:Character Error Rate,字符错误率,中文一般用CER表示字错率,原因请见1.4.3。字错率是中文语音识别领域的关键性评估指标,一般认为字错率在低于 3% 时不会影响可读性,而超过 15% 则毫无可读性。


维基百科:

en.wikipedia.org/wiki/Word_e…

1.4.1 计算原理

算法:字符串编辑距离(Levenshtein距离)算法。

编辑距离

en.wikipedia.org/wiki/Levens…

1.4.2 计算公式(重要)

WER=(S+D+I)/N =(S+D+I)/(S+D+H) S 为替换的字数,常用缩写WS

D 为删除的字数,常用缩写WD

I 为插入的字数,常用缩写WI

H 为正确的字数,维基百科是C,但我统一改用H

N 为(S替换+ D删除+ H正确)的字数


Findyou:

1.正确的字数:维基百科里用的是C代表,H = N - (S+D) = C,我这边直接改成H,减少过多概念与变量。

2.大多数文章都没有给出N的计算方式,很容易误以为是原句总字数或者识别结果总字数。

3.不理解没关系,下面实例会帮助理解。

1.4.3 问题

问题1:为什么WER会大于100%

因为有插入字(识别多的字),所以理论上WER有可能大于100%,在下面实例我会举例(请见2.3.5),但实际场景,特别是大样本量的时候,基本太不可能出现。

问题2:说中文应该用CER,即“字符错误率”(Character Error Rate)


Findyou举个栗子:

1 2 英文:hello # 算一个Word 中文:你好 # 算两个字符 啰嗦文字解释,就是:

英文,因为最小单元是Word,语音识别应该用"字错误率"(WER),

中文,因为最小单元是字符,语音识别应该用“字符错误率”(CER)。

BUT(就是但是的意思…),他跟我前面那一句一样,说的都是废话!

我们计算的时候谁不是按:中文的一个字符 = 英文的一个Word,那这样用WER的公式有什么问题呢?

谁再跟你咬文嚼字,怼他,使劲怼!

怼完,说回严谨的话,建议采用CER表示中文字错率,哈哈哈哈哈…

1.5字正确率(W.Corr) 字正确率,Word Correct,一般国内宣传用得多,识别率(识别正确率)达到多少多少(请见1.7)。

计算公式:

W.Corr = (N - D - S)/N = H / N 问题:只计算了识别正确的字,没有管多出来的字(I插入),当然一般情况下不会有什么问题。


1.6字准确率(W.Acc) 字准确率,Word Accuracy

计算公式:

W.Acc = 1 - WER = (N - D - S - I)/N = (H - I)/N 特殊情况:当 I=0 时, W.Acc = W.Corr

问题:为什么W.Acc会是负数?

同WER,因为有插入字。换个说法,因为 字准确率 =1 - WER,而WER可能大于1,所以W.Acc会出现负数,但实际情况基本不存在。

1.7聊点其他 ASR影响因素


人群:男、女、老人、小孩…

音量)

距离(与拾音设备的距离)

角度(与拾音设备的角度)

设备(拾音设备的硬件)

环境:安静、嘈杂(自噪、外噪)、家庭、商场…

句长

口音、方言

语速

语言:中文、英语

大概举几个因素(懒得放脑图,文字也方便大家拷贝),

因为ASR的识别影响因素过多,所以很多时候会从各种纬度测试,比如:男生字错率、女生字错率,或者小孩字错率、平均字错率等等,如果没有公布测试数据与方法,不可信,因会存在很多可操作的地方,最大的问题是:

过拟合:训练数据、测试数据、验证数据是同一份,打外比方说:要考试的卷子就是你前一天发的老师发的练习卷还带答案的。

先扯到这,后面找时间再整理一篇ASR测试方法系统讲一讲,做为测试我们如何去测ASR以及制定各种测试标准。


行业水平

英语-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/CER

百度:2016年 短语识别 3.7%

小米:2018年 小米电视 2.81%

中文-W.Acc:

百度:2019年 识别准确率 99%

搜狗:2019年 识别准确率 997%

讯飞:2019年 识别准确率 99%

中文-W.Acc:

百度:2016年 识别准确率 97%

搜狗:2016年 识别准确率 97%

讯飞:2016年 识别准确率 97%

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
6天前
|
API 语音技术
基于Asterisk和TTS/ASR语音识别的配置示例
基于Asterisk和TTS/ASR语音识别的配置示例如下:1. 安装Asterisk:首先,确保你已在服务器上成功安装Asterisk。可以选择从Asterisk官方网站下载最新版本的安装包并按照指南进行安装。2. 安装TTS引擎:选择适合你需求的TTS(Text-to-Speech)引擎,如Google Text-to-Speech、Microsoft Azure Cognitive Services等。按照所选TTS引擎的文档和指示进行安装和配置。3. 配置Asterisk:编辑Asterisk的配置文件,通常是`/etc/asterisk/extensions.conf
23 5
|
6月前
|
API 语音技术
基于Asterisk和TTS/ASR语音识别的配置示例
​ 基于Asterisk和TTS/ASR语音识别的配置示例如下: 1. 安装Asterisk:首先,确保你已在服务器上成功安装Asterisk。可以选择从Asterisk官方网站下载最新版本的安装包并按照指南进行安装。 2. 安装TTS引擎:选择适合你需求的TTS(Text-to-Speech)引擎,如Google Text-to-Speech、Microsoft Azure Cognitive Services等。按照所选TTS引擎的文档和指示进行安装和配置。 3. 配置Asterisk:编辑Asterisk的配置文件,通常是`/etc/asterisk/extensions.conf
|
机器学习/深度学习 中间件 Linux
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口 接口说明
369 7
|
语音技术
通过Postman调用语音识别接口
通过Postman调用语音识别接口
458 0
通过Postman调用语音识别接口
|
JSON Linux 语音技术
FreeSWITCH 语音识别 ASR 模块
最近很多人都对FreeSWITCH和ASR对接比较感谢兴趣,(,考虑到大部分人,只是研究一下,并不准确购买商业模块,特意做一个开源项目给大家提供一个参考。
2203 0
|
机器学习/深度学习 算法 TensorFlow
语音识别(ASR)系列之三:CTC、RNN-T模型
上一篇系列之二介绍了早期的混合模型,底层使用GMM或者DNN计算帧对应的音素概率,上层使用HMM寻找最优的音素序列,得到最终的文字序列。该模型的缺点:
2512 0
|
存储 人工智能 自然语言处理
能力介绍——ASR语音识别/TTS合成
ASR(自动语音识别)有电话机器人,VOS线路问题或要演示站AI技术支持,外呼中心搭建找博主。VX_ID:3307623172。就是将麦克风采集到的自然声音转化为文字的过程,相当于人的耳朵+大脑(一部分)。
1863 0
|
语音技术
呼叫中心系统语音识别接口(ASR)怎样设置
呼叫中心系统语音识别接口(ASR)怎样设置
|
人工智能 自然语言处理 机器人
人工智能-调百度AI语音识别接口教程
功能介绍 技术领先识别准确
|
人工智能 算法 机器人
语音识别接口 - ASR性能指标WER/SER
做人工智能测试,准确一点,做语音聊天机器人、智能音箱等测试,一定会接触到语音误别即ASR (Automatic Speech Recognition)。本篇主要讲ASR的几个最重要的指标字错率、句错率。
1404 0

热门文章

最新文章