ASR算法学习和测试注意点

1、算法介绍

语音识别(Speech Recognition)也被称为自动语音识别(英语:Automatic Speech Recognition, ASR),是将语音音频转换为文字的技术。

ASR语音识别技术应用广泛,下面列出几个主要领域:
1.语音控制
语音控制可以实现人机交互,包括打电话、播放音乐、调节电视频道等。语音控制一般需结合智能家居等场景使用,是该技术被广泛应用的一个实例。
2.智能客服
智能客服是基于自然语言处理技术,针对用户的问题提供自动回答的服务。在流量高峰期间,客服人员有时难以满足用户的需求,因此智能客服的应用有助于解决此类问题。
3.听写
听写系统是将口头语言转换成文字的系统,主要应用于教育、医疗、司法等领域。听写系统可以帮助用户快速录入文字,提高效率。
4.自动字幕
自动字幕技术是利用ASR语音识别技术实现将语音转换为文字,同时还会在视频或直播内容中加入相应的文本字幕。当有听障人士观看视频时,字幕技术可以帮助他们理解清晰的内容。


2、原理介绍


整个过程遵循“输入-编码-解码-输出”的过程:


编码过程:语音识别的输入是声音,属于计算机无法直接处理的信号,所以需要编码过程将其转变为数字信息,并提取其中的特征进行处理。编码时一般会将声音信号按照很短的时间间隔,切成小段,成为帧。对于每一帧,可以通过某种规则(例如MFCC特征)提取信号中的特征,将其变成一个多维向量。向量中的每个维度都是这帧信号的一个特征。


解码过程:解码过程则是将编码得到的向量变成文字的过程,需要经过两个模型的处理,一个模型是声学模型,一个模型是语言模型。声学模型通过处理编码得到的向量,将相邻的帧组合起来变成音素,如中文拼音中的声母和韵母,再组合起来变成单个单词或汉字。语言模型用来调整声学模型所得到的不合逻辑的字词,使识别结果变得通顺。两者都需要大量数据用来训练。



输入是一整段语音,输出是对应的文本,两端都能处理成规则的数学表示形式,只要数据足够,模型合适,我们也许能训练出一个好的端对端模型。


3、算法测评标准

语音识别的精准与否,主要是计算字错率WER、句错率SER,实际工作中,一般识别率的直接指标是“WER(词错误率,Word Error Rate)”
定义:为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换、删除或者插入某些词,这些插入、替换或删除的词的总个数,除以标准的词序列中词的总个数的百分比,即为WER。

WER公式为:

image.png


Substitution——替换
Deletion——删除
Insertion——插入
N——单词数目

举例如下
标准词序列:
        I went to the hospital yesterday because of a severe cold。
识别词序列:
        I went went to the hospital yesterday because a serious cold。
Substitution = 1
Deletion = 1
Insertion = 1
N = 11

那么计算结果:WER = 100*(1+1+1)/11%=27%,同时计算出Accuracy = 73%。

当然实际业务情况,远比这个复杂:

1)WER可以分男女、快慢、口音、数字/英文/中文等情况,分别来看。甚至还有混杂场景。
2)因为有插入词,所以理论上WER有可能大于100%,但实际中、特别是大样本量的时候,是不可能的,否则就太差了,不可能被商用。
3)站在纯产品体验角度,很多人会以为识别率应该等于“句子识别正确的个数/总的句子个数”,即“识别(正确)率等于96%”这种,实际工作中,这个应该指向“SER(句错误率,Sentence Error Rate)”,即“句子识别错误的个数/总的句子个数”。不过据说在实际工作中,一般句错误率是字错误率的2~3倍,所以可能就不怎么看了。

那么目前的行业标准是多少呢?

英语-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:
小米:2018年 小米电视 2.81%
百度:2016年 短语识别 3.7%
中文-W.Corr:
百度:2016年 识别准确率 97%
搜狗:2016年 识别准确率 97%
讯飞:2016年 识别准确率 97%

4、其他

声音检测 Voice Activity Detection

声音检测常用的指标是识别错率(Detection Error Rate),公式为:

image.png


其中
●False Alarm, 将非语音片段识别成为语音片段的时间,简称“狼来了”;
●Missed Speech, 将语音片段识别成为非语音片段的时间,简称“脱靶”;
●Total Duration of the Time, 参考语音标注片段的总时长。
同时,声音检测也可以使用正确率(Accurancy, 预测值将输入标签识别正确的比例),召回率(Recall,预测值中的语音片段占整体语音片段的比例)和准确率(Precision, 检测出来的语音标签中真正的语音标签的比例)。

主要是非标准的语音识别场景,复杂背景音的业务场景。
 

话者分离 Speaker Diarization

说话人分离(Speaker Diarization),指将语音按照说话人ID分类,解决“Who spoke when”的问题。

其中的难点在于:
1事先不知道有多少个说话人;
2不清楚说话人的ID;
3多人同时说话;
4不同语音的音频条件都不同。

语音会被划分为说话人组,语音非语音的片段或说话人转变等事件会被检测出来。在实际分离过程中,不需要知道说话人是谁。


话者分离常用的指标是分离错误率(Diarization Error Rate, DER)



最后,推荐阅读:

AI产品经理需要了解的语音交互评价指标

新手语音入门(三): 语音识别ASR算法初探 | 编码与解码 | 声学模型与语音模型 | 贝叶斯公式 | 音素-云社区-华为云

若有收获,就点个赞吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值